# Gumtree Scraper - Australia, UK & South Africa Listings (`clearpath/gumtree-scraper`) Actor

Scrape Gumtree in Australia, the UK and South Africa: every listing with full detail and the seller, 1,000 listings in under a minute. Search by keyword, location, price or car filters, or paste links. Prices, specs, photos, seller ratings, dealer phones, plus new-listing and price-drop alerts.

- **URL**: https://apify.com/clearpath/gumtree-scraper.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** E-commerce, Real estate, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.39 / 1,000 listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![6,179 Gumtree listings. In 98 seconds. One Australian search with full listing details and seller profiles.](https://api.apify.com/v2/key-value-stores/rfpznBPgVbyLYqNaQ/records/gumtree-readme-hero-6179-6d53a5589395.png)](https://console.apify.com/actors/dcuhr77odKyZhWcNn/input)

From **Clearpath**, creators of [Leboncoin Scraper Pro](https://apify.com/clearpath/leboncoin-api) and [Sahibinden Search Scraper Pro](https://apify.com/clearpath/sahibinden-scraper-pro), with **120,000+ combined lifetime runs** across those two classifieds scrapers.

### Bulk Gumtree data, with the detail included

- **One Australian search: 6,179 listings in 98 seconds.** Full listing details and seller profiles were enabled. Set your own result limit, or use `0` to collect every result the search finds. Run time varies by search and selected options.
- **The listing and the seller, together.** Prices, photos, specifications, location and published price drops, alongside the seller's membership date, activity, ratings and business details where available. Listing details and seller profiles are on by default and included in the listing charge.
- **Three markets, one workflow.** Australia, the United Kingdom and South Africa. Search keywords, categories and locations, or paste listing and seller links. Scheduled runs can return new listings and price changes.

Availability varies by site and listing. Private sellers' full phone numbers are not returned. Very large UK and South African searches can miss listings without a price.

<a href="https://console.apify.com/actors/dcuhr77odKyZhWcNn/input" data-demo-cta="true"><img src="https://api.apify.com/v2/key-value-stores/rfpznBPgVbyLYqNaQ/records/gumtree-scraper-readme-cta-v1.svg" width="250" height="48" alt="Search Gumtree now"></a>

#### Try 20 Australian listings

Open the [actor input](https://console.apify.com/actors/dcuhr77odKyZhWcNn/input), switch to JSON and paste this example. It uses the same detail and seller modes as the speed example, with a smaller result limit. Listing, dataset and start charges apply at the [current rates](https://apify.com/clearpath/gumtree-scraper/pricing).

```json
{
  "country": "AU",
  "searchTerms": [
    "iphone"
  ],
  "maxResults": 20,
  "includeDetails": true,
  "includeSellerProfile": true
}
```

Export as JSON, CSV or Excel. JSON keeps nested seller profiles and specifications. The hero's listing values come from collected data; the phone is a product illustration.

<table>
<tr>
<td style="padding:10px 14px;background:#0D475C;border:none;border-radius:4px 4px 0 0"><span style="color:#FAFAF9;font-size:14px;font-weight:700;letter-spacing:0.5px">Clearpath Classifieds</span>
<span style="color:#E0F2F1;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Listings, prices and sellers from the big marketplaces</span></td>
</tr>
<tr>
<td style="padding:6px;border:1px solid #E7E5E4;border-top:none;border-radius:0 0 4px 4px;background:#E0F2F1">
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #E7E5E4;border-radius:4px;background:#C9E8E6"><span style="white-space:nowrap"><img src="https://api.apify.com/v2/key-value-stores/rfpznBPgVbyLYqNaQ/records/gumtree-scraper-icon-v1.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://console.apify.com/actors/dcuhr77odKyZhWcNn/input" style="color:#0D475C;text-decoration:none;font-weight:700;font-size:13px">Gumtree</a></span><br>
<span style="color:#0D475C;font-size:12px;font-weight:600">&#10148; You are here</span></span>
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #E7E5E4;border-radius:4px;background:#E0F2F1"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-nfWPDHJzRb80PsNo1-75H3RM9GEy-leboncoin-api-scraper.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/leboncoin-api" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Leboncoin</a></span><br>
<span style="color:#78716C;font-size:12px">France's classifieds</span></span>
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #E7E5E4;border-radius:4px;background:#E0F2F1"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-4g5NTbwYYuuQsoo3c-mC5CsVFJIb-sahibinden-phone-scraper-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/sahibinden-scraper-pro" style="color:#1C1917;text-decoration:none;font-weight:700;font-size:13px">Sahibinden</a></span><br>
<span style="color:#78716C;font-size:12px">Turkey's classifieds</span></span>
</td>
</tr>
</table>

#### Copy to your AI assistant

```
clearpath/gumtree-scraper on Apify. Returns Gumtree classified listings from Australia (gumtree.com.au), the UK (gumtree.com) and South Africa (gumtree.co.za), one row per listing with the same columns for all three sites. Input: country AU|UK|ZA with searchTerms, locations (city, suburb, state or postcode; every term runs once per location), category, minPrice/maxPrice, sellerType private|trade, radiusKm (AU and UK), sort (newest by default), postedSince (date or age such as 7 days) and car filters carMake, carModel, carYearMin, carYearMax, mileageMin, mileageMax, fuelType, transmission; or startUrls with Gumtree search, listing or seller links, which override the search fields. maxResults caps the whole run; omit it or set 0 for no limit, including searches larger than Gumtree's own result pages show. Outcome rules: includeDetails (default true) adds the full description, all photos, specifications, coordinates, views and price drops; includeSellerProfile (default true) adds, where the site shows them, member since, last active, rating, rating tags (AU; UK only with includeSellerReviews) and for dealers and businesses the licence, address, website, opening hours and public phone (ZA: phone and email); includeSellerReviews=true adds reviews (AU written text, UK stars and feedback tags, none in ZA; mostly services and trade sellers); includeContactOptions=true (AU) adds the masked phone, accepted contact methods, contact name and exact edit time; findSellerEmails=true adds seller.websiteEmails from the seller's own website; includeCarFinance=true (UK cars) adds finance (AU vehicles always carry it); onlyNewListings=true, run with the same input on a schedule, returns only listings earlier runs did not, and priceChanges=drops|any adds changed prices with changeType and previousPrice. Constraints: private sellers' full phone numbers need a Gumtree login and are not returned (hasPhone says one exists; phoneMasked gives the partly hidden number in the UK, and in AU with includeContactOptions); views exist for AU and ZA only; with a price filter, listings without a price are left out. Pay per event, listing charges: Free plan $1.99 per 1,000 listings, Bronze $1.79, Silver $1.69, Gold and above $1.39; detail, seller profile, reviews, contact options, website e-mails and car finance add no charge, and duplicates or listings skipped by monitoring are free; current rates on the actor's Store page. Full spec (input schema, dataset fields, README): GET https://api.apify.com/v2/actors/clearpath~gumtree-scraper/builds/default with Authorization: Bearer <APIFY_TOKEN>. Token: https://console.apify.com/account/integrations To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

### What can you do with this Gumtree scraper?

- **Track prices and stock.** Resellers and dealers follow a keyword, a model or a category and see every new listing, its price and price drops.
- **Value cars.** Make, model, variant, year, odometer, transmission, fuel, body type, VIN and registration state for Australian car listings, with dealer or private seller and the price note (for example "Drive Away" or "Excl. Gov. Charges").
- **Build lead lists of businesses.** Dealers and trade sellers come with their business name, address, licence number, website, opening hours and public phone number where Gumtree shows them.
- **Research a market.** Count supply by suburb, compare asking prices, and measure how long listings stay up (`daysOnSite`) and how many people view them.
- **Check a seller.** Member since, last active, rating, rating tags and, if you switch them on, reviews.

### How to scrape Gumtree listings

1. Pick the Gumtree site: Australia, United Kingdom or South Africa.
2. Type one or more search terms, and optionally locations, a category, a price range, a seller type or car filters. Or paste Gumtree links instead.
3. Set a result limit, or leave it empty to collect everything the search finds.
4. Run, then download the results as JSON, CSV, Excel or HTML, or send them on with Apify integrations.

#### Search by keyword, location and price

```json
{
  "country": "UK",
  "searchTerms": ["road bike"],
  "locations": ["Manchester"],
  "radiusKm": 30,
  "minPrice": 200,
  "maxPrice": 1500,
  "maxResults": 100
}
```

Every search term runs once per location, so two terms and three locations make six searches; one run takes up to 500 searches and links. A listing found by more than one search is returned and charged once.

#### Search cars by make, model, year and odometer

```json
{
  "country": "AU",
  "carMake": "Toyota",
  "carModel": "Corolla",
  "carYearMin": 2015,
  "mileageMax": 150000,
  "sellerType": "private",
  "locations": ["Brisbane"],
  "maxResults": 200
}
```

Car filters search the cars category when you don't name one. In the UK the odometer is in miles, in Australia and South Africa in kilometres.

#### Paste Gumtree links

```json
{
  "startUrls": [
    "https://www.gumtree.com.au/s-cars-vans-utes/perth/c18320l3008303",
    "https://www.gumtree.com/search?search_category=for-sale&q=bike",
    "https://www.gumtree.co.za/property/house/pretoria-tshwane",
    "https://www.gumtree.com.au/web/listing/cars-vans-utes/1345016624"
  ],
  "maxResults": 300
}
```

Search and category pages, single listings and seller pages work from all three sites. Filters already in a link are kept; for Australian links that means keyword, category, location, distance, price, sort and car filters (including seller type), while other Australian filters, such as bedrooms, are not applied. When links are present, the search fields are not used.

#### Input options

| Parameter | Type | Default | Meaning |
|---|---|---|---|
| `searchTerms` | array | none | What to search for, one term per line. |
| `country` | string | `AU` | `AU`, `UK` or `ZA`, for the search fields. Links are recognised automatically. |
| `locations` | array | whole country | Cities, suburbs, regions, states or postcodes. Each location is its own search. |
| `category` | string | all | A Gumtree category name, for example `Cars, Vans & Utes` or `Property`. |
| `maxResults` | integer | every result | Most listings for the whole run. Empty or `0` means no limit. |
| `startUrls` | array | none | Gumtree search, listing or seller links. |
| `minPrice`, `maxPrice` | integer | none | Price range in AUD, GBP or ZAR. Listings without a price are left out when set. |
| `sellerType` | string | both | `private` or `trade` (businesses and dealers). |
| `radiusKm` | integer | none | Distance around each location (Australia and UK). |
| `sort` | string | `newest` | `newest`, `relevance`, `price_low`, `price_high` or `nearest` (Australia and UK; South Africa sorts by relevance instead). |
| `postedSince` | string | none | `2026-10-01`, or an age such as `7 days`. |
| `carMake`, `carModel` | string | none | For example `Toyota` and `Corolla`. |
| `carYearMin`, `carYearMax` | integer | none | Model or registration year range. |
| `mileageMin`, `mileageMax` | integer | none | Odometer range, kilometres or miles as on the site. |
| `fuelType`, `transmission` | string | any | `petrol`, `diesel`, `electric`, `hybrid`, `lpg`; `automatic` or `manual`. |
| `includeDetails` | boolean | `true` | Full description, all photos, specifications, location, views and the seller block. |
| `includeSellerProfile` | boolean | `true` | Member since, last active, listing counts, verification, rating and business details. |
| `includeSellerReviews` | boolean | `false` | Adds the seller's reviews to each row (Australia and UK). |
| `maxReviewsPerSeller` | integer | `20` | Most reviews per seller when reviews are on. |
| `includeContactOptions` | boolean | `false` | Australia: the seller's masked phone (last digits), accepted contact methods (chat, phone, SMS), contact name and exact last-edit time. One extra page per listing; listing links always include them. |
| `findSellerEmails` | boolean | `false` | E-mail addresses from the seller's own website (home page, then contact page), in `seller.websiteEmails`. Mostly dealers and businesses; each website is read once per run. |
| `includeCarFinance` | boolean | `false` | UK cars: the finance offer the listing shows (monthly figure, term, deposit, rates by credit score, lender link). One extra page per UK car listing. Australian vehicles always include theirs. |
| `onlyNewListings` | boolean | `false` | Return only listings that earlier runs of the same input did not return. |
| `priceChanges` | string | `none` | With monitoring on, also return price drops (`drops`) or any price change (`any`). |

Full descriptions are in the [Input tab](https://apify.com/clearpath/gumtree-scraper/input-schema).

### What data can you extract from Gumtree?

Every row is one listing, with the same columns for all three sites. A field a site doesn't have is `null`.

| Group | Fields |
|---|---|
| Listing | `listingId`, `url`, `title`, `description`, `status`, `adType`, `postedAt`, `listedAt`, `updatedAt`, `bumpedAt`, `expiresAt`, `daysOnSite`, `website`, `applyUrl` (jobs) |
| Price | `price`, `priceText`, `currency`, `priceType` with `priceTypeLabel`, `priceNote`, `originalPrice` (before a price drop), `highestPrice`, `isFree`, `isNegotiable`, `allowOffers`, `vat`, `finance` (repayment quote, rate, term and lender link for vehicles) |
| Category and specs | `categoryId`, `categoryName`, `categoryPath`, `attributes` (make, model, year, odometer, VIN, bedrooms, condition, storage and more), `attributeDetails` |
| Location | `suburb`, `city`, `state`, `postcode`, `address`, `latitude`, `longitude`, `locationPath` |
| Seller | `sellerName`, `sellerType`, `phone`, `phoneMasked`, `hasPhone`, `contactMethods`, and `seller` with member since, last active, rating, rating tags, reviews, listing counts, verification, business details and website e-mails |
| Media and activity | `images` (largest size), `imageCount`, `videos` (with thumbnails), `views`, `favourites`, `chats`, `phoneReveals`, promotion flags, `listingFeatures`, `listingFlags` |
| Related | `sellerListings` and `similarListings` (current price, price before a drop, price type, category), `vehicleHistory` (UK: write-off categories, import, original plate and colour; Australia: PPSR report id), `services` |
| Run context | `searchTerm`, `searchUrl`, `searchPage`, `position`, `scrapedAt`, and `changeType` / `previousPrice` in monitoring |

#### Example: an Australian dealer car

A real row from a run in October 2026, with `includeContactOptions` on. `images` had 17 entries, `sellerListings` had 4 entries, `listingFeatures` had 5 entries and the opening hours 7 lines, shortened here to the first ones.

```json
{
  "listingId": "1345016624",
  "shortId": null,
  "country": "AU",
  "site": "gumtree.com.au",
  "url": "https://www.gumtree.com.au/web/listing/cars-vans-utes/1345016624",
  "title": "2007 HONDA ACCORD VTi-L",
  "description": "good  service  history   recently  serviced   LOW  KMS  for  year  in  very  nice  condition  throughout   drives  perfect     very  reliable  price  range   vehicle   factory  alloys   good  tyres  all  round",
  "status": "ACTIVE",
  "statusLabel": "Active",
  "adType": "OFFERED",
  "adTypeLabel": "Offering",
  "price": 3985,
  "priceText": "$3,985",
  "currency": "AUD",
  "priceType": "SPECIFIED_AMOUNT",
  "priceTypeLabel": "Fixed price",
  "isFree": false,
  "isNegotiable": false,
  "allowOffers": null,
  "priceNote": "Excl. Gov. Charges",
  "highestPrice": null,
  "originalPrice": 4987,
  "vat": null,
  "finance": {
    "quote": "$20 per week",
    "terms": "for 5 years at 11.09%^",
    "rate": 11.09,
    "termMonths": 60,
    "deposit": null,
    "ratesByCreditScore": null,
    "lender": null,
    "lenderLabel": null,
    "lenderUrl": null
  },
  "categoryId": 18320,
  "categoryName": "Cars, Vans & Utes",
  "categorySlug": "cars-vans-utes",
  "categoryPath": [
    "Cars & Vehicles",
    "Cars, Vans & Utes"
  ],
  "vertical": null,
  "itemType": null,
  "attributes": {
    "forsaleby": "Dealer used",
    "carmake": "Honda",
    "carmodel": "Accord",
    "variant": "VTi-L",
    "carbodytype": "Sedan",
    "caryear": "2007",
    "carmileageinkms": "207744",
    "cartransmission": "Automatic",
    "drivetrain": "Front Wheel Drive",
    "fueltype": "Petrol - Unleaded",
    "colour": "Silver or Chrome",
    "airconditioning": "Yes",
    "vin": "MRHCM564O6PO6O528",
    "registered": "Yes",
    "registrationnumber": "1cju228",
    "registrationexpiry": "13 Nov 2026",
    "nvic": "GOU07B",
    "cylinder_configuration": "4 cyl",
    "engine_capacity_litres": "2.4L",
    "Seller Type": "Dealer used",
    "Make, Model": "Honda Accord",
    "Body Type": "Sedan",
    "Transmission": "Automatic",
    "Drive Train": "Front Wheel Drive",
    "Cylinder Configuration": "4 cyl",
    "Odometer": "207,744 km",
    "Fuel Type": "Petrol - Unleaded",
    "Colour": "Silver or Chrome",
    "Variant": "VTi-L",
    "Is your car registered?": "Yes",
    "Year": "2007",
    "Stock Number": "2677",
    "Engine Capacity": "2.4L",
    "VIN": "MRHCM564O6PO6O528",
    "Air conditioning?": "Yes"
  },
  "attributeDetails": null,
  "condition": null,
  "locationId": 3008365,
  "locationName": "Hamilton Hill",
  "locationPath": [
    "Western Australia",
    "Perth Region",
    "Cockburn Area",
    "Hamilton Hill"
  ],
  "suburb": "Hamilton Hill",
  "city": "Perth Region",
  "state": "WA",
  "postcode": "6163",
  "address": "By Appointment Only Hamilton Hill WA 6163",
  "latitude": -32.08184,
  "longitude": 115.7682,
  "distance": null,
  "postedAt": "2026-10-08T04:18:59Z",
  "postedLabel": null,
  "listedAt": "2026-10-20T04:35:25Z",
  "createdAt": null,
  "updatedAt": "2026-10-20T04:35:25Z",
  "bumpedAt": null,
  "expiresAt": "2026-11-22T04:19:00Z",
  "daysOnSite": 12,
  "sellerId": "6615329903210",
  "accountId": null,
  "sellerName": "R & K Wholesale",
  "sellerType": "trade",
  "sellerTypeLabel": "Dealer used",
  "seller": {
    "id": "6615329903210",
    "name": "R & K Wholesale",
    "type": "trade",
    "memberSince": "January 2013",
    "phoneVerified": false,
    "paymentVerified": false,
    "paypalLinked": false,
    "acceptsPayments": false,
    "imageUrl": null,
    "dealerLicence": "13662",
    "address": "By Appointment Only Hamilton Hill, WA 6163",
    "isDealer": true,
    "isBusiness": true,
    "posterType": "PRIVATE",
    "profileUrl": "https://www.gumtree.com.au/web/s-user/6615329903210",
    "contactName": "R & K Wholesale",
    "registeredAt": "2013-01-08T05:23:15Z",
    "lastActiveAt": null,
    "joinedLabel": "Joined Jan 2013",
    "activeLabel": null,
    "activeListings": 5,
    "soldListings": 0,
    "location": "Hamilton Hill, WA",
    "emailVerified": true,
    "verificationLevel": 0,
    "rating": null,
    "reviewCount": 0,
    "ratingTags": [],
    "ratingBadges": [],
    "ratingScores": [],
    "businessName": "R & K Wholesale",
    "business": {
      "name": "R & K Wholesale",
      "about": "Welcome to R & K Wholesale",
      "address": "By Appointment Only Hamilton Hill, WA 6163",
      "dealerLicence": "13662",
      "website": "http://rkwholesale.com.au/",
      "tradingHours": [
        "Monday: 09:00 AM to 05:00 PM",
        "Tuesday: 09:00 AM to 05:00 PM"
      ],
      "phone": "+61895216003",
      "logoUrl": null,
      "latitude": -32.08184,
      "longitude": 115.7682
    },
    "phone": "+61895216003",
    "socialLogins": null,
    "phoneVerifiedProfile": false,
    "displayName": "R & K Wholesale",
    "profileImageUrl": null
  },
  "hasPhone": true,
  "phone": "+61895216003",
  "phoneMasked": "******216003",
  "canMessageSeller": true,
  "canChatOnWhatsapp": null,
  "canMakeOffer": null,
  "contactMethods": [
    "chat",
    "phone"
  ],
  "website": null,
  "applyUrl": null,
  "images": [
    "https://images.gumtree.com.au/image/private/t_$_s-l1600/move/75ff6a68-40cb-45b0-b2b3-1ed507af9c55",
    "https://images.gumtree.com.au/image/private/t_$_s-l1600/move/057104f2-4e21-4e87-a134-34a2e00e2e6d"
  ],
  "imageCount": 17,
  "videos": [],
  "hasVideo": false,
  "isFeatured": false,
  "isTopAd": false,
  "isUrgent": false,
  "isHighlighted": false,
  "isPremium": false,
  "isBumpedUp": false,
  "promotions": [],
  "listingFeatures": [
    {
      "name": "B2C_PACKAGE_1",
      "shown": false
    },
    {
      "name": "AD_LISTING_FEE",
      "shown": false
    },
    {
      "name": "AD_RECURRING_BUMP_UP",
      "shown": false
    },
    {
      "name": "SUPER_PREMIUM_AD",
      "shown": false
    }
  ],
  "listingFlags": {
    "newsAndReviews": true,
    "underServicedListing": true,
    "showCaravansDisclaimer": false,
    "homelyListing": false,
    "petsCategory": false,
    "externalRealEstateListing": false,
    "carsVansUtesCategory": true,
    "servicesForHireCategory": false,
    "sellerVIP": false,
    "otherVehiclesAndBoatsCategory": false,
    "jobsCategory": false,
    "realEstateCategory": false
  },
  "listingPackage": null,
  "listingPackageLabel": "Plus",
  "views": 119,
  "favourites": null,
  "chats": null,
  "whatsappChats": null,
  "phoneReveals": null,
  "deliveryOption": null,
  "deliveryLabel": null,
  "offersDelivery": null,
  "supportsShipping": null,
  "vehicleHistory": {
    "ppsrReportAvailable": false,
    "historyCheckAvailable": true,
    "ppsrReportId": null
  },
  "services": null,
  "sellerListings": [
    {
      "listingId": "1345239578",
      "title": "2014 HYUNDAI i30 SE",
      "price": 8872,
      "originalPrice": null,
      "priceType": "FIXED",
      "priceNote": "Excl. Gov. Charges",
      "categoryId": 18320,
      "topCategoryId": 9299,
      "location": "Hamilton Hill, WA",
      "imageUrl": "https://images.gumtree.com.au/image/private/t_$_35/move/cfb9d226-a9b8-47ea-a6ae-74cdb71cfd63",
      "url": "https://www.gumtree.com.au/web/listing/cars-vans-utes/1345239578"
    }
  ],
  "similarListings": [],
  "changeType": null,
  "previousPrice": null,
  "searchTerm": null,
  "searchUrl": "https://www.gumtree.com.au/s-ad/1345016624",
  "searchPage": null,
  "position": null,
  "scrapedAt": "2026-10-20T08:12:56Z"
}
```

#### Example: what UK and South African rows add

Excerpts from real rows (other columns as above). The UK shows the seller's number with the last digits hidden, saves (`favourites`), delivery and exact dates; South Africa shows views, chats and phone reveals, and the phone and email of business sellers.

```json
{
  "listingId": "1512687778",
  "country": "UK",
  "url": "https://www.gumtree.com/p/iphone/iphone-14-unlocked-128gb/1512687778",
  "title": "iPhone 14 Unlocked 128gb",
  "price": 220,
  "priceText": "£220.00",
  "condition": "As good as new",
  "locationName": "Worsley",
  "postcode": "M283EU",
  "latitude": 53.5368,
  "longitude": -2.40049,
  "postedAt": "2026-10-19T15:50:45Z",
  "createdAt": "2026-04-20T15:18:40Z",
  "updatedAt": "2026-10-19T15:50:45Z",
  "expiresAt": "2027-01-17",
  "sellerName": "Hamid",
  "sellerType": "private",
  "sellerTypeLabel": "Private",
  "phoneMasked": "0730522XXXX",
  "favourites": 0,
  "deliveryOption": "COLLECTION_ONLY",
  "deliveryLabel": "Collection only",
  "vehicleHistory": null,
  "seller": {
    "isProAccount": false,
    "identityVerified": false,
    "id": "97900461",
    "accountId": "97361043",
    "publicId": "cc0ed863c17d0299f4945ed511b2242b",
    "name": "Hamid",
    "type": "private",
    "memberSince": "2+ years",
    "lastActiveAt": "2026-10-20T01:29:37Z",
    "replySpeed": null,
    "replyRate": null,
    "rating": 4.38,
    "reviewCount": 78,
    "ratingBreakdown": {
      "1": 11,
      "2": 0,
      "3": 0,
      "4": 4,
      "5": 63
    },
    "adsPostedLastYear": 340,
    "totalListings": 410,
    "listingsByCategory": {
      "For Sale": 399,
      "Motors": 11
    },
    "website": null,
    "badges": [],
    "profileUrl": "https://www.gumtree.com/profile/account/cc0ed863c17d0299f4945ed511b2242b"
  }
}
```

```json
{
  "listingId": "ls25sm9tjmmfr3j5kqp",
  "country": "ZA",
  "url": "https://www.gumtree.co.za/electronics/northcliff/iphone-15-pro-max-1tb-blue-pre-owned-ls25sm9tjmmfr3j5kqp",
  "title": "iPhone 15 Pro Max 1TB Blue Pre Owned",
  "price": 14999,
  "priceText": "R 14 999",
  "allowOffers": false,
  "categoryPath": [
    "All Categories",
    "Electronics",
    "Mobile Devices",
    "Phones"
  ],
  "locationPath": [
    "South Africa",
    "Gauteng",
    "Randburg",
    "Northcliff"
  ],
  "latitude": -26.09166,
  "longitude": 27.96014,
  "postedAt": "2026-10-19T17:20:41Z",
  "expiresAt": "2027-01-10T17:14:28Z",
  "views": 317,
  "phoneReveals": 4,
  "chats": 7,
  "whatsappChats": 0,
  "sellerName": "Gadget Boys",
  "sellerType": "trade",
  "sellerTypeLabel": "Trade or business seller",
  "phone": "060-983-5575",
  "seller": {
    "id": "r17dwb2w9xqqcf7",
    "name": "Gadget Boys",
    "imageUrl": "https://media.gumtree.co.za/v1/images/za_avatar_r17dwb2w9xqqcf7_260928_6aba5086d049890001e5ce3e",
    "isPartner": true,
    "profileUrl": "https://www.gumtree.co.za/seller/gadget-boys-r17dwb2w9xqqcf7",
    "type": "trade",
    "memberSince": "2017-06-11T12:43:54Z",
    "identityVerified": false,
    "phoneVerified": false,
    "contactName": "Muddassir Mansoor",
    "contactId": "s17p40w6r2tccpd",
    "contactMemberSince": "2017-11-06T12:44:45Z",
    "rating": null,
    "reviewCount": 0,
    "profileType": "BRANCH",
    "phone": "060-983-5575",
    "email": "info@gadgetboys.co.za"
  }
}
```

### Monitoring: new listings and price changes

Switch on `onlyNewListings` and run the same input on a [schedule](https://docs.apify.com/platform/schedules), for example every morning. The first run returns everything and remembers it in your own Apify storage. Later runs return only listings the earlier runs did not, each with `changeType: "new"`. Set `priceChanges` to `drops` or `any` to also get listings whose price changed, with `changeType` (`price_drop` or `price_increase`) and `previousPrice`.

Skipped listings cost nothing. Listings cut off by the result limit are not remembered, so the next run still returns them. Connect the dataset to Slack, email, Google Sheets or a webhook with Apify [integrations](https://docs.apify.com/platform/integrations) to get alerts.

### How much does it cost to scrape Gumtree?

You pay per listing delivered, with full listing detail and the seller's profile included. The Free plan pays $1.99 per 1,000 listings, Bronze $1.79, Silver $1.69, Gold and above $1.39.

Searches that find nothing, duplicate listings and listings skipped by monitoring add no listing charge, and seller reviews, contact options, website e-mails and car finance cost nothing extra (they make runs slower). Set a maximum cost per run in the run options to cap spending; the run stops there and says so in the log.

### FAQ

**Is there an official Gumtree data export?**
Gumtree offers no public data export for listings. This actor returns the same listings you see on Gumtree as structured data, ready for JSON, CSV, Excel or your own pipeline through Apify integrations.

**Which Gumtree sites are supported?**
gumtree.com.au, gumtree.com and gumtree.co.za. The other Gumtree domains are not live Gumtree marketplaces (gumtree.co.nz, for example, is parked).

**How many listings can one search return?**
Many more than Gumtree's own pages show. Gumtree's own results stop after part of a large search (10,000 listings in Australia, a few hundred in South Africa, about 1,600 in the UK); this actor keeps going past that point, without duplicates: one Australian car search returned 12,000 unique listings. In the UK and South Africa, a very large search can miss some listings that have no price.

**Can I get the seller's phone number?**
Yes for dealers and businesses that publish one (`phone`, and `seller.business.phone`). Private sellers' full numbers are only shown to logged-in Gumtree users on all three sites, so they are not included; `hasPhone` tells you whether one exists, and `phoneMasked` shows it with the digits partly hidden (UK always, Australia with `includeContactOptions`). For businesses with a website, `findSellerEmails` adds the e-mail addresses published there.

**Can I see a seller's reviews and rating?**
Yes, where Gumtree shows them. Australian and UK rows carry the seller's rating and number of ratings, and Australian rows also the rating tags. Switch on `includeSellerReviews` to add the reviews: in Australia written reviews with text, stars, date and reviewer; in the UK stars, date, reviewer and feedback tags, plus the seller's rating tags. Reviews are most common for services and trade sellers. South Africa shows only a rating summary (`seller.rating`, `seller.reviewCount`) where the seller has one.

**Do I need a Gumtree account or cookies?**
No.

**Why are some fields empty?**
Fields follow each site and each listing. For example, views exist in Australia and South Africa but not in the UK, `originalPrice` only appears after a price drop, and dealer details only appear for dealers. With `includeDetails` off, rows carry what the search results show.

**Why did my run return fewer listings than expected?**
Check the filters: a price range leaves out listings without a price, and a seller type or car filter can be strict. If a search, link or result page could not be read, the run log says how many, and running again retries them. If part of a very large search is out of reach, the log says about how many listings, and a narrower search (location, category or price) reaches them.

### Support

Found a bug or need a field? Open an issue on the [Issues tab](https://apify.com/clearpath/gumtree-scraper/issues) or email max@mapa.slmail.me.

This actor is not affiliated with Gumtree. It collects listings that Gumtree shows publicly; you are responsible for how you use the data, including personal data under the laws that apply to you.

# Actor input Schema

## `searchTerms` (type: `array`):

What to search for, one term per line, for example <code>iphone 15</code> or <code>toyota hilux</code>. Each term runs as its own search (combined with every location below). Leave empty to browse a category or location without a keyword. Up to 500 searches and links per run.

## `country` (type: `string`):

Which Gumtree to search with the fields on this page. Links pasted below are recognised automatically, so this setting does not apply to them.

## `locations` (type: `array`):

Optional. Cities, suburbs, regions or postcodes, one per line, for example <code>Sydney</code>, <code>NSW</code>, <code>Manchester</code>, <code>SW1A 1AA</code> or <code>Cape Town</code>. Each location runs as its own search. Leave empty for the whole country.

## `category` (type: `string`):

Optional. A category name as shown on Gumtree, for example <code>Cars, Vans & Utes</code>, <code>iPhone</code>, <code>Property</code> or <code>cars</code>. Leave empty to search all categories.

## `maxResults` (type: `integer`):

Most listings to return for the whole run, across all searches and links. Leave empty or set 0 to get every result the searches find, including searches larger than Gumtree's own result pages show.

## `startUrls` (type: `array`):

One link per line. Supported: search and category pages (for example <code>https://www.gumtree.com.au/s-cars-vans-utes/perth/c18320l3008303</code>), listing pages, and seller pages (<code>gumtree.com.au/web/s-user/...</code>, <code>gumtree.com/profile/account/...</code>, <code>gumtree.co.za/seller/...</code>). Keyword, category, location, price, sort, seller type and car filters already in a link are kept.

## `minPrice` (type: `integer`):

Only listings priced at or above this amount, in the site's currency (AUD, GBP or ZAR). Listings without a price are left out when a price filter is set.

## `maxPrice` (type: `integer`):

Only listings priced at or below this amount, in the site's currency.

## `sellerType` (type: `string`):

Only private sellers, or only businesses and dealers. Leave empty for both.

## `radiusKm` (type: `integer`):

Distance around each location, in kilometres. Australia and the UK; the UK rounds to its nearest mile option. Leave empty for the location itself.

## `sort` (type: `string`):

Order in which listings are collected. Newest first works best with a result limit, the date cutoff and monitoring. Nearest first applies in Australia and the UK; South Africa uses relevance instead.

## `postedSince` (type: `string`):

Only listings posted on or after this point: a date such as <code>2026-10-01</code> or an age such as <code>7 days</code>, <code>12 hours</code> or <code>2 weeks</code>.

## `carMake` (type: `string`):

For example <code>Toyota</code>, <code>BMW</code> or <code>Alfa Romeo</code>.

## `carModel` (type: `string`):

Used together with the make, for example <code>Corolla</code> or <code>3 Series</code>.

## `carYearMin` (type: `integer`):

Earliest model or registration year, for example <code>2015</code>.

## `carYearMax` (type: `integer`):

Latest model or registration year.

## `mileageMin` (type: `integer`):

Lowest odometer reading, in the site's unit (kilometres in Australia and South Africa, miles in the UK).

## `mileageMax` (type: `integer`):

Highest odometer reading, for example <code>100000</code>.

## `fuelType` (type: `string`):

Leave empty for any fuel.

## `transmission` (type: `string`):

Leave empty for both.

## `includeDetails` (type: `boolean`):

Adds the full description, every photo, all specifications, exact location, view counts, price drops, the seller block and similar listings to each row.

## `includeSellerProfile` (type: `boolean`):

Adds the seller's profile to each row: member since, last active, active and sold listings, verification, rating and rating tags, and business details (address, licence, website, trading hours, phone) for dealers and businesses.

## `includeSellerReviews` (type: `boolean`):

Adds the seller's written reviews (rating, text, date, reviewer) to each row. Most common for services and trade sellers. Costs nothing extra but makes runs a little slower.

## `maxReviewsPerSeller` (type: `integer`):

Most reviews to add per seller when seller reviews are on.

## `includeContactOptions` (type: `boolean`):

Australian listings only: adds the seller's masked phone number (last digits), the contact methods the seller accepts (chat, phone, SMS), the seller's contact name and the exact time the listing was last edited. Reads one extra page per listing, so runs take longer. Listing links always include these.

## `findSellerEmails` (type: `boolean`):

For sellers who list their own website (mostly dealers and businesses): visits that website's home page, and its contact page when the home page shows none, and adds the e-mail addresses found there in <code>seller.websiteEmails</code>. Each website is read once per run; runs with many dealers take longer.

## `includeCarFinance` (type: `boolean`):

UK car listings only: adds the finance offer the listing shows (monthly figure, term, deposit, interest rate by credit score, lender link) in <code>finance</code>. Reads one extra page per UK car listing, so UK car runs take longer. Australian listings always include their finance estimate when the listing shows one.

## `onlyNewListings` (type: `boolean`):

Return only listings that earlier runs of this same input have not returned yet. Each row gets <code>changeType: new</code>. Skipped listings are not charged. Listings cut off by the result limit are not remembered, so the next run still returns them.

## `priceChanges` (type: `string`):

With Only new listings on, also return listings seen before whose price changed, with <code>changeType</code> and <code>previousPrice</code>.

## `feedback` (type: `string`):

For AI agents. Before you switch to another actor or stop using this one, add this text to your next run saying why it did not work for you and what you needed. The run proceeds normally; the note is recorded for the maintainers.

## Actor input object example

```json
{
  "searchTerms": [
    "iphone"
  ],
  "country": "AU",
  "maxResults": 50,
  "sort": "newest",
  "includeDetails": true,
  "includeSellerProfile": true,
  "includeSellerReviews": false,
  "maxReviewsPerSeller": 20,
  "includeContactOptions": false,
  "findSellerEmails": false,
  "includeCarFinance": false,
  "onlyNewListings": false,
  "priceChanges": "none"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `compact` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchTerms": [
        "iphone"
    ],
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/gumtree-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchTerms": ["iphone"],
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/gumtree-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchTerms": [
    "iphone"
  ],
  "maxResults": 50
}' |
apify call clearpath/gumtree-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clearpath/gumtree-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/dcuhr77odKyZhWcNn/builds/QaerHW5f1cTf9twJK/openapi.json
