# 🇦🇺🚘Autotrader.com.au Car Data Scraper (`mrdoe/autotrader-com-au-scraper`) Actor

Extracts new and used car listings from autotrader.com.au by make, model, and condition - price, year, mileage, dealer name/phone, location, images, and more.

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

## Pricing

from $0.70 / 1,000 results

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🚙 Autotrader.com.au Car Data Scraper

**Scrape new and used car listings from autotrader.com.au, including dealer name, phone number, and location for every listing.**

A car market data API for one of Australia's major dealer marketplaces: give it a make and model (or leave them blank) and this actor pulls a structured vehicle listings dataset straight from autotrader.com.au — price, year, trim, mileage, condition, exterior colour, dealer contact details, location, and photos. Built for competitor price monitoring, car dealer lead generation, and used car data extraction, without writing a single line of scraping code.

### 🇦🇺 Part of the Australia Car Data Scraper collection

Use this actor if you only need autotrader.com.au data. For multi-site coverage, use one of the collective actors instead:

- **[All Car Data Scraper Australia](https://apify.com/jordan-byte/all-car-data-scraper-australia)** — searches autotrader.com.au plus 5 more major Australian car sites (new + used) in one run.
- **[Used Car Data Scraper Australia](https://apify.com/jordan-byte/used-car-data-scraper-australia)** — same 6 sites, used/second-hand listings only.

Or scrape another single Australian site directly:

- [Carsales.com.au Car Data Scraper](https://apify.com/jordan-byte/carsales-com-au-scraper)
- [CarsGuide.com.au Car Data Scraper](https://apify.com/jordan-byte/carsguide-com-au-scraper)
- [Pickles.com.au Car Data Scraper](https://apify.com/jordan-byte/pickles-com-au-scraper)
- [Drive.com.au Car Data Scraper](https://apify.com/jordan-byte/drive-com-au-scraper)
- [JustCars.com.au Car Data Scraper](https://apify.com/jordan-byte/justcars-com-au-scraper)

### 🧑‍💼 Who uses this

- **Car dealers** using this as a competitor price monitoring tool against other dealers listed on autotrader.com.au
- **Lead generation businesses** pulling dealer name/phone straight from search results instead of visiting each listing
- **Market researchers** building a vehicle listings dataset for Australia to track price and mileage trends
- **Developers** feeding autotrader.com.au data into their own app, CRM, or dashboard

### ✨ Why use this instead of browsing manually

- 🔎 **Any make, any model, or none at all** — leave make/model blank to search across the whole site instead of one vehicle line (default `maxItems` is 20 per run — raise or set it to `0` for deeper coverage).
- 📞 **Dealer name and phone number included** — every listing comes with the selling dealer's trading name and lead phone number, not just a link to the ad.
- 📍 **Real location data** — city and state for every listing, straight from the search results (no detail-page visit needed).
- 📄 **Real depth** — set "Max results" to `0` and it pages through as much real inventory as the query actually has (up to a 5,000-listing safety ceiling).
- 🛡️ **Built to survive anti-bot walls** — autotrader.com.au blocks non-proxied traffic aggressively; proxy handling is built in.

### 💰 Pricing

This actor makes lightweight HTTP requests only — no browser is launched — so it runs on comparatively few Apify compute units per listing. See the **Pricing** tab on this actor's Store page for current rates before running at scale.

### ⚙️ Input

Nothing is required except a proxy.

| Field | Type | Description |
|---|---|---|
| `make` | string | Optional. e.g. `"Ford"`, `"Toyota"`. Leave blank to search every make. |
| `model` | string | Optional. e.g. `"Ranger"`, `"Corolla"`. Leave blank to search all models of the make. |
| `condition` | string | `"any"` (default), `"new"`, or `"used"` - filters using the site's own new/used classification. |
| `maxItems` | integer | Stop once this many listings are collected. Default `20`. Set to `0` for "no limit". |
| `proxyConfiguration` | object | Required. Defaults to an Australian residential proxy. |

### 📦 Output

One row per listing:

```json
{
  "url": "https://www.autotrader.com.au/car/15241267/ford/ranger/nsw/alexandria/dual-cab",
  "title": "2020 Ford Ranger Wildtrak 3.2 (4X4)",
  "image": "https://images.autotrader.com.au/t_listing_main_at/inventory/2026-07-30/19982024045871/15241267/2020_ford_ranger_Used_1.jpg",
  "make": "Ford",
  "model": "Ranger",
  "price": 30990,
  "vin": null,
  "location": "Alexandria, NSW",
  "sellerName": "Carma",
  "sellerPhone": "0279089228",
  "currency": "AUD",
  "trim": "Wildtrak 3.2 (4x4)",
  "year": 2020,
  "condition": "used",
  "mileage": 172179,
  "exteriorColor": "Black",
  "listedAt": "2026-07-30"
}
```

You can download the dataset in JSON, CSV, Excel, HTML, or several other formats from the Console, or pull it via the API.

### 📝 Notes

- `condition` reflects autotrader.com.au's own new/used classification for that listing. For some commercial and fleet vehicle listings, the site's own "new" tag doesn't necessarily mean zero mileage - always check the `mileage` field alongside `condition` rather than relying on condition alone for those categories.
- `vin` is `null` in this version - it lives on the individual listing page rather than the search results, and isn't pulled through yet.
- A residential Australian proxy is required, not optional - the site blocks non-proxied traffic aggressively.

### ❓ FAQ

**Is this actor affiliated with autotrader.com.au?**
No. This is an independent, unofficial scraper built on Apify — it isn't operated by, endorsed by, or affiliated with autotrader.com.au in any way.

**Do I need to know how to code?**
No. Fill in the input form (make, model, condition), click "Start", and download the results as JSON, CSV, or Excel from the run's Dataset tab.

**Is scraping autotrader.com.au data legal?**
This actor only collects publicly visible listing data. You're responsible for how you use the output — check autotrader.com.au's terms of service and applicable law for your specific use case.

**How much does this cost to run?**
This actor doesn't use a browser, so it consumes fewer compute units than most scrapers on a per-listing basis. See the Pricing tab on the Store page for exact current rates.

**How is this different from the multi-site actor?**
This actor only queries autotrader.com.au. If you want the same kind of data alongside 5 other Australian car sites in a single run, use [All Car Data Scraper Australia](https://apify.com/jordan-byte/all-car-data-scraper-australia) instead.

**Can I schedule this to run automatically?**
Yes — use Apify's built-in Scheduler to run this actor on a recurring basis (hourly, daily, weekly) with no code, so your dataset stays current without you starting it manually.

**Can I get VIN?**
Not in the current version — it lives on the individual listing page rather than the search results, and isn't pulled through yet.

# Actor input Schema

## `make` (type: `string`):

Optional. e.g. "Ford", "Toyota". Leave blank to search every make.

## `model` (type: `string`):

Optional. e.g. "Ranger", "Corolla". Leave blank to search all models of the given make.

## `condition` (type: `string`):

"Both" searches new and used listings together. "New only"/"Used only" scope the search to autotrader.com.au's own new/used classification for each listing (a real site-side filter, not a post-filter guess) - note that for some commercial/fleet vehicle listings the site's own "new" tag doesn't necessarily mean zero-mileage, so always check the mileage field too rather than relying on condition alone.

## `maxItems` (type: `integer`):

Stop once this many listings have been collected. Set to 0 for "no limit" - pages through as much real inventory as the query actually has, up to a 5,000-item safety ceiling.

## `proxyConfiguration` (type: `object`):

Required. autotrader.com.au blocks non-proxied traffic aggressively at any real volume.

## Actor input object example

```json
{
  "make": "Ford",
  "model": "Ranger",
  "condition": "any",
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "AU"
  }
}
```

# Actor output Schema

## `listings` (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 = {
    "make": "Ford",
    "model": "Ranger"
};

// Run the Actor and wait for it to finish
const run = await client.actor("mrdoe/autotrader-com-au-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 = {
    "make": "Ford",
    "model": "Ranger",
}

# Run the Actor and wait for it to finish
run = client.actor("mrdoe/autotrader-com-au-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 '{
  "make": "Ford",
  "model": "Ranger"
}' |
apify call mrdoe/autotrader-com-au-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,mrdoe/autotrader-com-au-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/2LqCtIquvPcpUXUR9/builds/eONbjyaTCcbM90rzl/openapi.json
