Gumtree Scraper
Pricing
Pay per usage
Gumtree Scraper
Extract Gumtree listings data for market intelligence, competitive pricing analysis, and lead generation. Scrape classifieds, properties, and products at scale with structured output.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Shahid Irfan
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract Gumtree listings at scale from search results across jobs, property, motors, and general classifieds. Collect titles, prices, locations, seller labels, category-specific facts, descriptions, and media links in a fast, reliable workflow built for monitoring, research, and lead generation.
Features
- Search URL support — Start from any Gumtree results URL and preserve its filters.
- Keyword and location search — Build new Gumtree searches from keyword, category, and location inputs.
- Category coverage — Works across jobs, property, motors, and other Gumtree listing types from the URL you provide.
- Fast enrichment — Collect fuller descriptions and category-specific fields in parallel for higher throughput.
- Pagination handling — Continue across Gumtree result pages until your target volume is reached.
- Clean datasets — Empty values are removed before data is written, so the dataset stays compact and useful.
Use Cases
Market Monitoring
Track changing prices, listing volume, and seller types for categories you care about. This is useful for second-hand resale research, local market checks, and competitor monitoring.
Lead Collection
Build datasets of listings that match specific locations, categories, or keywords. Teams can use this for outreach, sourcing, and classified aggregation workflows.
Price Analysis
Collect price snapshots together with condition, category, and location fields. This makes it easier to compare supply across regions or category slices.
Listing Research
Capture descriptions, listing metadata, and category-specific facts for analysis. This is helpful for content studies, merchandising reviews, and trend discovery.
Classified Aggregation
Normalize Gumtree listings from different verticals into one dataset while preserving category-specific details. This is useful when the same workflow needs jobs, property, and general resale inventory together.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | https://www.gumtree.com/search?search_category=all&search_location=United%20Kingdom | Start from a specific Gumtree search URL. |
keyword | String | No | "" | Optional keyword for Gumtree search. |
location | String | No | United Kingdom | Gumtree location filter. |
category | String | No | all | Gumtree category slug such as all, jobs, or for-sale. |
sort | String | No | date | Sort order: date, price_lowest_first, price_highest_first, or distance. |
searchInDescription | Boolean | No | false | Search title and description instead of title only. |
collectDetails | Boolean | No | true | Fetch listing pages to collect richer descriptions and category-specific fields. |
results_wanted | Integer | No | 20 | Maximum number of listings to collect. |
max_pages | Integer | No | 10 | Safety cap for paginated result pages. |
proxyConfiguration | Object | No | Residential Apify Proxy | Proxy settings for more reliable collection. |
Output Data
Each dataset item can contain:
| Field | Type | Description |
|---|---|---|
id | String | Gumtree listing ID. |
url | String | Absolute Gumtree listing URL. |
title | String | Listing title. |
price | String | Displayed listing price. |
location | String | Location shown on Gumtree. |
category | String | Listing category name. |
categoryId | String | Gumtree category ID. |
listingCategoryId | String | Listing category tracking ID from Gumtree. |
listingVertical | String | Normalized vertical such as jobs, property, motors, or classifieds. |
postedDate | String | Relative posted date from the results page. |
postedAt | String | Detail-page posted timestamp text when collected. |
shortDescription | String | Search result preview text. |
description | String | Detail-page description text when collected. |
imageUrl | String | Primary image URL. |
imageUrls | Array | All available image URLs collected for the listing. |
numberOfImages | Integer | Reported image count. |
condition | String | Condition value when available. |
sellerType | String | Seller label such as private or trade. |
sellerId | String | Gumtree seller ID when available. |
accountId | String | Gumtree account ID when available. |
sellerName | String | Seller name if exposed on the listing page. |
sellerPostingHistory | String | Seller posting duration text when collected. |
sellerActiveStatus | String | Seller activity text when collected. |
applyUrl | String | External apply link for job listings when available. |
revealPhoneUrl | String | Gumtree phone reveal URL when available. |
status | String | Listing status reported by Gumtree. |
adItemType | String | Item type classification from Gumtree. |
featured | Boolean | Whether the listing is featured. |
urgent | Boolean | Whether the listing is marked urgent. |
premium | Boolean | Whether the listing is premium. |
bumpup | Boolean | Whether the listing is bumped up. |
standout | Boolean | Whether the listing is marked standout. |
hasVideo | Boolean | Whether the listing has video content. |
proAccount | Boolean | Whether the seller is a pro account. |
attributes | Array | Structured Gumtree attribute objects for the listing. |
attributeMap | Object | Flattened attribute map merged from list and detail data. |
detailAttributes | Object | Extra label/value pairs collected from the listing page. |
categorySpecific | Object | Nested category-aware fields for jobs, property, motors, and shared values. |
Usage Examples
Default United Kingdom Search
{"startUrl": "https://www.gumtree.com/search?search_category=all&search_location=United%20Kingdom","collectDetails": true,"results_wanted": 20,"max_pages": 2}
Keyword and Category Search
{"keyword": "sofa","location": "London","category": "for-sale","sort": "date","results_wanted": 50,"collectDetails": false}
Search Title and Description
{"startUrl": "https://www.gumtree.com/jobs","collectDetails": true,"results_wanted": 40,"max_pages": 4}
Sample Output
{"id": "1510979577","url": "https://www.gumtree.com/p/road-bikes/frog-bike-model-52-with-20-wheels/1510979577","title": "Frog bike model 52 with 20\" wheels","price": "£140.00","location": "Stirling","category": "Road Bikes","listingVertical": "classifieds","postedDate": "Just now","shortDescription": "Good condition overall with only a few light scratches. It’s second-hand but everything works as it should.","description": "Good condition overall with only a few light scratches. It’s second-hand but everything works as it should.","imageUrl": "https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/a878a32cdd6b46089a_dcf801a7036f/86","imageUrls": ["https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/a878a32cdd6b46089a_dcf801a7036f/86","https://img.gumtree.com/ePR8PyKf84wPHx7_RYmEag/89e22b3c902d4cfea6_7811a2894484/86"],"numberOfImages": 3,"condition": "Good condition","sellerType": "Private","status": "LIVE","adItemType": "http://schema.org/Product","attributeMap": {"commonForSaleCondition": "Good condition","sellerType": "Private"},"sellerId": "68147461","accountId": "67600593","categorySpecific": {"common": {"condition": "Good condition","sellerType": "Private"}},"attributes": [{"name": "Condition","value": "Good condition","key": "common_for_sale_condition"},{"name": "Seller type","value": "Private","key": "seller_type"}]}
Tips for Best Results
Prefer Search URLs For Repeatable Runs
- Use a saved Gumtree search URL when you want the exact same filters every time.
- This is the easiest way to keep category and location settings consistent.
Keep QA And Smoke Tests Small
- Start with one or two result pages to validate output quickly.
- Increase volume only after you confirm the dataset shape you need.
Use Residential Proxies For Reliability
- Residential proxies are recommended for larger runs.
- This is especially useful when collecting detail pages at higher volume.
Tune Parallel Detail Collection
- The actor uses internal request concurrency and timeout defaults tuned for stable production runs.
- If you need different operational limits, adjust the code-level defaults before redeploying.
Integrations
- Google Sheets — Export listing datasets for quick filtering and reporting.
- Airtable — Store Gumtree listings in a searchable workspace.
- Make — Trigger follow-up automations when new listings appear.
- Zapier — Send listing data into CRMs, alerts, or spreadsheets.
- Webhooks — Deliver structured output directly into your own systems.
Export Formats
- JSON — For APIs, scripts, and custom processing.
- CSV — For spreadsheet workflows.
- Excel — For reporting and manual review.
- XML — For older integrations and import pipelines.
Frequently Asked Questions
Can I scrape any Gumtree search URL?
Yes. If you provide a Gumtree search URL, the actor starts from that page and keeps the URL filters intact.
Does the actor collect extra detail fields?
Only when collectDetails is enabled. If you disable it, the actor saves the search-page data only.
Does it work for jobs and property?
Yes. The actor supports jobs, property, motors, and other Gumtree listing types, and keeps category-specific fields when they are available.
Why are some fields missing on certain items?
Gumtree does not expose the same fields for every listing. Empty values are removed instead of being stored as null.
How many listings can I collect?
You can collect as many listings as Gumtree makes available, subject to your max_pages setting and the actor's internal runtime limits.
Is proxy configuration necessary?
Small runs may work without proxies, but residential proxies are recommended for the most stable production runs.
Support
For issues or feature requests, use the Apify Console issue and support channels connected to this actor.
Resources
Legal Notice
This actor is intended for legitimate data collection and monitoring workflows. Users are responsible for complying with Gumtree terms, local regulations, and applicable data-use requirements.