Gumtree Scraper (Cheap)
Pricing
from $3.99 / 1,000 results
Gumtree Scraper (Cheap)
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 $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Gumtree Listings Scraper

Watching the UK classifieds usually means refreshing Gumtree search pages and copying ad titles, prices, and locations by hand. This scraper does the legwork. Type in a keyword or two, and every matching ad comes back as a tidy row with the price, seller area, posting age, and link already split into fields you can drop into a spreadsheet. It runs fast, costs little, needs no code, and you pay only for the ads you pull.
What you get
Each ad comes back as one row, grouped into three kinds of data:
- The ad —
adId,adTitle,askingPrice,askingPricePence,adUrl,imageCount,videoIncluded - The seller and listing —
sellerArea,daysListed,tradeSeller,featuredAd,deliveryOffered,identityVerified,categoryCode - Search context —
queryTerm,queryArea,queryCategory,resultRank,rankingSource,matchesFound,resultPage,collectedAt
Quick start
- Hit Try for free and type your keywords into Search terms (one search runs per keyword).
- Optionally add Area slugs (like leeds) or Category slugs (like bicycles) to narrow things down.
- Set Results per query to cap how many ads you pull per combination.
- Press Start, then export the rows as JSON, CSV, Excel, or XML.

Use cases
- Price research — see what used gear, furniture, or vehicles actually sell for across the country
- Deal hunting — track new ads for a specific item and act before they're gone
- Reseller sourcing — find underpriced stock by keyword and area, then flip it
- Market analysis — measure supply and pricing by category, region, or trade-versus-private seller
- Lead building — collect trade sellers in a category to reach out to
Input
| Field | Type | Required | Description |
|---|---|---|---|
searchTerms | array of strings | Yes | Keywords to search; each one runs as its own search. Prefilled with road bike. |
areaSlugs | array of strings | No | Area slugs that filter by place (e.g. leeds). Leave empty for the whole UK. Each area pairs with every keyword. |
categorySlugs | array of strings | No | Category slugs that focus the search (e.g. bicycles). Leave empty for all categories. Each category pairs with every keyword and area. |
resultsPerQuery | integer | No | Ads to gather per keyword/area/category combination. Total = combinations × this. Default 40, max 500. |
timeoutSeconds | integer | No | Seconds to wait on each request before giving up. Default 45. |
Example input
{"searchTerms": ["road bike", "ps5", "office desk"],"areaSlugs": ["leeds", "bristol", "glasgow"],"categorySlugs": ["bicycles", "cars-vans-motorbikes", "video-games-consoles"],"resultsPerQuery": 25,"timeoutSeconds": 45}
Output
Every ad on the search results becomes one row, paginated automatically up to your per-query limit. Fields Gumtree does not publish for a given ad come back empty rather than guessed.
Example output
{"adId": 1487293045,"adTitle": "Carrera road bike, 56cm, recently serviced","askingPrice": 220,"askingPricePence": 22000,"sellerArea": "Headingley, Leeds","daysListed": 3,"tradeSeller": false,"featuredAd": false,"deliveryOffered": true,"identityVerified": true,"categoryCode": 2782,"imageCount": 6,"videoIncluded": false,"resultRank": 4,"rankingSource": "primary","adUrl": "https://www.gumtree.com/p/bicycles/carrera-road-bike-56cm-recently-serviced/1487293045","queryTerm": "road bike","queryArea": "leeds","queryCategory": "bicycles","matchesFound": 318,"resultPage": 1,"collectedAt": "2026-06-29T12:00:00.000000+00:00"}
Output fields
| Field | Type | Description |
|---|---|---|
adId | integer | Numeric identifier Gumtree assigns to the ad |
adTitle | string | Headline of the ad as shown on Gumtree |
askingPrice | integer | Price in pounds; 0 marks a free item |
askingPricePence | integer | Same price in pence for exact figures |
sellerArea | string | Where the seller is based, e.g. Salford, Manchester |
daysListed | integer | Days since the ad went up |
tradeSeller | boolean | True for a registered business or trade account |
featuredAd | boolean | True when the ad holds a paid featured slot |
deliveryOffered | boolean | True when the seller will ship or deliver |
identityVerified | boolean | True when the seller cleared GBG identity checks |
categoryCode | integer | Numeric code for the ad's category |
imageCount | integer | Number of photos on the ad |
videoIncluded | boolean | True when the ad carries a video link |
resultRank | integer | Zero-based slot the ad held in the results |
rankingSource | string | Why Gumtree surfaced the result (primary, entity, payShipping) |
adUrl | string | Full web address of the ad page |
queryTerm | string | Keyword that surfaced the ad |
queryArea | string | Area slug used; empty means the whole UK |
queryCategory | string | Category slug used; empty means all categories |
matchesFound | integer | Ads Gumtree reports for the search |
resultPage | integer | Results page the ad came from |
collectedAt | string | ISO 8601 UTC timestamp of capture |
Tips for best results
- Be specific with keywords. A tight term like
carrera road bikereturns cleaner, more relevant ads than a broad one likebike. - Start small. Set
resultsPerQueryto 25 for a test run, check the rows fit your pipeline, then raise it. - Watch the multiplication. Three keywords across three areas and three categories is 27 combinations, each pulling up to your limit, so the total adds up quickly.
- Use
queryAreaandqueryCategoryto split data. Every row records the search that produced it, so you can group and compare without keeping track yourself. - Raise
timeoutSecondsif requests start timing out on bigger pulls.
How can I use Gumtree listings data?
How can I use the Gumtree Listings Scraper to track second-hand prices?
Run your keywords on a schedule and keep the rows. Each one carries askingPrice, adTitle, sellerArea, and daysListed, so you can chart what items go for over time and spot when ads are sitting unsold.
How can I find underpriced items on Gumtree to resell?
Search a category by keyword, sort the export by askingPrice, and check daysListed and deliveryOffered to judge the deal. Pair sellerArea with tradeSeller to tell private bargains from business stock.
How can I build a UK classifieds dataset for market research?
Feed in several keywords, areas, and categories, set resultsPerQuery to the volume you need, and export to CSV or Excel. You get a structured ad database (title, price, area, category, seller type) ready to score or visualise.
How can I monitor a specific Gumtree category or area?
Add the matching categorySlugs and areaSlugs, then rerun whenever you want a fresh snapshot. Every row keeps queryCategory and queryArea so the data stays organised across runs.
Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Support
Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.