Gumtree API & Scraper
The Gumtree UK API returns classifieds listings from one of the UK's largest classifieds sites as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary search endpoint returns items with id, title, price, URL, location, images, posted date, seller type and attributes, and you can pull a listing_detail, similar ads, categories, filters and suggestions. It is built for price intelligence, resale tools and UK classifieds analytics that need Gumtree data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.
Gumtree UK category slugs that search actually accepts
The category parameter takes a Gumtree slug, but not every slug shape works. The seven top-level trees work as written, and so do bare leaf slugs such as cars or property-to-rent. The path form that the categories action prints for sub-categories (cars-vans-motorbikes/cars) gets URL-encoded into the query string and Gumtree answers it with a 404. Counts below are live ad totals for the London area, measured 2026-08-27.
| Slug | Tree | Ads in London | Notes |
|---|---|---|---|
| for-sale | For Sale | 222,219 | Largest tree; leaf slug baby-kids-stuff returned 17,857 |
| business-services | Services | 28,130 | Trade-heavy; seller_type is populated here |
| cars-vans-motorbikes | Motors | 22,433 | Leaf slug cars returned 9,451, motors-parts 5,302 |
| flats-houses | Property | 15,546 | Leaf slug property-to-rent returned 4,974 |
| jobs | Jobs | 10,382 | seller_type came back null on all 30 rows sampled |
| pets | Pets | 1,797 | Leaf slug dogs returned 131 |
| community | Community | 504 | Smallest tree |
Sub-category slugs in path form (for-sale/baby-kids-stuff, pets/pets-for-sale/dogs) return NOT_FOUND with the upstream 404 URL in the message. Use the leaf slug on its own, or read the exact slugs Gumtree will accept, with live counts, from the filters action: for Motors in London it returned cars 9,450, motors-parts 5,302, motors-accessories 4,649, vans 1,366, motorbikes-scooters 1,313 and other-vehicles 243.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/gumtree/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"market": "uk",
"category": "cars-vans-motorbikes",
"location": "london",
"max_pages": 1
}
}{
"ok": true,
"meta": {
"api": "gumtree",
"endpoint": "search",
"mode": "live",
"latency_ms": 842.1,
"record_count": 30,
"bytes": 909381,
"cache_hit": false,
"completeness_pct": 98.89,
"stop_reason": "max_pages",
"market": "uk",
"charged_credits": 1,
"version": "2.0.0"
},
"data": {
"items": [
{
"id": 1515098283,
"title": "2012 Mercedes-Benz C Class 1.6 C180 BlueEfficiency Executive SE Saloon 4dr Petrol G-Tronic+ Euro ...",
"price": "£6,488.00",
"price_amount": 6488,
"price_currency": "GBP",
"url": "https://www.gumtree.com/p/mercedes-benz/2012-mercedes-benz-c-class-1.6-c180-blueefficiency-executive-se-saloon-4dr-petrol-g-tronic-euro-.../1515098283",
"location": "Romford, London",
"item_type": "Car",
"category_id": 10313,
"l1_category_id": 2551,
"l2_category_id": 9311,
"posted_date": "1 hour ago",
"posted_timestamp": 1790193016850,
"image_url": "https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/8c05860bee8e49f2ad_abf93f7434a4/86",
"images": [
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/8c05860bee8e49f2ad_abf93f7434a4/86",
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/5c1db4a9e0ca440484_c86b1ac43181/86",
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/ccdbc3e539484fe298_c2ec04e7c50a/86"
],
"num_images": 48,
"has_video": true,
"seller_type": "Trade",
"short_description": "\nIntroducing the exquisite Mercedes-Benz C Class 1.6 C180 BlueEfficiency Executive SE Saloon. With only 48338 miles on the clock, this stunning vehicle is the epitome of luxury and style.Finished in a sleek Blue exterior, this Mercedes-Benz C Class e",
"distance": "14 miles",
"featured": true,
"urgent": false,
"premium": false,
"favourite_count": 8,
"attributes": [
{
"name": "[trimmed-depth]",
"value": "[trimmed-depth]",
"key": "[trimmed-depth]",
"vipOrder": "[trimmed-depth]",
"unit": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]",
"value": "[trimmed-depth]",
"key": "[trimmed-depth]",
"vipOrder": "[trimmed-depth]",
"unit": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]",
"value": "[trimmed-depth]",
"key": "[trimmed-depth]",
"vipOrder": "[trimmed-depth]",
"unit": "[trimmed-depth]"
}
]
},
{
"id": 1800603786,
"title": "Mazda, 3, Hatchback, 2007, Semi-Auto, 1598 (cc), 5 doors",
"price": "£1,200.00",
"price_amount": 1200,
"price_currency": "GBP",
"url": "https://www.gumtree.com/p/mazda/mazda-3-hatchback-2007-semi-auto-1598-cc-5-doors/1800603786",
"location": "Willesden Green, London",
"item_type": "Car",
"category_id": 10312,
"l1_category_id": 2551,
"l2_category_id": 9311,
"posted_date": "8 days ago",
"posted_timestamp": 1789480726703,
"image_url": "https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/61b39330900d46d7a6_fddd8aedaf7b/86",
"images": [
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/61b39330900d46d7a6_fddd8aedaf7b/86",
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/29146f0bcc5e499681_1f9da0dd8a28/86",
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/a55def5bd2684a9688_ce7b1d610b1f/86"
],
"num_images": 10,
"has_video": false,
"seller_type": "Private",
"short_description": "Lovely little runner\n\n\n\nRuns and drives very smoothly no jumps or jolts. \n\nGearbox and engine is good.\n\n124k miles but interior is clean and A/C works and gives pristine cool air.\n\nBrand new rear brake discs and all four brake pads. \n\nDoesn’t need an",
"distance": "6 miles",
"featured": true,
"urgent": false,
"premium": false,
"favourite_count": 3,
"attributes": [
{
"name": "[trimmed-depth]",
"value": "[trimmed-depth]",
"key": "[trimmed-depth]",
"vipOrder": "[trimmed-depth]",
"unit": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]",
"value": "[trimmed-depth]",
"key": "[trimmed-depth]",
"vipOrder": "[trimmed-depth]",
"unit": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]",
"value": "[trimmed-depth]",
"key": "[trimmed-depth]",
"vipOrder": "[trimmed-depth]",
"unit": "[trimmed-depth]"
}
]
},
{
"id": 1801479048,
"title": "Volkswagen, POLO, Hatchback, 2017, Semi-Auto, 1197 (cc), 5 doors",
"price": "£9,495.00",
"price_amount": 9495,
"price_currency": "GBP",
"url": "https://www.gumtree.com/p/volkswagen/volkswagen-polo-hatchback-2017-semi-auto-1197-cc-5-doors/1801479048",
"location": "Barnet, London",
"item_type": "Car",
"category_id": 10323,
"l1_category_id": 2551,
"l2_category_id": 9311,
"posted_date": "9 days ago",
"posted_timestamp": 1789398437365,
"image_url": "https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/19aba0136a8c47b4ba_b48a098004c3/86",
"images": [
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/19aba0136a8c47b4ba_b48a098004c3/86",
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/8b6ed8d95eeb4c3eba_206d0941d344/86",
"https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/110af2c0999a4c32a5_d1e8aa678c4f/86"
],
"num_images": 17,
"has_video": false,
"seller_type": "Private",
"short_description": "Volkswagen Polo 1.2 TSI – Great First Car – Cheap to Insure\n\nFor sale Volkswagen Polo 1.2 TSI. It’s a great car that’s cheap to insure, making it an ideal first car or daily driver.\n\nFeatures & Modifications:\n\n* Stage 1 ECU remap\n* TCU gearbox remap\n",
"distance": "10 miles",
"featured": true,
"urgent": false,
"premium": false,
"favourite_count": 3,
"attributes": [
{
"name": "[trimmed-depth]",
"value": "[trimmed-depth]",
"key": "[trimmed-depth]",
"vipOrder": "[trimmed-depth]",
"unit": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]",
"value": "[trimmed-depth]",
"key": "[trimmed-depth]",
"vipOrder": "[trimmed-depth]",
"unit": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]",
"value": "[trimmed-depth]",
"key": "[trimmed-depth]",
"vipOrder": "[trimmed-depth]",
"unit": "[trimmed-depth]"
}
]
}
],
"count": 30,
"market": "uk",
"query": {
"q": null,
"location": "london",
"category": "cars-vans-motorbikes",
"sort": "date",
"min_price": null,
"max_price": null,
"distance": null,
"seller_type": null,
"url": null
},
"result_count": 22551,
"result_count_display": "22,551",
"pages_fetched": 1,
"total_pages": 50,
"location_title": "London",
"stop_reason": "max_pages",
"result_cap_hit": true,
"result_cap_note": "Gumtree paginates at most ~50 pages × 30 = ~1,500 ads/query. result_count is the true market total; split by sub-category/location/price to harvest beyond the cap.",
"source_layer": "clientData"
}
}What the Gumtree API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Gumtree UK adverts and return paginated listing cards — title, price, location, posted date, images, seller type and attributes. Filter by keyword, area/postcode, category slug, price range, search radius and seller type; sort by newest, price or distance. Fetches up to 50 pages (~1,500 adverts) per call with automatic de-duplication, or pass a full Gumtree search URL. | Pricing teams call search to search Gumtree UK adverts and. | market, query, location, category, url, ... |
| listing_detail | Full advert detail by listing `url` OR numeric `id`: title, full description, price, all photos, every attribute (mileage, year, bedrooms, condition…), map coordinates, location/postcode, category breadcrumbs and the public seller profile (display name, rating, total adverts, ads per category, member-since). | Marketplace operators call listing_detail to get full advert detail by listing `url` OR numeric `id`. | market, url, id, include_pii |
| similar | Related / similar adverts for a given listing (by `url` or `id`) — Gumtree's own 'you might also like' recommendations as clean listing cards. | Catalog enrichment teams call similar to get related / similar adverts for a given listing (by `url` or `id`). | market, url, id, include_pii |
| categories | Gumtree's full browse tree — the top-level categories (Motors, For Sale, Property, Jobs, Pets, Services, Community) and their sub-categories with slugs and paths. Use the slugs as the `category` parameter of search / filters. | Retail analysts call categories to get gumtree's full browse tree. | market |
| filters | Available filters & facets for a category and/or location: selectable sub-categories (with live advert counts), area / postcode facets (with counts), sort options, search-radius options and the price filter. Lets a caller discover valid category slugs, location values and result sizes before searching. | Pricing teams call filters to get available filters & facets for a category and/or location. | market, category, location, query |
| suggestions | Keyword suggestions & spelling corrections for a search term — Gumtree's 'did you mean' / related-keyword surface, useful for query expansion and autocomplete-style discovery. | Marketplace operators call suggestions to get keyword suggestions & spelling corrections for a search term. | query, market, location, category |
Call search from your stack
curl -X POST https://api.reefapi.com/gumtree/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"market":"uk","category":"cars-vans-motorbikes","location":"london","max_pages":1}'import requests
r = requests.post(
"https://api.reefapi.com/gumtree/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"market": "uk",
"category": "cars-vans-motorbikes",
"location": "london",
"max_pages": 1
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/gumtree/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"market": "uk",
"category": "cars-vans-motorbikes",
"location": "london",
"max_pages": 1
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.gumtree.search with {"market":"uk","category":"cars-vans-motorbikes","location":"london","max_pages":1}.Who uses this API and why
- Price-intelligence teams call search to track second-hand prices across Gumtree categories.
- Resale and arbitrage tools use similar to find comparable listings for a product.
- Market analysts use categories and filters to size supply in a UK classifieds segment.
Questions developers ask before integrating
Does this cover Gumtree UK, Gumtree Australia, or both?
UK only. market defaults to uk (gumtree.com) and that is the marketplace every action reads. Passing market=au returns a typed MARKET_UNAVAILABLE error rather than an empty list, because gumtree.com.au serves a bare 403 to non-Australian connections. Every price therefore comes back with price_currency GBP.
Is the Gumtree price a number or free text?
Both, in two separate fields. price is Gumtree's own formatted string, for example £2,500.00, and price_amount is the parsed float 2500.0. Ads with no price return price as an empty string and price_amount as null, which is the normal case in Jobs: every row in a Manchester jobs search came back that way. Filter on price_amount, display price.
What does a Gumtree ad id look like and where does it come from?
It is the digits at the end of an advert URL, for example 1801851557 in /p/toyota/toyota-prius-hatchback-2011.../1801851557. search returns it as an integer in items[].id, while listing_detail and similar take it as a string in id. Ids are not zoned by category: a Motors ad measured 1801851557 and a Jobs ad 5418826988, both ten digits.
Can I tell a private seller from a dealer?
In Motors and For Sale, yes: seller_type comes back as Private or Trade on each card, and the seller_type parameter narrows to one of them. In Jobs it is null on every row, because Gumtree does not classify job posters that way. The seller_type filter still changes the result set there, so check the field rather than assuming the filter applied.
How deep can I page a Gumtree search?
About 1,500 ads per query. Gumtree serves roughly 30 ads per page and stops at 50 pages, so max_pages is capped at 50 and the response sets result_cap_hit true. result_count is Gumtree's own market total and is far larger than what you can page to: 22,433 for Motors in London against a 1,500-ad ceiling. Split by leaf category, area or price band to get past it.
What location values work, and how does the distance filter behave?
A town, an area or a postcode all resolve: london, manchester and SW1A were all accepted, and location_title echoes what Gumtree decided, for example SW1A - Within 5 miles. distance takes miles and needs location. The filters action returns the exact area facets with counts for your category, for example east-london 6,733 and north-west-london 5,627 under Motors, which is a more reliable way to slice a city than a radius.
How is this different from the autotrader or olx engines?
Gumtree is a general classifieds site, so one response mixes trees and the per-ad attributes[] array changes shape with the category. A car search row carried 40 attributes including vehicle_estimated_mileage 180256 and vehicle_cap_code, while a job row carried 12 including job_hours Part Time. autotrader is UK cars only and keeps mileage in badges; here it is an attribute you read by key. Gumtree also publishes a postcode and coordinates on listing_detail, HA98PB at 51.5711 / -0.294532 on the measured ad.
What does the seller block on listing_detail contain?
A public profile, not contact details. Measured on ad 1801851557: name salim, a hashed public_id, posting_since 15+ years, total_ads 10, ads_posted_last_year 5, last_active as an ISO timestamp, and ads_by_category counting Motors 5, For Sale 2, Property 2 and Services 1. Phone and email that sellers paste into free text are redacted unless you set include_pii true; the display name is always kept.
What is the Gumtree API?
Gumtree API is a ReefAPI endpoint group for uk classifieds listings with full details. It returns live JSON through POST requests under /gumtree/v1.
Is the Gumtree API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Gumtree calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Gumtree login or account?
No login to Gumtree is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Gumtree data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Gumtree API use?
Gumtree actions currently cost 1 credit per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Gumtree from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call gumtree actions with the same key, credit pool and JSON envelope used by normal REST requests.