Gumtree Scraper
Pricing
from $0.97 / 1,000 product scrapeds
Gumtree Scraper
Gumtree UK listing dataset from search URLs, category filters, or listing links, including titles, prices, locations, seller information, and optional listing details.
Pricing
from $0.97 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Farhan Ali
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
Gumtree Scraper creates a structured dataset of classified listings collected from Gumtree, the UK classifieds marketplace. Each dataset item represents one listing and can include title, price, location, category, images, seller details, and contact fields when Gumtree publishes them. Query the source by pasting Gumtree search, category, or listing URLs, or by keyword search with category, location, seller-type, and condition filters. Control the result limit with maxItems, and retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, or other supported formats.
Dataset at a glance
| Property | Value |
|---|---|
| Source | gumtree.com (UK classifieds marketplace) |
| Record unit | One Gumtree listing |
| Input methods | Gumtree URLs (startUrls) or keyword search (searchQueries) with category, location, seller-type, and condition filters |
| Main identifiers | listingId, url |
| Delivery | Apify Dataset and API |
| Export formats | JSON, CSV, Excel, XML, HTML (Apify dataset exports) |
| Update model | Fresh records per Actor run |
| Pricing | $1.00 per 1,000 listings (search cards); $1.50 per 1,000 listings when extractListingDetails is enabled |
Coverage and available records
The Actor collects listings from public Gumtree pages using one of two entry points:
- URL-based: Pass Gumtree search, category, or listing URLs in
startUrls. WhenstartUrlsis set,searchQueriesis ignored and category, location, seller-type, and condition filters are optional. - Search-based: Set
searchQueries(for examplelaptop) withcategory,subcategory,location,sellerType, andcondition.categorydefaults tofor-saleandlocationdefaults touk.
Supported categories: cars-and-vehicles, for-sale, services, property, pets, jobs, community. subcategory is a Gumtree URL slug such as computers-software. condition applies to the for-sale category.
- Listing-level records always include
listingId,url,title,price,location,primaryImageUrl, andsourcePageUrlwhen the search card publishes them. - Detail fields (
description,imageUrls, seller profile,phoneNumber) are returned only whenextractListingDetailsis enabled and Gumtree exposes them. - Job fields (
employmentType,validThrough) appear on job listings when published. - Result cap:
maxItemslimits listings collected (0= unlimited, the default).
Known exclusions: login-only content (including many phone numbers); historical snapshots; messages, watchlists, and account-only seller dashboards.
Data dictionary
Field names match dataset JSON properties exactly. Fields marked conditional appear only when extractListingDetails is enabled and Gumtree publishes the value. Empty values are omitted, not fabricated.
| Field | Type | Nullable | Description | Example |
|---|---|---|---|---|
listingId | string | No | Gumtree listing ID; recommended dedup key | 1801599902 |
url | string | No | Listing page URL | https://www.gumtree.com/p/laptops/-asus-zenbook-s14-ux5406sa-ultra-7-32gb-1tb/1801599902 |
title | string | Yes | Listing title | Asus Zenbook s14 UX5406SA - ultra 7 -32gb- 1TB |
description | string | Yes | Listing text; full body is conditional | — |
price | string | Yes | Asking price as a string | 550.00 |
priceCurrency | string | Yes | Currency code | GBP |
priceStatus | string | Yes | Price status when published | — |
location | string | Yes | Location as shown on the listing | Saltcoats, North Ayrshire |
area | string | Yes | Area slug or label when published | — |
category | string | Yes | Category label as shown on the listing | For Sale |
primaryImageUrl | string | Yes | Primary image URL | https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/79d91e9b2c1d482280_bf437d4f6156/86 |
imageUrls | string[] | Yes | Image gallery URLs (conditional) | — |
phoneNumber | string | Yes | Seller phone when exposed (conditional) | — |
phoneLoginRequired | boolean | Yes | true when Gumtree requires login to view the phone | true |
sellerName | string | Yes | Seller display name | robert |
contactName | string | Yes | Contact name when published (conditional) | — |
sellerType | string | Yes | Seller type as shown on the listing | Standard |
sellerUrl | string | Yes | Seller profile URL (conditional) | — |
sellerRatingCount | integer | Yes | Seller rating count (conditional) | — |
sellerActiveSince | string | Yes | Seller activity tenure (conditional) | — |
datePosted | string | Yes | Posted date (ISO-8601 when coercible) | — |
postedAt | string | Yes | Created timestamp (ISO-8601) | 2026-08-16T05:18:31.884000+00:00 |
updatedAt | string | Yes | Last-updated timestamp (ISO-8601) (conditional) | — |
validThrough | string | Yes | Job listing expiry when published | — |
employmentType | string | Yes | Job employment type when published | — |
featured | boolean | Yes | Featured listing flag | true |
urgent | boolean | Yes | Urgent listing flag | — |
breadcrumbs | object[] | Yes | Category path {name, url} (conditional) | — |
sourcePageUrl | string | Yes | Search or category page the listing was found on | — |
Breadcrumb object
| Field | Type | Nullable | Description |
|---|---|---|---|
name | string | No | Breadcrumb label |
url | string | No | Breadcrumb URL |
Example dataset record
Real record from the test input below (for-sale / computers-software / uk, private sellers, as-good-as-new, extractListingDetails: true, maxItems: 5). Unpublished fields are omitted.
{"listingId": "1801599902","title": "Asus Zenbook s14 UX5406SA - ultra 7 -32gb- 1TB","price": "550.00","priceCurrency": "GBP","location": "Saltcoats, North Ayrshire","url": "https://www.gumtree.com/p/laptops/-asus-zenbook-s14-ux5406sa-ultra-7-32gb-1tb/1801599902","primaryImageUrl": "https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/79d91e9b2c1d482280_bf437d4f6156/86","sellerName": "robert","sellerType": "Standard","phoneLoginRequired": true,"category": "For Sale","featured": true,"postedAt": "2026-08-16T05:18:31.884000+00:00"}
The record above was produced with this input:
{"category": "for-sale","subcategory": "computers-software","location": "uk","sellerType": "private","condition": "as-good-as-new","extractListingDetails": true,"maxConcurrency": 10,"maxItems": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Query and input reference
| Input | Type | Required | Default | Accepted values | Description |
|---|---|---|---|---|---|
startUrls | array (requestListSources) | No | — | Gumtree search, category, or listing URLs | URL entry point. When set, searchQueries is ignored and filters are optional |
searchQueries | array (string) | No | — | Free-text keywords (e.g. laptop) | Keyword search. Ignored when startUrls is set |
category | string | No | for-sale | cars-and-vehicles, for-sale, services, property, pets, jobs, community | Top-level category when no startUrls |
subcategory | string | No | — | Gumtree slug (e.g. computers-software) | Subcategory slug from Gumtree URLs |
location | string | No | uk | Location slug | Search location filter |
sellerType | string | No | — | private, business | Private or business sellers |
condition | string | No | — | new, as-good-as-new, good, fair, poor | For-sale condition filter |
extractListingDetails | boolean | No | false | true / false | Collect description, images, seller info, and phone when exposed (listing-details event) |
maxConcurrency | integer | No | 10 | 1–50 | Parallel listing-page fetches when details are enabled |
maxItems | integer | No | 0 | 0 or any positive integer | Maximum listings; 0 = unlimited |
proxyConfiguration | object | No | Apify proxy, RESIDENTIAL | Apify or custom proxies | Residential recommended; Gumtree blocks datacenter traffic |
Minimal request:
{ "searchQueries": ["laptop"], "category": "for-sale", "location": "uk" }
Advanced request (filters with detail enrichment):
{"category": "for-sale","subcategory": "computers-software","location": "uk","sellerType": "private","condition": "as-good-as-new","extractListingDetails": true,"maxConcurrency": 10,"maxItems": 5000,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Retrieve the data through the API
The Actor is published at https://apify.com/datascrapers/gumtree-scraper.
- Start the Actor with a JSON input (console or API).
- Wait for the run to finish, or use a synchronous endpoint if you want the response inline.
- Retrieve items from the run's default dataset.
- Paginate or export the dataset.
Python example:
from apify_client import ApifyClientclient = ApifyClient("YOUR-APIFY-TOKEN")run_input = {"searchQueries": ["laptop"],"category": "for-sale","subcategory": "computers-software","location": "uk","extractListingDetails": True,"maxItems": 10,}run = client.actor("datascrapers/gumtree-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["listingId"], item["title"], item["price"])
Apify generates Python, JavaScript, and cURL examples on the Actor's API tab. Do not put a real API token in shared code or URLs.
Data quality and record handling
- Conditional fields: description, galleries, seller profile, and phone appear only when
extractListingDetailsis enabled and Gumtree publishes them. - Source changes: unpublished fields are omitted rather than fabricated.
- Deduplication: listings are unique by URL within a run. Across runs, use
listingId(orurl) as the stable key. - Phone numbers: many listings set
phoneLoginRequiredtotrueand omitphoneNumber. Login-gated numbers are not collected. - Normalization:
listingIdandpriceare strings;sellerRatingCountis an integer;featured,urgent, andphoneLoginRequiredare booleans; timestamps are ISO-8601 when coercible. - Residential proxies: Gumtree blocks datacenter traffic. Use the default residential
proxyConfiguration.
Export and pipeline examples
| Destination | Recommended method | Typical use |
|---|---|---|
| PostgreSQL / Supabase | Dataset API poll or webhook consumer | Store listings alongside price-monitoring tables |
| Google Sheets | Apify Google Sheets integration | Share listing shortlists with research teams |
| CRM (HubSpot, Salesforce) | Webhook on run completion | Push new listings into outreach pipelines |
| S3 / cloud storage | Scheduled export via Apify scheduler + integration | Archival of marketplace snapshots |
Pricing and cost examples
Pay-per-event: each listing is billed as dataset-item when extractListingDetails is off, or listing-details when it is on. A one-time Actor start charge of $0.00005 applies per run.
| Event | Trigger | Rate (per 1,000 listings) |
|---|---|---|
| Actor start | Once per run | $0.00005 per run |
Listing result (dataset-item) | Listing pushed with extractListingDetails off | $1.00 |
Listing details (listing-details) | Listing pushed with extractListingDetails on | $1.50 |
| Records | Configuration | Estimated base cost |
|---|---|---|
| 1,000 | Search cards only | $1.00 |
| 10,000 | Search cards only | $10.00 |
| 1,000 | Listing details enabled | $1.50 |
| 10,000 | Listing details enabled | $15.00 |
Apify paid plans reduce the per-1,000 rate (for example $0.97 per 1,000 listings and $1.20 per 1,000 detail pages at Gold). Bronze and Silver apply smaller discounts. Estimates depend on the verified pricing model and selected options.
Limitations and responsible data use
- The Actor collects publicly accessible Gumtree page data only.
- Field availability depends on what Gumtree renders at run time; values can be missing.
- Phone numbers are often unavailable without a Gumtree login;
phoneLoginRequiredreports that state. - The Actor does not provide historical snapshots unless you store them yourself.
- Large runs require residential proxies; datacenter traffic is blocked.
- You are responsible for compliance with Gumtree's terms of service, applicable privacy law, and any contractual obligations before using the data.
Dataset questions
What does one dataset item represent?
One Gumtree listing. extractListingDetails adds description, images, seller information, and phone fields to that same record when Gumtree exposes them.
Which field should I use as a unique identifier?
listingId is the recommended deduplication key. Use url when listingId is missing.
Are fields nullable or conditional?
Yes. Detail fields exist only when extractListingDetails is enabled. Unpublished fields are omitted. employmentType and validThrough appear on job listings when published.
Can I retrieve the records as CSV or JSON?
Yes. Export JSON, CSV, Excel, XML, or HTML from the Apify Console, or query the Dataset API.
Does the Actor return historical data?
No. Each run captures listings at run time. Schedule repeated runs and store outputs to track changes.
What counts as a billable result?
One event per listing: $1.00 per 1,000 search-card records, or $1.50 per 1,000 when extractListingDetails is enabled. Those events are alternatives, not added together. Actor start is $0.00005 once per run.
Related datasets from Data Scrapers
- Etsy Scraper — Marketplace goods comparable with Gumtree for-sale listings.
- Amazon Search Scraper — Retail product records for classifieds price comparison.
- Cars.com Scraper — US vehicles alongside Gumtree cars-and-vehicles.
- AutoScout24 Scraper — European vehicles for cross-market automotive research.
- Apartments.com Scraper — US rentals alongside Gumtree property ads.
- Realtor.com Scraper — US property listings comparable with Gumtree property.
Data Scrapers support
Need an additional field, record type, or export workflow? Contact Data Scrapers at stardustspotlight@gmail.com. Include a sample source URL, required fields, expected record volume, and preferred delivery format.