Gumtree Data Extractor
Pricing
from $6.99 / 1,000 results
Gumtree Data Extractor
Gumtree scraper that pulls listing titles, prices, locations, and URLs from search results, so you can track the UK classifieds market without doing it by hand.
Pricing
from $6.99 / 1,000 results
Rating
0.0
(0)
Developer
Kawsar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Gumtree Data Extractor scrapes Gumtree search results and returns the listing data as a structured dataset. Give it one or more keywords, optional locations, and optional categories, and it pulls titles, prices, seller locations, post age, delivery flags, trade seller status, featured placement, and a direct URL for every result across as many pages as you need.
You can run a single search or batch dozens of keyword/location/category combinations in one go. Each combination is scraped independently up to a configurable item limit, so you always know exactly which search produced each row.
Output goes straight to the Apify dataset. Download as JSON, CSV, or Excel, or connect it to Google Sheets, a database, or any BI tool via the Apify API.
How multiple inputs work
The actor accepts single values or lists for search queries, locations, and categories. It builds every combination and scrapes each one separately.
Example: 3 queries x 2 locations x 1 category = 6 separate searches, each returning up to your configured max items.
searchQueries: ["laptop", "macbook", "gaming pc"]locations: ["london", "manchester"]categories: ["laptops"]→ laptop + london + laptops→ laptop + manchester + laptops→ macbook + london + laptops→ macbook + manchester + laptops→ gaming pc + london + laptops→ gaming pc + manchester + laptops
Every result row includes searchKeyword, searchLocation, and searchCategory fields so you can filter by combination in your spreadsheet or database.
What it collects
| Field | Type | Description |
|---|---|---|
| listingId | integer | Unique Gumtree listing ID |
| listingTitle | string | Listing title as shown on Gumtree |
| price | integer | Price in GBP (0 = free) |
| pricePennies | integer | Price in pence for precision |
| location | string | Seller location, e.g. "Salford, Manchester" |
| ageDays | integer | Days since the listing was posted |
| isTrade | boolean | True if the seller is a business/trade account |
| isFeatured | boolean | True if the listing has paid featured placement |
| isDelivery | boolean | True if the seller offers delivery |
| isGBGVerified | boolean | True if the seller passed GBG identity verification |
| categoryId | integer | Numeric Gumtree category ID |
| numberOfImages | integer | Number of photos attached to the listing |
| hasVideo | boolean | True if the listing includes a video |
| position | integer | Zero-based position in the search results |
| recallSource | string | How Gumtree ranked the result (absent for featured listings) |
| listingUrl | string | Full URL to the listing page |
| searchKeyword | string | Keyword used for this search |
| searchLocation | string | Location slug used (empty = all UK) |
| searchCategory | string | Category slug used (empty = all categories) |
| totalResults | integer | Total results Gumtree reports for this search |
| pageNumber | integer | Page number this listing was collected from |
| scrapedAt | string | ISO 8601 UTC timestamp |
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| searchQueries | string list | yes | One or more keywords. Each runs as a separate search. | |
| locations | string list | no | Location slugs to filter by (e.g. london, manchester). Leave empty for all UK. | |
| categories | string list | no | Category slugs to narrow results (e.g. laptops, cars). Leave empty for all categories. | |
| maxItemsPerQuery | integer | no | 50 | Max listings per query/location/category combination. The actor pages automatically until this limit is reached. Max 500. |
| requestTimeoutSecs | integer | no | 30 | Per-request timeout in seconds. |
At least one of searchQuery or searchQueries is required.
Example input — single search
{"searchQueries": ["gaming chair"],"locations": ["london"],"categories": ["furniture-storage"],"maxItemsPerQuery": 90}
Example input — batch search
{"searchQueries": ["laptop", "macbook pro", "gaming pc"],"locations": ["london", "manchester", "birmingham"],"categories": ["laptops"],"maxItemsPerQuery": 50}
This produces 9 combinations (3 queries x 3 locations x 1 category), up to 50 items each, for a maximum of 450 rows. The actor pages automatically through Gumtree results until each limit is filled.
Example output
{"listingId": 1513777639,"listingTitle": "Adjustable gaming chair, great condition","price": 45,"pricePennies": 4500,"location": "Salford, Manchester","ageDays": 0,"isTrade": false,"isFeatured": false,"isDelivery": false,"isGBGVerified": false,"categoryId": 712,"numberOfImages": 3,"hasVideo": false,"position": 5,"recallSource": "primary,queryRewrite","listingUrl": "https://www.gumtree.com/p/chairs/adjustable-gaming-chair-great-condition/1513777639","searchKeyword": "gaming chair","searchLocation": "london","searchCategory": "furniture-storage","totalResults": 842,"pageNumber": 1,"scrapedAt": "2025-05-18T10:23:44.123456+00:00"}
Location slugs
Find the location slug in the Gumtree URL when you filter by area. Common examples:
| Location | Slug |
|---|---|
| All UK | (leave blank) |
| London | london |
| Manchester | manchester |
| Birmingham | birmingham |
| Edinburgh | edinburgh |
| Glasgow | glasgow |
| Bristol | bristol |
| Leeds | leeds |
| Liverpool | liverpool |
| Sheffield | sheffield |
| Newcastle | newcastle |
| Nottingham | nottingham |
| Cardiff | cardiff |
| Brighton | brighton |
To find any location slug: go to gumtree.com, search for something, select your area, then copy the search_location value from the URL.
Category slugs
Find the category slug in the Gumtree URL when you browse a category. Common examples:
| Category | Slug |
|---|---|
| All categories | (leave blank) |
| Laptops | laptops |
| Desktop computers | desktop-pcs |
| Phones | phones-mobile-phones |
| Tablets | tablets-ebooks-readers |
| Cars | cars-vans |
| Bicycles | bikes-bicycles |
| Furniture | furniture-storage |
| Clothing | clothes |
| Gaming | video-games-consoles |
| TVs | televisions |
| Cameras | cameras |
| Books | books |
| Tools | tools-diy |
| Jobs | jobs |
To find any category slug: go to gumtree.com, browse a category, then copy the path segment after gumtree.com/ in the URL.
Use cases
- Price monitoring — track asking prices for any product across the UK or in specific cities over time. Schedule the actor daily or weekly to build a price history.
- Competitor research — see what trade sellers in your category are listing, at what prices, and how often.
- Lead generation — filter by
isTrade: trueto find business sellers in specific categories for outreach. - SEO research — study listing titles, keyword patterns, and positioning used by high-performing sellers.
- Market analysis — compare supply and demand across regions. Use
totalResultsto gauge category depth. - Inventory sourcing — find underpriced items by filtering
isFeatured: falseandageDays: 0. - Academic research — collect secondhand market data for consumer behaviour or pricing studies.
Scheduling
To keep your data fresh, schedule the actor in Apify Console:
- Open the actor and click Schedules
- Set a cron expression (e.g.
0 8 * * *for every day at 8am) - The dataset will append new results each run
Useful cron intervals:
| Interval | Cron |
|---|---|
| Every day at 8am | 0 8 * * * |
| Every Monday at 9am | 0 9 * * 1 |
| Every 6 hours | 0 */6 * * * |
| Every hour | 0 * * * * |
Notes
- Gumtree is UK only. All prices are in GBP.
- Featured listings always appear first regardless of sort order.
- The
recallSourcefield is absent for featured listings. - A price of 0 means the item is listed as free.
- Each search page returns up to 33 listings. The actor pages automatically until
maxItemsPerQueryis reached or Gumtree has no more pages. - The
ageDaysfield is 0 for listings posted today. isTrade: truemeans the seller is a registered business account.isTrade: falseis a private individual.isGBGVerifiedmeans the seller has passed a GBG identity check (a Gumtree trust feature).- Duplicate listings across combinations are not automatically removed. Use
listingIdto deduplicate in your spreadsheet if needed.
FAQ
How do I find the right location or category slug?
Browse Gumtree normally, apply the filter you want, then look at the URL. The search_location and search_category parameters are the slugs to use.
Why does the output have more rows than maxItemsPerQuery?
maxItemsPerQuery applies per combination. If you have multiple queries or locations, total rows = combinations x maxItemsPerQuery.
Are duplicates possible?
Yes, if the same listing appears in multiple search combinations (e.g. it matches both "laptop" and "macbook" searches). Use listingId to deduplicate.
Can I scrape individual listing pages for full descriptions?
This actor collects search result data only. Each result includes a listingUrl you can use to scrape the listing detail page separately.
What does recallSource mean?
It is how Gumtree's ranking algorithm categorised the result: primary means a direct keyword match, entity means a brand/model match, payShipping means a delivery listing recalled into local results, and queryRewrite means Gumtree broadened the search.