Gumtree Scraper — UK Listings, Prices and Images avatar

Gumtree Scraper — UK Listings, Prices and Images

Pricing

$1.50 / 1,000 listing returneds

Go to Apify Store
Gumtree Scraper — UK Listings, Prices and Images

Gumtree Scraper — UK Listings, Prices and Images

Gumtree scraper for UK classifieds: collect numeric GBP prices, images, locations, condition, seller IDs and posting dates. Search by keyword or paste a filtered Gumtree URL. Up to 1250 deduplicated listings per search, free items included.

Pricing

$1.50 / 1,000 listing returneds

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Gumtree Scraper

Gumtree scraper for UK classifieds: collect prices, images, locations, condition, seller identifiers and publication dates from gumtree.com to track second-hand prices, local supply and rental offers. Enter a keyword or paste a search URL, then export unique listings from the Apify dataset as JSON, CSV or Excel, or call the Actor as a Gumtree API from your own code.

What the Gumtree scraper collects

Each result is one public advertisement. The same listing appearing on several search pages is delivered once. Featured advertisements are included by default and can be excluded with include_featured.

The supported market is Gumtree UK at gumtree.com. Goods, vehicles, property and pets use the supported listing format. Australian, New Zealand and South African Gumtree sites are separate services. Jobs and services searches are outside the current scope. The Actor reports an input error when a supplied page is outside that scope.

Results describe the public search page at collection time. An asking price is what the advertiser requested, rather than evidence of a completed sale. A listing can change or disappear after collection. Keep listing_id and fetched_at when storing snapshots so repeated collections can be compared on the same identifier.

Use cases for Gumtree data

  • Resale pricing. Compare asking prices for used phones, consoles, bikes or furniture before you buy stock or set a price.
  • Market monitoring. Run the same search daily, sorted by date, and see which advertisements are new, repriced or gone.
  • Vehicle supply. Count local car and van advertisements per make, price band and seller type.
  • Rental analysis. Collect monthly asking rents with their payment period and postcode district for a town or area.
  • Trade versus private sellers. Filter on seller type, or group repeated advertisements by the public seller identifier.

Input

For a keyword search, use the following input, which was tested against actual UK listings:

{"query":"iphone 13","max_items":25}

query is the keyword. max_items controls the maximum number of unique advertisements for the entire search, with a default of 100 and a maximum of 1250. maxItems is also accepted and takes precedence when both names are supplied. The default sorting is date, giving the newest advertisements first. The alternatives are relevance, price_asc, price_desc and distance.

For a prepared search, supply url with a Gumtree UK search or category URL. A copied URL keeps the filters and sort order chosen on Gumtree. It takes precedence over query, category, location and the other search filter fields. The Actor follows the pagination supplied by that search, including category paths.

Available keyword filters are category, location, distance_miles, price_min, price_max and seller_type. Price limits are numeric GBP amounts and require a category. Distance sorting and distance_miles require a location. Seller type accepts all, private or trade. A place name or UK postcode can be used for location. Unknown locations are reported instead of silently returning nationwide listings.

Gumtree can include advertisements outside the requested radius. Read the distance value on each returned row when geographical precision matters. Likewise, relevance ordering may change while pages are being collected. Date ordering is a better choice for repeated monitoring, although every collection still reflects a changing marketplace.

Output

Each dataset row includes listing_id, title, url, price, currency, country, image_url, images, image_count and location. Other fields include condition, brand, description, seller_type, seller_id, is_pro_account, is_featured, is_urgent, shipping_available, delivery, posted_label, posted_at, category and attributes.

The description is the search-page teaser. The images array contains image URLs exposed on the search page; image_count describes the total reported for the advertisement and can be larger than the returned array. Brand is supplied when the source provides a vehicle make. It is null when the page does not explicitly provide a brand.

This is a selection of fields from a real advertisement collected on 5 October 2026:

{
"listing_id": "1803515361",
"title": "Apple iPhone 13 – White, As Good As New",
"price": 200,
"currency": "GBP",
"location": "Congleton, Cheshire",
"condition": "As good as new",
"url": "https://www.gumtree.com/p/iphone/apple-iphone-13-white-as-good-as-new/1803515361",
"posted_at": "2026-10-05T09:55:38.488Z",
"source": "gumtree-scraper",
"fetched_at": "2026-10-05T10:33:13.008Z"
}

price is numeric and currency is GBP. A FREE advertisement has price zero. price_text retains the source display, while price_frequency records a rental period such as pm. For property comparisons, always keep that payment period beside the numeric amount. A monthly asking rent should be compared with another monthly rent. Vehicle advertisements may include a separate vat_note.

postcode_district contains the outward portion of a UK postcode. Full postcodes and vehicle registration numbers are excluded. Public seller identifiers remain available, allowing repeated advertisements from the same source account to be grouped. Phone numbers, seller names, coordinates and full detail-page descriptions are outside this Actor's output.

Gumtree API: use the scraper from code

If you need Gumtree search results through an API, this Actor works as one: start it through the Apify API with the same JSON input as above, wait for the run, and read the dataset items. Every Apify client (JavaScript, Python, plain HTTP) works, as do schedules, webhooks and integrations such as Make, Zapier or Google Sheets. A scheduled run with a fixed url and date sorting is the simplest way to keep a daily snapshot of a Gumtree search.

Pagination and result limits

The Actor automatically collects further pages until it reaches the requested number or the end of the accessible search. Gumtree limits a search to 50 pages, normally around 1250 ordinary advertisements. The displayed total number of matching advertisements may be much larger. Refine category, location or price filters when the accessible pages do not cover the whole search.

Duplicate listing identifiers are removed before delivery and charging. position counts the accepted rows in order. Search results are a changing collection: pagination cannot guarantee that every advertisement existing at one instant will be captured. If collection is interrupted after some rows were obtained, those rows remain available and the summary reports partial results and a warning.

The default key-value store contains OUTPUT with itemCount, status, charges, warnings and free-tier information. The errors record explains failed or empty searches. A blocked search, a timeout before a page was collected, or persistent rate limiting is reported as a failed run. A valid search with no advertisements is an empty result and has no listing charge. Starting beyond the last results page returns an explicit no-results error.

How this Gumtree scraper compares

Several Gumtree scrapers exist in the Apify Store. They differ in which Gumtree sites they cover, whether they open each advertisement page, and how they charge.

This ActorTypical alternatives
MarketGumtree UK (gumtree.com)some cover UK, Australia, New Zealand and South Africa
Inputkeyword with filters, or any UK search or category URLstart URLs, keyword, or a fixed category list
Pricesnumeric GBP, FREE as zero, rent period kept separatelyvaries by Actor
Duplicatesremoved before delivery and chargingvaries
Detail pages and phone numbersnot collectedoffered by some, at extra cost per row
Chargeper delivered listing, no start feeper row, many with a start fee or extra events for detail pages

Choose this Actor when you need clean search-page data from Gumtree UK at a flat price per listing. Choose a detail-page scraper when you need full descriptions or contact details, or a different Gumtree country.

Pricing

The starting price is $1.50 per 1000 unique listings, equivalent to $0.0015 for each delivered row, with no start event. Check the current Pricing tab before running. Only delivered rows generate listing events. Repeated appearances of the same advertisement do not create extra listing events, and an empty result has zero listing events.

Users without a paid Apify plan receive at most ten listings per run. The input limit and delivered dataset are capped, and listing events cannot exceed those ten rows. Paying users can request the full supported limit. OUTPUT includes freeTierDelivered, freeTierCapped and free_tier_remaining; a paying run reports minus one for the remaining free allowance.

FAQ

Can I use this as a Gumtree API?

Yes. Start the Actor through the Apify API with a JSON input and read the dataset items when the run finishes. It returns the public Gumtree UK search results as structured data, so your code never has to parse the website itself.

Can I paste a filtered Gumtree search URL?

Yes. Paste a UK search or category URL in url. Its existing filters take precedence over the separate keyword filter fields. Individual advertisement URLs are outside the supported input.

Are free listings included?

Yes. Advertisements marked FREE are retained with a numeric price of zero. They count as delivered listings because their title, identifier and other listing data are still collected.

Why is the dataset smaller than the total shown on Gumtree?

The site's advertised matching total can exceed its accessible pages. The result also depends on your maximum, duplicate advertisements, excluded featured listings and any collection warning. The run summary describes the delivered count.

Does the Actor collect phone numbers or full addresses?

The output contains public search-page listing data. It returns the postcode district and public seller identifier. Full postcodes, vehicle registration numbers and contact details are outside its scope.

How can I compare repeated runs?

Join rows by listing_id, then compare price, condition and posted_at while retaining fetched_at. Use the source field to distinguish this Gumtree collection from another marketplace dataset. An absent listing is not proof that the item sold; it may have been removed, moved or omitted by the search ordering.