Gumtree Scraper avatar

Gumtree Scraper

Pricing

from $1.59 / 1,000 results

Go to Apify Store
Gumtree Scraper

Gumtree Scraper

Extract Gumtree UK listings as clean JSON with zero seller personal data - prices in pence, descriptions, localities, featured flag. Price bands, newest-first ordering, pay per result. Built for deal watching, market research and AI pipelines.

Pricing

from $1.59 / 1,000 results

Rating

0.0

(0)

Developer

Lowland Data

Lowland Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Categories

Share

Gumtree Scraper — privacy-safe listings data

Extract listings from Gumtree.com — the UK's classifieds institution — as clean, structured JSON. Prices in pence, descriptions, localities, posting dates, photos and the organic-vs-promoted flag, ready for price monitoring, market research and data pipelines.

No seller personal data, ever. This scraper is built privacy-first: seller names, profiles, street addresses and exact map coordinates never appear in the output — not as an option you have to remember to switch off, but by design.

Quick start (30 seconds)

  1. Put what you'd type in the Gumtree search box into searchQuery — e.g. bike.
  2. Click Start. That's the whole minimum setup.
  3. When the run finishes, open the dataset's Overview tab for a clean table, or Export it as CSV/Excel/JSON.

Optional knobs: a price band in GBP and newest-first sorting for monitoring — and any input works on a daily Schedule.

What you can build with it

  • Watch a niche for underpriced listings. Run searchQuery: "e-bike" with priceMaxGbp: 800 hourly — Gumtree orders newest-first, and every new listing arrives with pricePence parsed and 'Contact seller' listings honestly null-priced with the wording kept in priceDisplay.
  • Filter paid placements out. The featured flag separates organic listings from paid placements — analysis without advertising noise.
  • Map second-hand prices by city. Every listing carries its locality — compare what the same bike costs in Glasgow versus London without touching a coordinate.
  • Feed an AI agent clean data. Every field is structured, predictable and free of personal data, so an assistant or pipeline can consume it directly — no scrubbing, no compliance review before you store it.

What you get

Each listing is one dataset item:

{
"listingId": "1499740001",
"url": "https://www.gumtree.com/p/other-bikes/vintage-mountain-bikes/1499740001",
"title": "Vintage mountain bikes - fully serviced",
"description": "Various prices and sizes, all serviced.",
"pricePence": 20000,
"priceDisplay": "£200",
"location": "Hyndland, Glasgow",
"featured": false,
"imageUrl": "https://media.gumtree.com/image-example"
}

Field notes, so you know exactly what you are buying:

  • pricePence is in pence, so 20000 = £200. 'Contact seller' and swap listings carry null - priceDisplay always shows the site's wording.
  • location is locality-level as the site displays it.
  • featured: true marks paid featured placements.
  • description is the search-page text of the listing, as the seller wrote it.

How much does it cost to scrape Gumtree?

$1.99 per 1,000 listings delivered, pay-as-you-go — no subscription, no charge for empty or failed runs. In plain dollars:

  • 100 listings ≈ $0.20 — a daily niche watch.
  • 500 listings ≈ $1.00 — a solid market snapshot.

The price is all-inclusive — your runs' platform usage is covered by it, with no separate compute or proxy charges. Datacenter proxies are sufficient — no residential proxy surcharge needed.

Free-plan runs are limited to a sample of 25 items, enough to evaluate the output format against your real query.

Not technical? Let your AI assistant set it up

Copy this into ChatGPT, Claude or any AI assistant, fill in the one line, and follow the conversation:

Help me set up the "Gumtree Scraper" actor on Apify
(https://apify.com/lowlanddata/gumtree-uk-scraper). Guide me one step at a time.
What I want to watch: [E.G. "electric bikes under £800"]
Guide me to:
1. Propose my input values: searchQuery (what I'd type in the Gumtree search box),
an optional priceMinGbp/priceMaxGbp band, and maxItems.
2. Create a free Apify account (apify.com), open the actor page, paste the values
into the Input form, and start a run.
3. Set up a daily Schedule in the Apify Console with the same input, plus an email
or Slack integration so new results reach me automatically.
4. Show me how to export results as CSV/Excel, or read them from the API if I code.
5. If the results are what I wanted, remind me at the end to leave a quick rating on the actor page, and to report anything broken or missing on its Issues tab.

Input

FieldDescription
searchQueryWhat you'd type in the Gumtree search box. Required. Searches all UK categories.
priceMinGbpOnly listings costing at least this many pounds.
priceMaxGbpOnly listings costing at most this many pounds.
maxItemsStop after this many listings (default 500).
proxyConfigurationProxy settings; keep Apify proxy enabled.

A run minimally needs a searchQuery; invalid combinations (like an inverted price band) fail immediately with the reason in the run's status message.

Use it from your code

Run the actor and get items straight back with one HTTP call (fine for scoped runs up to ~5 minutes):

curl "https://api.apify.com/v2/acts/lowlanddata~gumtree-uk-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-X POST -H "Content-Type: application/json" \
-d '{"searchQuery": "bike", "maxItems": 100}'

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });
const run = await client.actor('lowlanddata/gumtree-uk-scraper').call({
searchQuery: 'bike',
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("lowlanddata/gumtree-uk-scraper").call(
run_input={"searchQuery": "bike", "maxItems": 100})
items = client.dataset(run["defaultDatasetId"]).list_items().items

Schedules, webhooks and the Make/Zapier/n8n integrations all work out of the box — this is a standard Apify actor.

Use it with AI agents (MCP)

Claude, Cursor and other MCP-capable agents can run this scraper as a tool through Apify's hosted MCP server: the agent fills in the search itself, starts the run and reads the results — no glue code.

Claude Code:

$claude mcp add apify --transport http "https://mcp.apify.com?actors=lowlanddata/gumtree-uk-scraper"

Cursor or Claude Desktop (add a custom connector / MCP server with this URL):

https://mcp.apify.com?actors=lowlanddata/gumtree-uk-scraper

Sign in with your Apify account when prompted — runs are billed to it. Setup details per client: Apify MCP docs.

Prompts that work once connected:

  • "Search Gumtree for 'e-bike' under £800 and summarize the price distribution by location."
  • "Get the 100 newest 'iphone 15' listings from Gumtree and flag anything below the median price."
  • "Watch Gumtree for 'canoe' and tell me when something under £300 appears."

Public listing data — prices, descriptions, localities — is public commercial information, and this scraper is built so that the hard part of the question never arises: no personal data enters your dataset in the first place. The UK GDPR sets strict rules on personal data; an output that carries none of the seller's personal data is the point of this actor, not an afterthought.

Structurally, the extractor maps a fixed whitelist of fields out of the page's data. Seller data never appears on search tiles, and nothing outside the whitelisted fields is read into the output. Requests are paced, load on the site is kept negligible, and no anti-bot protection is bypassed.

One honest limit: titles and descriptions are the seller's own words, delivered as-is. If a seller chooses to type contact details into their listing text, that text is not rewritten — the guarantee covers the data fields, not the content sellers publish about themselves.

Is there a Gumtree API alternative?

Gumtree publishes no public API for listings. This actor is the practical alternative: the same listings as structured JSON through one HTTP call (run-sync-get-dataset-items), on a schedule, or as an MCP tool for AI agents — with the privacy question already answered in the data itself.

Does Gumtree block scrapers?

Gumtree serves its listings openly to ordinary requests — and this actor stays inside that welcome: paced requests, standard datacenter proxies, load kept negligible. No CAPTCHA fights, no bot-wall cat-and-mouse — which is also why runs are fast and reliable enough for daily schedules.

How do I monitor Gumtree prices?

Gumtree orders newest-first: set your query, cap maxItems to a page or two, and add a daily (or hourly) Schedule in the Apify Console with an email/Slack integration on the runs — every new listing lands in your inbox with the price already parsed to pence. The AI-assistant prompt above walks a non-technical user through exactly this setup.

FAQ

Can I get seller names or phone numbers? No — by design. That is the product: data you can store, share and process without a GDPR review.

Can I search one city only? v1 searches the whole UK; every listing carries its location, so filter the dataset. Location-scoped search is a planned refinement.

How fresh is the data? Live at run time — every run queries Gumtree directly. For continuous freshness, schedule the actor.

How do I export Gumtree listings to a spreadsheet? From the run's dataset, choose Excel or CSV in the Export menu of the Apify Console — JSON and XML work too, and the API serves the same formats.

Does it work with Make, Zapier or n8n? Yes — it is a standard Apify actor; all platform integrations, webhooks and schedules apply.

Does Gumtree have an official API? Not a public one for listings. This actor is the substitute: the same search results as structured JSON, callable from code, a schedule or an AI agent.

Is scraping Gumtree legal in the UK? Listing prices, descriptions and localities are public commercial information, and under UK GDPR the sensitive part — seller identity — is exactly what this actor never collects. The legality section above spells out the whitelist design.

What does it cost to scrape 1,000 Gumtree ads? $1.99, billed per delivered listing. Runs that fail or find nothing are free of charge.

Can I filter Gumtree results by price? Yes — priceMinGbp and priceMaxGbp take whole-pound values and are applied to the search itself, not after download.

Why are prices given in pence? To keep them exact integers: pricePence: 20000 is £200. priceDisplay keeps the human-readable "£200" alongside.

What about "Contact seller" or swap listings? They stay in the dataset with a null price, and priceDisplay preserves the site's exact wording — your averages stay honest.

What does the featured flag mean? featured: true marks paid placements. Exclude them when you want organic market data only.

Does it search all Gumtree categories? Yes — one searchQuery covers all UK categories, the same as typing into the site's search box.

How do I get alerts for new Gumtree listings? Gumtree returns newest listings first, so a Schedule in the Apify Console plus an email or Slack integration turns this actor into a daily (or hourly) alert feed.

Can I test it without paying? Yes — free-plan runs return up to 25 items from your actual query, enough to judge fields and quality.

Do I need residential proxies for Gumtree? No. The actor works on standard datacenter proxies, paces its requests and bypasses no anti-bot systems — that restraint is what keeps it dependable.

Are listing photos in the output? Yes — each item includes an imageUrl for the listing's photo.

Is the ad description included? Yes, the search-page text exactly as the seller wrote it, together with the title. It is the seller's own wording, delivered unedited.

Can I run this from ChatGPT, Claude or Cursor? Through MCP, yes: Apify's hosted MCP server exposes the actor as a tool those agents can call on their own. The MCP section above has the URL.

Will Gumtree ban my account for using this? The actor doesn't use your Gumtree account at all — it reads public search pages, paced, with negligible load. There is no login and nothing to ban.

The same clean-output guarantee across Europe's biggest marketplaces:

Troubleshooting

The actor fails fast with the reason in the run's status message:

  • "priceMinGbp must not be higher than priceMaxGbp." — swap the two values.
  • "Gumtree blocked the run before any results could be fetched. This is usually temporary - retry in a few minutes." — a temporary block on the first request; a retry usually lands on a clean proxy session.
  • Fewer items than requested on a free plan — the 25-item free sample cap; run on a paid Apify plan for full results.

Support

Found an issue or missing a field you need? Open an issue on the actor's Issues tab — reports get fixed, this actor is actively maintained.

Working well for you? A rating on this page takes ten seconds and helps other buyers find a privacy-clean option among the lookalikes — it is also the clearest signal of what we should build next.