Gumtree Classifieds Scraper
Pricing
$0.75 / 1,000 results
Gumtree Classifieds Scraper
Scrape Australian classifieds from Gumtree.com.au — extract listing titles, prices, descriptions, locations, and seller details by search query.
Pricing
$0.75 / 1,000 results
Rating
0.0
(0)
Developer
Casey Marsh
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Gumtree Australia Classifieds Scraper
Extract classified ad listings from Gumtree Australia — the country's largest online marketplace for second-hand goods, vehicles, real estate, jobs, and services. Get listing titles, prices, locations, descriptions, seller types, images, and category metadata. Ideal for market research, price comparison, deal hunting, and lead generation.
Summary
The Gumtree Australia Classifieds Scraper is a production-grade Apify actor that extracts listings from gumtree.com.au, which hosts millions of active classified ads across hundreds of categories including cars, electronics, home & garden, jobs, real estate, and services. Whether you're tracking used car prices, monitoring rental markets, researching competitor pricing, or building a deal alert system, this actor provides clean structured data ready for analysis.
Built on Crawlee's CheerioCrawler with Apify residential proxy rotation, the actor handles Gumtree's anti-scraping measures, rate limiting, and variable page structures. It uses an extensive array of CSS selector fallbacks to maintain reliability across Gumtree's frequent frontend updates, automatically paginates through multi-page results, and gracefully logs errors without data loss.
How It Works
- Input: Provide a full Gumtree search URL, or build one from category, location, search term, price range, condition, and seller type parameters.
- URL Construction: If no
searchUrlis given, the actor constructs the correct Gumtree URL pattern (/s-{location}/{category}/page-1/{categoryId}) with optional query parameters. - Listing Detection: The actor tries multiple CSS selectors to find listing cards — Gumtree's class names change frequently, so a cascade of fallbacks ensures resilience.
- Field Extraction: For each card, all available fields are extracted: title, price, location, listing age, image URL, category, description, seller type, featured/urgent badges, and ad ID.
- Pagination: The actor follows pagination controls (Next button, page-number links) or uses the
/page-N/URL pattern to continue scraping until the max listings limit is reached. - Error Handling: Blocked pages, rate limits, and timeouts are detected and automatically retried with fresh residential proxy IPs. Failed requests after all retries are saved as error records.
- Output: Structured JSON saved to your Apify dataset with ISO 8601 scrape timestamps for every listing.
Input Parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchUrl | string | No | — | Full Gumtree search URL to scrape directly (e.g., https://www.gumtree.com.au/s-cars/sydney) |
searchTerm | string | No | — | Keywords to search within the category (e.g., corolla, iphone 15) |
category | string | No | cars-vans-utes | Category slug (e.g., cars-vans-utes, home-garden, electronics-computers) |
categoryId | string | No | c18320 | Numeric category ID from Gumtree's URL structure |
location | string | No | — | Australian city/region (e.g., sydney, melbourne, brisbane, perth) |
minPrice | number | No | — | Minimum price filter in AUD |
maxPrice | number | No | — | Maximum price filter in AUD |
condition | string | No | — | Item condition: new, used, or demo |
sellerType | string | No | — | Seller type: private or dealer |
sortBy | string | No | — | Sort order: price_ascending, price_descending, time_updated_descending, distance |
maxListings | integer | No | 100 | Maximum number of listings to scrape (1–1000) |
Output Example
{"title": "2019 Toyota Corolla Ascent Sport - Low KMs, Full Service History","price": "$22,500","link": "https://www.gumtree.com.au/s-ad/sydney-city/cars-vans-utes/2019-toyota-corolla/1234567890","location": "Sydney CBD, NSW 2000","listedDate": "2 hours ago","imageUrl": "https://i.ebayimg.com/images/g/abc123/s-l800.jpg","category": "Cars & Vehicles","description": "Excellent condition 2019 Corolla, 45,000km, full Toyota service history, rego until Dec 2026...","sellerType": "Private","isFeatured": false,"isUrgent": false,"adId": "1234567890","searchCategory": "cars-vans-utes","searchLocation": "sydney","searchTerm": "corolla","scrapedAt": "2026-07-04T10:30:00.000Z"}
Pricing
This actor uses Apify's pay-per-result pricing model — you only pay for the listings you successfully extract. No monthly fees, no subscriptions, no minimum usage requirements. A typical run of 100 Gumtree listings costs a few cents of Apify platform credit.
Residential proxies are the default configuration due to Gumtree's bot detection. CheerioCrawler (not Playwright) keeps per-request costs low — each page is downloaded and parsed in 1–3 seconds without the overhead of a headless browser. You can adjust the proxyConfig input to use datacenter proxies for reduced costs, though this may trigger rate limiting on larger runs.
Use Cases
- Market Research and Price Comparison: Track asking prices for cars, electronics, furniture, and other goods across Australian cities. Build price indices and depreciation curves for specific makes and models.
- Deal Hunting and Alerts: Monitor newly listed items matching your criteria (e.g., specific car models under a price threshold) and receive automated alerts when bargains appear.
- Second-Hand Market Analysis: Understand supply and demand dynamics in the Australian second-hand economy. Track listing volumes, average prices, and time-to-sell across categories.
- Lead Generation: Identify sellers who frequently list high-value items, or find listings that have been active for extended periods (indicating motivated sellers open to negotiation).
- Vehicle Market Intelligence: For car dealers and buyers, track competitor inventory, monitor price positioning, and identify market gaps by make, model, year, and location.
- Rental Property Monitoring: Scrape Gumtree's real estate rental listings to track rental prices, vacancy indicators, and market movements in specific suburbs.
FAQ
Q: Do I need a Gumtree account? A: No. This actor scrapes publicly visible Gumtree listings. No account, login, or API key is required.
Q: Can I scrape any Gumtree category?
A: Yes. Any category accessible on gumtree.com.au can be scraped. Use the searchUrl parameter with any valid Gumtree search/browse URL, or build the URL from the category and location parameters.
Q: How do I find the correct categoryId?
A: Browse Gumtree to your desired category and copy the number from the URL. For example, https://www.gumtree.com.au/s-cars-vans-utes/c18320 — the category ID is c18320. If you provide a searchUrl directly, you don't need the category ID.
Q: What if Gumtree changes its HTML structure? A: The actor uses an extensive cascade of CSS selector fallbacks for listing cards and individual fields. If primary selectors fail, alternates are tried automatically. The actor also includes a last-resort fallback that extracts ad links directly from anchor tags. Failed card extractions are logged but don't stop the overall crawl.
Q: Can I scrape Gumtree in other countries?
A: This actor is configured for gumtree.com.au (Australia). Gumtree operates in other countries (UK, South Africa, Poland, etc.) with similar but not identical page structures. You can try using the searchUrl parameter with a non-Australian URL, but field extraction may be less reliable.
Q: How does the actor handle featured and urgent listings?
A: The actor detects featured and urgent badges via CSS class detection and captures them as boolean flags (isFeatured, isUrgent) in the output. This is useful for separating organic listings from paid promotions.
Q: Can I scrape seller contact details? A: Gumtree hides seller phone numbers and emails behind a "Reveal" button that requires JavaScript interaction. This Cheerio-based actor does not interact with JavaScript — for contact details, you would need a Playwright/Puppeteer-based scraper that can click buttons and handle modals.
Actor ID: gumtree-scraper · Runtime: Node.js 20 · Type: CheerioCrawler