Gumtree AU Scraper icon

Gumtree AU Scraper

Scrape gumtree.com.au classifieds across every vertical: for-sale goods, motors, real estate, jobs and services. Get title, description, price, all…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Gumtree AU Scraper at a glance

Gumtree AU Scraper is a ready-to-run Apify actor from abotapi for collecting ecommerce data. Its documented output includes id, title, price, price text and currency, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.50 per 1,000 results on the Apify Free plan and from $1.10 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Ecommerce, Automation, Developer Tools
Region
Oceania
Pricing
$1.50 per 1,000 results (Free plan), from $1.10 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
35 options

Scrape gumtree.com.au classifieds across every vertical: for-sale goods, motors, real estate, jobs and services. Get title, description, price, all photos, GPS coordinates, category attributes, and seller profile + aggregate rating. Search by category + location + keyword, or paste any Gumtree URL.

What Gumtree AU Scraper can do

  • Two ways to find listings. Build a query from category, location and keyword, or paste a gumtree.com.au category-and-location search or listing URL directly.
  • Every vertical in one actor. Motors, real estate, jobs, services and for-sale goods, each carrying its own category-specific attributes flattened into one object.
  • Seller rating on every listing. The overall score, the number of ratings behind it and any trust badges, with a null value whenever Gumtree simply has not published one for that seller yet.
  • Optional detail enrichment. Turn on Fetch full listing detail to add the untruncated description, precise location (latitude, longitude, postcode, suburb, map address) and the seller's published phone number, and pay only for the listings actually enriched.
  • Attributable enrichment. Every enriched record carries a status field, so a listing with no location is always attributable to a specific outcome rather than looking like data that was simply never collected.
  • Tuned for Australia. Default connection settings are built around the fact that gumtree.com.au serves Australian visitors.

Choose what to collect

These inputs let you configure Gumtree AU Scraper - Listings, Sellers & Reviews. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestringSearch mode = build the query from the category / location / keyword filters below. URL mode = paste any gumtree.com.au search or listing URL you already refined in a browser (best for complex filters and sub-categories).

Choices: search, url

urlsarraygumtree.com.au search-result URLs or listing URLs. Tip: open gumtree.com.au, choose a category + location + filters, then paste the resulting URL here. In URL mode the category, location, keyword, price, sort and radius fields are ignored (the URL decides them); On pasted search URLs every seller, vehicle and listing-date filter applies; on pasted listing URLs only make, model and year apply, because a listing page does not carry seller type, mileage, fuel, transmission or post age. Price change monitoring applies to every result. Supported: category/location/keyword (k0), paginated, sorted, price-filtered and gallery search URLs across all verticals, and listing URLs (/web/listing/... or legacy /s-ad/...). Seller pages and bare / links are skipped with a warning.
categorystringTop-level category to search. 'All categories' searches every vertical. Covers Gumtree's main verticals: motors (Cars & Vehicles), property (Real Estate), Jobs, Services, plus the for-sale goods categories.

Choices: all, cars-vehicles, real-estate, jobs, services, home-garden, electronics-computer, pets, baby-children, clothing-jewellery, sport-fitness, antiques-art, books-music-games, boats-jetskis, community, miscellaneous-goods, tickets

locationstringSuburb, city, region or state to search in (e.g. 'Sydney', 'Melbourne', 'Brisbane', 'NSW'). Leave empty to search all of Australia. Names are resolved against Gumtree's own location index.
keywordsstringFree-text keyword to search for (e.g. 'toyota hilux', 'iphone 15'). Optional, leave empty to browse the whole category.
keywordListarrayRun one search per keyword (combined with the single Keyword field and every location). Results are de-duplicated across searches.
locationListarrayRun one search per location, such as 'Sydney' or 'Victoria' (combined with the single Location field).
Show 28 more inputs
More input fields
InputWhat it controls
sellerTypestringKeep only private sellers or trade/dealer sellers. Decided from the dealer flag on each listing, so it is reliable for motors. Leave empty for both. Not applied to pasted listing URLs (a listing page does not show the dealer flag).

Choices: private, trade

carMakestringKeep only vehicles of this make (for example toyota). Applied to the listing's make attribute or title. Also applies to pasted listing URLs (title fallback).
carModelstringKeep only vehicles of this model (for example hilux). Also applies to pasted listing URLs (title fallback).
carYearMinintegerEarliest vehicle year.
carYearMaxintegerLatest vehicle year.
carMileageMinintegerMinimum odometer reading in km. Listings without a mileage are skipped when this is set. Not applied to pasted listing URLs (a listing page does not carry it).
carMileageMaxintegerMaximum odometer reading in km. Listings without a mileage are skipped when this is set. Not applied to pasted listing URLs (a listing page does not carry it).
carFuelTypestringKeep only vehicles with this fuel type. Not applied to pasted listing URLs (a listing page does not carry it).

Choices: petrol, diesel, electric, hybrid

carTransmissionstringKeep only automatic or manual vehicles. Not applied to pasted listing URLs (a listing page does not carry it).

Choices: automatic, manual

listingStartDatestringKeep only listings posted on or after this date. Gumtree publishes a relative age ('3 days ago'), so the date is approximate to the day; listings with no age are skipped. Not applied to pasted listing URLs (a listing page does not carry its post age).
priceChangeMonitoringstringdrops = only listings whose price fell; any = only listings whose price changed. With Incremental mode on it compares against your last run and sets previousPrice. With Incremental mode off there is nothing to compare, so drops and any behave the same and keep only listings the site flags as price-dropped. Applies to search results and pasted listing URLs.

Choices: none, drops, any

adTypestringRetired. Gumtree's search API no longer carries the wanted / offering facet, so this field is kept only so saved Task inputs keep loading; the value is ignored.
sortBystringHow to order results. Mileage / year options apply to motor listings.

Choices: rank, date, price_asc, price_desc, mileage_asc, mileage_desc, year_asc, year_desc

minPriceintegerOnly return listings priced at or above this amount.
maxPriceintegerOnly return listings priced at or below this amount.
radiusintegerExpand the search around the chosen location by this many kilometres. Leave empty for the location's default radius.
fetchDetailsbooleanEach enriched listing costs one extra page load. Enriched rows carry detailFetched=true; a row whose page could not be read keeps every search field and says detailFetched=false.
maxItemsintegerMaximum number of listings to return across the whole run. 0 = no limit (bounded by Max pages). Maximum 100000.
maxPagesintegerHow many result pages to walk forward per search (24 listings per page). 0 = the built-in limit of 5 pages; values above 100 are capped at 100 pages per search.
resumeFromRunIdstringPaste a previous run id or dataset id to continue an interrupted crawl: listings already collected there are skipped so this run returns only the delta. Leave empty for a normal run. Combine with incrementalMode only to bootstrap a fresh monitoring campaign from an older crawl, when incremental mode already has saved state for this search, the run stops and asks you to remove this id or use another State key.
incrementalModebooleanFor a search you run on a schedule. When on, the actor remembers this search's previous run and classifies every listing as NEW / UPDATED / UNCHANGED / REAPPEARED / EXPIRED instead of returning the same listings every time. Compared fields: everything in the record (title, price, location, images, attributes, seller and so on). Excluded by default: scrapedAt, age and the numberOfViews / numberOfReplies / numberOfOffers counters (still present in every row); add more in the ignore-fields input. Default off (every run returns the full result set as today). Resume from run/dataset ID above must stay empty once saved state exists.
stateKeystringOptional label to isolate this search's incremental state, useful if you run the same filters under two different schedules. Leave empty to derive the state automatically from the mode/URLs/category/location/keywords/sort/price/radius filters and the detail-enrichment toggle, two different filter setups never share a baseline.
emitUnchangedbooleanWhen on, listings with no change since the previous incremental run are still returned (and billed) instead of being suppressed. Off by default so a recurring run bills only for what changed.
emitExpiredbooleanWhen on, listings that were tracked before but are no longer found are returned once (and billed) with changeType EXPIRED, then dropped from tracking. Only emitted after a run that reached the natural end of results for every search, a capped or time-limited run never emits EXPIRED rows, to avoid wrongly flagging a live listing as gone. Off by default.
ignoreFieldsForChangesarrayField names whose changes never mark a listing UPDATED in incremental mode. Ignored by default: age (the site's relative listed-time string) and the numberOfViews, numberOfReplies and numberOfOffers counters, which move on their own. Add top-level field names, or nested paths like seller.rating, seller. or images[].
mcpConnectorsarrayOptionally send scraped results into apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item; the full record stays in the dataset. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

idID (text)
titleTitle (text)
pricePrice (number)
priceTextPrice text (text)
currencyCurrency (text)
verticalVertical (text)
categoryNameCategory (text)
locationLocation (text)
locationStateState (text)
sellerNameSeller (text)
ageListed (text)
urlURL (link)
Show 14 more fields
changeTypeChange type (incremental mode) (text)
changedFieldsChanged fields (incremental mode) (array)
firstSeenAtFirst seen (incremental mode) (date)
lastSeenAtLast seen (incremental mode) (date)
sellerSeller detail (object)
detailFetchedDetail fetched (boolean)
fullDescriptionFull description (text)
suburbSuburb (text)
stateState (text)
postcodePostcode (text)
latitudeLatitude (number)
longitudeLongitude (number)
mapAddressMap address (text)
previousPricePrevious price (number)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "id": "1300000000",
  "url": "https://www.gumtree.com.au/web/listing/cars-vans-utes/1300000000",
  "title": "2016 Toyota HiLux SR5 Dual Cab",
  "description": "One owner, full service history, tow bar and canopy included. Logbooks available, always garaged.",
  "price": 32990,
  "priceText": "$32,990",
  "priceType": "FIXED",
  "currency": "AUD",
  "vertical": "for-sale",
  "categoryId": "9299",
  "categoryName": "Cars, Vans & Utes",
  "location": "Parramatta",
  "locationArea": "Western Sydney",
  "locationState": "NSW",
  "age": "2 hours ago",
  "images": [
    "https://images.gumtree.com.au/image/private/t_$_35/move/aaaaaaaa-1111-2222-3333-444444444444"
  ],
  "imageCount": 8,
  "attributes": {
    "carmileageinkms": "98000 km",
    "carbodytype": "Ute",
    "cartransmission": "Auto"
  },
  "carVin": "MMSAAAAAAAA000000",
  "sellerName": "Example Motors",
  "seller": {
    "name": "Example Motors",
    "type": "dealer",
    "rating": 4.6,
    "reviewCount": 38,
    "ratingBadges": [
      "ID_VERIFIED"
    ],
    "ratingDistribution": null,
    "reviews": null,
    "phone": "+61491570006",
    "phoneExists": true,
    "phoneVerified": false
  },
  "detailFetched": true,
  "detailStatus": "enriched",
  "fullDescription": "One owner, full service history, tow bar and canopy included. Logbooks available, always garaged.",
  "latitude": -33.815,
  "longitude": 151,
  "postcode": "2150",
  "suburb": "Parramatta",
  "state": "NSW",
  "mapAddress": "Parramatta NSW 2150",
  "numberOfViews": 340,
  "numberOfReplies": 12,
  "numberOfOffers": 3,
  "isFeatured": true,
  "scrapedAt": "2026-07-04T00:00:00+00:00"
}

Ways to use this data

  • Vehicle marketplaces and pricing tools: track make, model, price and mileage across Australian sellers, with a link to the vehicle history report where one exists.
  • Classifieds aggregators: mirror for-sale, real estate, jobs and services listings from Gumtree into your own search index.
  • Lead generation and CRM enrichment: capture seller name, rating and, with detail enrichment on, a published phone number for outreach, subject to your own obligations under Australian privacy law.
  • Property research: pull real estate listings by suburb, city or state with bedroom and bathroom attributes for rent and sale comparisons.
  • Market and pricing research: build price datasets for a category or keyword across regions and track how listings move over time.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Gumtree AU Scraper return?

The documented output for Gumtree AU Scraper includes id, title, price, price text, currency, vertical, category and location. Availability of each field depends on the source page and the selected mode.

How much does Gumtree AU Scraper cost?

It costs $1.50 per 1,000 results on the Apify Free plan and from $1.10 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I run it on a schedule to catch only new listings?

You can schedule the actor from the Schedules tab. For recurring runs that return only what changed, turn on incrementalMode (see "Resume and recurring updates" under Input Parameters): each run remembers the previous one itself and returns only NEW / UPDATED / REAPPEARED / EXPIRED listings, so you no longer need to de-duplicate on your side. Without incremental mode, each scheduled run returns every listing that matches your filters again.

Why do some sellers show no rating?

Gumtree publishes only an aggregate rating, an overall score and how many ratings back it, never the individual buyer reviews or a star-by-star breakdown, so reviews and ratingDistribution are always null. Many private sellers simply have no rating yet, in which case rating is null and reviewCount is 0.

Why did my run fail instead of returning an empty dataset?

In URL mode, a pasted listing URL that cannot be loaded at all is skipped rather than failing the run, so that run instead finishes successfully with no listings found. If no results page can be loaded at all, the run fails with a clear connection message (see Plan Requirement) rather than looking like an empty search. A search that loads but matches nothing, or an unsupported URL shape or unknown location, ends with an explanatory message.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push a summary of each listing into Notion, Linear or Airtable.

Ready to collect with Gumtree AU Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.