Gumtree UK Scraper
Gumtree is where the UK sells things secondhand, useful for pricing stock or checking a rival's asking prices.
Gumtree is where the UK sells things secondhand, useful for pricing stock or checking a rival's asking prices. Rows carry price in pence, description, locality and an organic-vs-paid-placement flag; 'contact seller' items keep a null price rather than a guess. No seller data collected.
$1.99 / 1,000 · 89.3% success over 28 public runs in the last 30 days.
Run it on Apify → Free to try - runs bill per result on your own account.
What you give it
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
searchQuery |
string | What to search for on Gumtree, exactly as you would type it in the site's search box, e.g. "bike" or "iphone 15". Searches all UK categories. | bike |
priceMinGbp |
integer | Only include listings costing at least this many pounds. | - |
priceMaxGbp |
integer | Only include listings costing at most this many pounds. | - |
maxItems |
integer | Stop after this many listings. Free-plan runs are capped at 5 items. The form starts at 25 for a cheap first run - that is the form's prefill, not a cap on your plan; clear it to use the default of 500. | 500 |
scrapeDetails |
boolean | The search results carry only a short description snippet from the listing tile. Turn this on to read each listing's own page for the seller's full description. This makes one extra request per listing, so a run is slower and costs one more page fetch each. The seller-contact block (the reveal-number and seller sections) is never read; only the description text reaches the output. Leave off for a fast search-only sweep. | False |
reportFailures |
boolean | When a run fails, send the developer the actor name and build, an error category, the error message (truncated) and a one-way hash of your input - so a bug can be fixed without anyone asking you to reproduce it. Your input itself, your results and your identity are never sent, and successful runs send nothing at all. Switch this off and the actor behaves exactly the same. | True |
What you get back
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
A real result row from a recent run:
{
"description": ".css-ifrxa0-listing-tile-v-2023{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:22px;min-he...",
"featured": true,
"imageUrl": "https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/40f84c6bd5b8453098_83e9fa57c948/86",
"listingId": "1802694485",
"location": "Murrayfield, Edinburgh",
"priceDisplay": "£280",
"pricePence": 28000,
"title": "Kids front suspension bike in great condition",
"url": "https://www.gumtree.com/p/other-bikes/kids-front-suspension-bike-in-great-condition-/1802694485"
}
| Field | Type | Meaning |
|---|---|---|
listingId |
string | Gumtree listing ID. |
url |
string | Direct link to the listing. |
title |
string | Listing title as posted. |
description |
string | Listing description. The short search-tile snippet by default, or the seller's full free-text description when Fetch full descriptions is on (read from the listing's own page; the seller-contact block is never read). |
pricePence |
['integer', 'null'] | Asking price in pence. Null for 'Contact seller' or swap listings - see priceDisplay. |
priceDisplay |
string | The price exactly as Gumtree displays it, e.g. '£200' or 'Contact seller'. |
location |
string | Listing locality as displayed, e.g. 'Hyndland, Glasgow'. |
featured |
boolean | Whether the listing is a paid featured placement. |
imageUrl |
string | Listing thumbnail. |
Health
89.3% success over 28 public runs in the last 30 days. Live record, failures included: status page.
Full documentation, examples and the AI-assistant prompt live on the store page.