Gumtree Search API
Scrape Gumtree Search data with one API call. Returns Gumtree UK classifieds matching a keyword, about 22 per page, each with ad id, title, price in GBP, location, category, seller type (private or trade), image, and listing URL. Pass a gumtree.com/search URL as url to replay an existing web search (location slugs default to a 15-mile radius unless the URL carries a distance). Price, seller_type, and attributes filters only apply when category_id is also set. Paginate with page or the universal cursor until hasNextPage is false. Feed a returned ad id into GET /v1/gumtree/product for the full listing.
Last updated September 2026Maintained by the SocialCrawl team
Returns Gumtree UK classifieds matching a keyword or a gumtree.com/search URL, about 22 per page, each with ad id, title, GBP price, location, category, seller type, and listing URL.
Use it to find UK second-hand, vehicle, or property ads by keyword. Feed a returned ad id into product for the full listing.
Searching 60 platforms in parallel
What can you do with the Search API?
The Search endpoint gives you structured Gumtree data with computed fields in a single request. No scraping infrastructure to build or maintain.
Example Request
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/gumtree/search"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/gumtree/search",
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/gumtree/search",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| query | No | Free-text listing search, for example iphone or golf mk7 diesel. |
| url | No | A Gumtree web search URL, for example https://www.gumtree.com/search?q=iphone&search_location=london. Keyword, category, location, and price filters on the URL are parsed server-side. |
| page | No | Page number, starting at 1. Prefer the universal cursor parameter. |
| sort_by | No | Result ordering: relevance (default), newest, price_low, or price_high. (relevance | newest | price_low | price_high) |
| category_id | No | Gumtree category id or SEO slug from GET /v1/gumtree/categories or search/suggestions. Required for price, seller_type, and attributes filters to take effect. |
| location_id | No | Gumtree location id from GET /v1/gumtree/locations or locations/nearest. |
| distance | No | Search radius in miles around location_id. Ignored without a location_id. nationwide searches the whole UK. (0 | 1 | 3 | 5 | 10 | 15 | 30 | 50 | 75 | 100 | 150 | 250 | 500 | nationwide) |
| min_price | No | Lowest asking price in GBP. Requires category_id. Filter on product.price.current if you need a hard bound. |
| max_price | No | Highest asking price in GBP. Requires category_id. |
| seller_type | No | Restrict to private (individual) or trade (dealer) sellers. Requires category_id. (private | trade) |
| attributes | No | Category-specific filters as comma-separated name:value pairs from GET /v1/gumtree/filters, for example common_for_sale_condition:new,vehicle_make:audi. Requires category_id. |
How does the Gumtree Search API work?
Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.
Method
GET
Response
JSON
How do you scrape social media data in seconds?
The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 60 platforms covering 10B+ monthly active users.
One schema, every platform
Query 60 platforms with identical response structures. Write your integration once.
Computed fields, not just scraped
When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language. Ready to use.
See your data before you code
Visual Data Explorer. Paste any URL, get rich result cards, sortable tables, CSV export.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}Ready to scrape Gumtree Search data?
Get your API key and start pulling Gumtree data in under 60 seconds.
