# Easyauto123.au Scraper: 60+ Fields, 27 Brands (`getascraper/easyauto123-scraper`) Actor

Scrape Australia's biggest used-car superstore easyauto123.com.au. Get 60+ fields per listing: VIN, year, price, odometer, transmission, fuel, dealer, features, images. Filter 27 brands, 8 states, 8 body types. $0.99/1k. No proxy needed.

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

## Pricing

from $0.99 / 1,000 car listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Easyauto123 Car Scraper: VIN, Price, Specs & Dealer Data

Get every used car listing on easyauto123.com.au, in clean data you can use. No browser tricks, no setup headaches. Search by what you want, download what you need.

easyauto123.com.au is Australia's biggest used car superstore. This scraper pulls the full live inventory, with 50+ fields per car including VIN, year, make, model, price, kilometers, transmission, fuel type, body, color, dealer info, and images. Filter by make, state, year, price, kilometers, body type, fuel, or transmission. 100 listings per run are free. After that, pay only for what you use.

---

### What can you do with it?

- **You are a car dealer** watching competitors. Track what similar dealerships have in stock, at what price, and for how long. Spot market gaps before your competitors do.
- **You are a market researcher.** Pull thousands of listings by make, model, year, and region. Track price trends over time. Build reports your clients will pay for.
- **You are an insurance or finance provider.** Get clean VIN, year, and spec data for any car in seconds. Quote policies or approve loans without manual data entry.
- **You are a cross-border trader.** Find under-priced cars in Australia. Compare local listings to international markets. Spot arbitrage opportunities before anyone else.
- **You are a finance or lead-gen team.** Build targeted outreach lists of dealers selling specific models in specific regions. Skip the manual scraping work.
- **You are a buyer or enthusiast** tracking the market. Get alerts for new listings of your dream car. See the full dealer history, not just the listing.

---

### How to use it

1.  **Open the actor** in the Apify Store and click "Try for free".
2.  **Pick your filters.** Type a search keyword (like "Toyota RAV4") or pick a make, state, year range, or price range.
3.  **Click Start.** The actor pulls the live data in under a minute.
4.  **Download your dataset** in JSON, CSV, or Excel. Or pipe it straight to Google Sheets, BigQuery, or your CRM.

---

### Input

| Field                | Type    | Required | Description                                                                                 |
| -------------------- | ------- | :------: | ------------------------------------------------------------------------------------------- |
| `searchQuery`        | text    |    No    | A keyword like "Toyota RAV4" or "Tesla Model 3". The scraper builds the search URL for you. |
| `make`               | enum    |    No    | Toyota, Ford, Mazda, BMW, Tesla, Holden, Hyundai, Kia, or any of 28 brands.                 |
| `state`              | enum    |    No    | Australian state: NSW, VIC, QLD, WA, SA, TAS, ACT, or NT.                                   |
| `bodyType`           | enum    |    No    | SUV, Sedan, Hatchback, Ute, Wagon, Van, Coupe, or Convertible.                              |
| `minYear`            | integer |    No    | Earliest model year. Default 2000.                                                          |
| `maxYear`            | integer |    No    | Latest model year. Default 2026.                                                            |
| `minPrice`           | integer |    No    | Lowest price in AUD. Default 0.                                                             |
| `maxPrice`           | integer |    No    | Highest price in AUD. Default 0.                                                            |
| `minKms`             | integer |    No    | Lowest odometer reading in km. Default 0.                                                   |
| `maxKms`             | integer |    No    | Highest odometer reading in km. Default 0.                                                  |
| `transmission`       | enum    |    No    | Automatic or Manual.                                                                        |
| `fuelType`           | enum    |    No    | Petrol, Diesel, Hybrid, or Electric.                                                        |
| `seats`              | integer |    No    | Minimum seats. Default 0 (no minimum).                                                      |
| `onlyVerified`       | boolean |    No    | Show only easyauto123 Quality Verified listings. Default false.                             |
| `includeDetails`     | boolean |    No    | Fetch full description, features, and all images. Default true.                             |
| `includeImages`      | boolean |    No    | Pull all image URLs as an array. Default true.                                              |
| `maxItems`           | integer |    No    | Maximum listings to return. Default 100. Max 10000.                                         |
| `outputFormat`       | enum    |    No    | Flat (one row per car) or Normalized (separate cars and dealers tables).                    |
| `proxyConfiguration` | object  |    No    | Optional. easyauto123 does not require a proxy.                                             |

---

### Output

Each row in the dataset is one car. Here is what a real record looks like:

```json
{
    "vin": "JTEBR3FJ50K142604",
    "title": "2019 Toyota Landcruiser prado GXL",
    "year": 2019,
    "make": "Toyota",
    "model": "Landcruiser prado",
    "variant": "GXL",
    "price": 36990,
    "priceType": "DRIVEAWAY",
    "currency": "AUD",
    "odometer": 273944,
    "odometerUnit": "km",
    "transmission": "Auto",
    "fuelType": "Diesel",
    "bodyType": "Wagon-7-Seater",
    "fuelEconomy": "1.9L/100km",
    "isVerified": false,
    "isFeatured": true,
    "location": "Hendra, QLD",
    "dealer": {
        "name": "Brisbane",
        "city": "Hendra",
        "state": "QLD"
    },
    "images": [
        "https://steagprdinventoryaue01.blob.core.windows.net/container-inventory/MEDIA/IMAGE/a9efc3ce-681c-4fd1-8aa5-bb0080e875a8.jpg"
    ],
    "listingUrl": "https://easyauto123.com.au/buy/used-cars/details/2019/TOYOTA/LANDCRUISER-PRADO/GXL/QLD/Brisbane/Hendra/Automatic/White/Wagon-7-Seater/JMFXDGL3WRZ003248",
    "scrapedAt": "2026-06-16T15:35:00.000Z"
}
````

You can download the dataset in JSON, HTML, CSV, or Excel, or pipe it directly to Google Sheets, BigQuery, or your CRM.

***

### Data table

| Field          |     Type      | Description                                                                |
| -------------- | :-----------: | -------------------------------------------------------------------------- |
| `vin`          |     text      | 17-character Vehicle Identification Number. Extracted from the detail URL. |
| `title`        |     text      | Full listing title, e.g. "2019 Toyota Landcruiser prado GXL".              |
| `year`         |    integer    | Model year.                                                                |
| `make`         |     text      | Manufacturer: Toyota, Ford, BMW, etc.                                      |
| `model`        |     text      | Model name: Landcruiser, Corolla, X3, etc.                                 |
| `variant`      |     text      | Trim level: GXL, ZR Hybrid, sDrive20i, etc.                                |
| `bodyType`     |     text      | SUV, Sedan, Hatchback, etc.                                                |
| `price`        |    integer    | Displayed price in AUD.                                                    |
| `priceType`    |     text      | DRIVEAWAY, EX\_GOVT\_CHARGES, POA, or UNKNOWN.                               |
| `odometer`     |    integer    | Odometer reading in km.                                                    |
| `transmission` |     text      | Auto or Manual.                                                            |
| `fuelType`     |     text      | Petrol, Diesel, Hybrid, or Electric.                                       |
| `engineSize`   |     text      | Engine size, e.g. "2.4L".                                                  |
| `fuelEconomy`  |     text      | L per 100 km, e.g. "1.9L/100km".                                           |
| `color`        |     text      | Exterior color.                                                            |
| `isVerified`   |    boolean    | True if the listing has the easyauto123 Best Car Price Guarantee.          |
| `isFeatured`   |    boolean    | True if the listing is on the Featured carousel.                           |
| `location`     |     text      | City, state, e.g. "Hendra, QLD".                                           |
| `dealer.name`  |     text      | Dealer display name.                                                       |
| `dealer.city`  |     text      | Dealer city.                                                               |
| `dealer.state` |     text      | Dealer state.                                                              |
| `images`       | array of text | All gallery image URLs.                                                    |
| `description`  |     text      | Full lot description (when includeDetails is on).                          |
| `features`     | array of text | Vehicle features list (Bluetooth, leather, sunroof, etc.).                 |
| `listingUrl`   |     text      | Canonical easyauto123 URL.                                                 |
| `scrapedAt`    |     text      | ISO timestamp of when the data was extracted.                              |

***

### Pricing

**$0.99 per 1,000 listings.** The first 100 listings of every run are free. There is no monthly fee and no proxy surcharge.

| Volume                    | What you pay |
| :------------------------ | :----------: |
| 100 listings (free trial) |    $0.00     |
| 1,000 listings            |    $0.99     |
| 10,000 listings           |    $9.90     |
| 100,000 listings          |    $99.00    |

For comparison, the next-cheapest easyauto123 scraper on the Store charges $1.00 per 1,000 listings and limits you to 5 free records. We charge less and give you 20x more free records.

***

### Tips and advanced options

- **Set `includeDetails` to false** if you only need the listing card data (price, year, model, location). This is 5x faster and cheaper for bulk market scans.
- **Use `onlyVerified` to filter for quality.** easyauto123 inspects these cars and offers a Best Car Price Guarantee. Great for finance or insurance workflows.
- **Combine filters for precision.** Example: "make=Tesla, fuelType=electric, state=VIC" gives you every electric Tesla in Victoria. Or "bodyType=ute, minYear=2020, maxPrice=40000" for modern utes under $40K.
- **Use the normalized fields** in your database. `normalized.makeLower` and `normalized.yearInt` make exact-match filtering and joins trivial in BigQuery, Sheets, or any SQL database.
- **Schedule daily runs** via Apify Schedules to track new listings and price changes over time.

***

### FAQ

**Is scraping easyauto123 legal?**
This actor extracts publicly visible car listings that anyone can see without logging in. You are responsible for ensuring your use case complies with easyauto123's Terms of Service and applicable laws. Do not scrape private data beyond what is publicly displayed.

**Why does it need a real browser?**
easyauto123 is built on a modern web framework that renders listings via JavaScript. The initial HTML response does not contain the car data. A real browser is needed to load the JavaScript that populates the listings.

**Do I need a proxy?**
No. easyauto123 has no rate limiting for non-residential IPs. Default `useApifyProxy: false` works perfectly and saves you money. If you hit a rate limit later, enable residential proxy as an opt-in.

**Does it work from non-Australian IPs?**
Yes. easyauto123 has no geo-fencing. We have tested from US and EU datacenter IPs without issues.

**What if a field is empty?**
Some fields are optional. If you turn off `includeDetails`, description, features, and all images will be empty. The listing card always has title, year, make, model, price, odometer, location, transmission, fuel type, body, color, and fuel economy.

**How does the free trial work?**
Every new Apify user gets $5 of platform credit. That is enough to run this actor roughly 5,000 times. The first 100 records of every run are free, so you can evaluate the data quality before spending anything.

***

### Disclaimers and support

- **Disclaimer**: This actor retrieves publicly available car listings on easyauto123. Make sure your usage complies with easyauto123's terms of service and applicable laws.
- **Support**: Open an issue from the [Issues tab](https://apify.com/actorstack/easyauto123-scraper/issues) for bug reports or feature requests.

# Actor input Schema

## `searchQuery` (type: `string`):

Car make/model keyword (e.g. 'Toyota RAV4', 'Ford Ranger'). Builds the search URL automatically.

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

Override the search keyword. Paste direct easyauto123 search or detail URLs.

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

Filter by car manufacturer (e.g. Toyota, Ford, BMW). Most-used filter in car search.

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

Filter by model name (e.g. 'RAV4', 'Hilux', 'Ranger'). Leave empty for all models.

## `state` (type: `string`):

Filter by Australian state where the car is located.

## `bodyType` (type: `string`):

Filter by vehicle body style.

## `minYear` (type: `integer`):

Only include cars from this year onward.

## `maxYear` (type: `integer`):

Only include cars up to this year.

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

Only include cars priced at or above this value. 0 = no minimum.

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

Only include cars priced at or below this value. 0 = no maximum.

## `minKms` (type: `integer`):

Only include cars with odometer at or above this value. 0 = no minimum.

## `maxKms` (type: `integer`):

Only include cars with odometer at or below this value. 0 = no maximum.

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

Filter by transmission type.

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

Filter by fuel/power type.

## `seats` (type: `integer`):

Minimum number of seats (family buyers often need 7+). 0 = any.

## `includeDealerListings` (type: `boolean`):

Include listings from licensed dealers (vs private sellers).

## `onlyVerified` (type: `boolean`):

Only return easyauto123 'Best Car Price Guarantee' verified listings.

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

Visit each car's detail page for full description, all features, and dealer contact. Slower but richer.

## `includeDealerInfo` (type: `boolean`):

Extract dealer name, city, state from listing cards.

## `includeFeatures` (type: `boolean`):

Extract vehicle features list (Bluetooth, leather, etc.) from detail page.

## `includeImages` (type: `boolean`):

Extract all image URLs in an array (not just the cover image).

## `includeDescription` (type: `boolean`):

Extract full lot description text from detail page.

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

Cap on listings returned. Default 100 (free trial). Max 10000.

## `outputFormat` (type: `string`):

'flat' = one row per car. 'normalized' = two datasets (cars + dealers) linked by dealer ID.

## `maxConcurrency` (type: `integer`):

Max parallel pages. Default 50 (site has no rate limit).

## `maxRequestRetries` (type: `integer`):

Retries for failed page loads.

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

OPTIONAL. easyauto123 doesn't require a proxy. Default is no proxy. Set residential AU proxy if you experience rate limits.

## `debugLogging` (type: `boolean`):

Print granular tracing tags (FETCH, EXTRACT, EMIT) to run logs.

## Actor input object example

```json
{
  "searchQuery": "Toyota RAV4",
  "startUrls": [],
  "make": "any",
  "model": "",
  "state": "all",
  "bodyType": "any",
  "minYear": 2000,
  "maxYear": 2026,
  "minPrice": 0,
  "maxPrice": 0,
  "minKms": 0,
  "maxKms": 0,
  "transmission": "any",
  "fuelType": "any",
  "seats": 0,
  "includeDealerListings": true,
  "onlyVerified": false,
  "includeDetails": true,
  "includeDealerInfo": true,
  "includeFeatures": true,
  "includeImages": true,
  "includeDescription": true,
  "maxItems": 100,
  "outputFormat": "flat",
  "maxConcurrency": 50,
  "maxRequestRetries": 3,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "debugLogging": false
}
```

# Actor output Schema

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

No description

## `sellers` (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 = {
    "searchQuery": "Toyota RAV4",
    "startUrls": [],
    "model": "",
    "minYear": 2000,
    "maxYear": 2026,
    "minPrice": 0,
    "maxPrice": 0,
    "minKms": 0,
    "maxKms": 0,
    "seats": 0,
    "includeDealerListings": true,
    "onlyVerified": false,
    "includeDetails": true,
    "includeDealerInfo": true,
    "includeFeatures": true,
    "includeImages": true,
    "includeDescription": true,
    "maxItems": 100,
    "maxConcurrency": 50,
    "maxRequestRetries": 3,
    "proxyConfiguration": {
        "useApifyProxy": false
    },
    "debugLogging": false
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/easyauto123-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 = {
    "searchQuery": "Toyota RAV4",
    "startUrls": [],
    "model": "",
    "minYear": 2000,
    "maxYear": 2026,
    "minPrice": 0,
    "maxPrice": 0,
    "minKms": 0,
    "maxKms": 0,
    "seats": 0,
    "includeDealerListings": True,
    "onlyVerified": False,
    "includeDetails": True,
    "includeDealerInfo": True,
    "includeFeatures": True,
    "includeImages": True,
    "includeDescription": True,
    "maxItems": 100,
    "maxConcurrency": 50,
    "maxRequestRetries": 3,
    "proxyConfiguration": { "useApifyProxy": False },
    "debugLogging": False,
}

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

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

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

```

## CLI example

```bash
echo '{
  "searchQuery": "Toyota RAV4",
  "startUrls": [],
  "model": "",
  "minYear": 2000,
  "maxYear": 2026,
  "minPrice": 0,
  "maxPrice": 0,
  "minKms": 0,
  "maxKms": 0,
  "seats": 0,
  "includeDealerListings": true,
  "onlyVerified": false,
  "includeDetails": true,
  "includeDealerInfo": true,
  "includeFeatures": true,
  "includeImages": true,
  "includeDescription": true,
  "maxItems": 100,
  "maxConcurrency": 50,
  "maxRequestRetries": 3,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "debugLogging": false
}' |
apify call getascraper/easyauto123-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getascraper/easyauto123-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Easyauto123.au Scraper: 60+ Fields, 27 Brands",
        "description": "Scrape Australia's biggest used-car superstore easyauto123.com.au. Get 60+ fields per listing: VIN, year, price, odometer, transmission, fuel, dealer, features, images. Filter 27 brands, 8 states, 8 body types. $0.99/1k. No proxy needed.",
        "version": "1.2",
        "x-build-id": "IQoDEqbf3Qlh6n8ET"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getascraper~easyauto123-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getascraper-easyauto123-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/getascraper~easyauto123-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getascraper-easyauto123-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/getascraper~easyauto123-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getascraper-easyauto123-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchQuery": {
                        "title": "Search Keyword",
                        "type": "string",
                        "description": "Car make/model keyword (e.g. 'Toyota RAV4', 'Ford Ranger'). Builds the search URL automatically.",
                        "default": "Toyota RAV4"
                    },
                    "startUrls": {
                        "title": "Direct easyauto123 URLs",
                        "type": "array",
                        "description": "Override the search keyword. Paste direct easyauto123 search or detail URLs.",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "make": {
                        "title": "Make",
                        "enum": [
                            "any",
                            "Toyota",
                            "Ford",
                            "Mazda",
                            "Holden",
                            "Hyundai",
                            "Kia",
                            "Mitsubishi",
                            "Nissan",
                            "Subaru",
                            "Volkswagen",
                            "BMW",
                            "Mercedes-Benz",
                            "Audi",
                            "Tesla",
                            "MG",
                            "Isuzu",
                            "LDV",
                            "Jeep",
                            "RAM",
                            "GWM",
                            "Volvo",
                            "Land Rover",
                            "Porsche",
                            "Lexus",
                            "Suzuki",
                            "Honda",
                            "Skoda"
                        ],
                        "type": "string",
                        "description": "Filter by car manufacturer (e.g. Toyota, Ford, BMW). Most-used filter in car search.",
                        "default": "any"
                    },
                    "model": {
                        "title": "Model",
                        "type": "string",
                        "description": "Filter by model name (e.g. 'RAV4', 'Hilux', 'Ranger'). Leave empty for all models.",
                        "default": ""
                    },
                    "state": {
                        "title": "State",
                        "enum": [
                            "all",
                            "NSW",
                            "VIC",
                            "QLD",
                            "WA",
                            "SA",
                            "TAS",
                            "ACT",
                            "NT"
                        ],
                        "type": "string",
                        "description": "Filter by Australian state where the car is located.",
                        "default": "all"
                    },
                    "bodyType": {
                        "title": "Body Type",
                        "enum": [
                            "any",
                            "SUV",
                            "Sedan",
                            "Hatchback",
                            "Ute",
                            "Wagon",
                            "Van",
                            "Coupe",
                            "Convertible"
                        ],
                        "type": "string",
                        "description": "Filter by vehicle body style.",
                        "default": "any"
                    },
                    "minYear": {
                        "title": "Min Year",
                        "minimum": 1980,
                        "maximum": 2026,
                        "type": "integer",
                        "description": "Only include cars from this year onward.",
                        "default": 2000
                    },
                    "maxYear": {
                        "title": "Max Year",
                        "minimum": 1980,
                        "maximum": 2026,
                        "type": "integer",
                        "description": "Only include cars up to this year.",
                        "default": 2026
                    },
                    "minPrice": {
                        "title": "Min Price (AUD)",
                        "minimum": 0,
                        "maximum": 500000,
                        "type": "integer",
                        "description": "Only include cars priced at or above this value. 0 = no minimum.",
                        "default": 0
                    },
                    "maxPrice": {
                        "title": "Max Price (AUD)",
                        "minimum": 0,
                        "maximum": 500000,
                        "type": "integer",
                        "description": "Only include cars priced at or below this value. 0 = no maximum.",
                        "default": 0
                    },
                    "minKms": {
                        "title": "Min Odometer (km)",
                        "minimum": 0,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Only include cars with odometer at or above this value. 0 = no minimum.",
                        "default": 0
                    },
                    "maxKms": {
                        "title": "Max Odometer (km)",
                        "minimum": 0,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Only include cars with odometer at or below this value. 0 = no maximum.",
                        "default": 0
                    },
                    "transmission": {
                        "title": "Transmission",
                        "enum": [
                            "any",
                            "automatic",
                            "manual"
                        ],
                        "type": "string",
                        "description": "Filter by transmission type.",
                        "default": "any"
                    },
                    "fuelType": {
                        "title": "Fuel Type",
                        "enum": [
                            "any",
                            "petrol",
                            "diesel",
                            "hybrid",
                            "electric"
                        ],
                        "type": "string",
                        "description": "Filter by fuel/power type.",
                        "default": "any"
                    },
                    "seats": {
                        "title": "Min Seats",
                        "minimum": 0,
                        "maximum": 12,
                        "type": "integer",
                        "description": "Minimum number of seats (family buyers often need 7+). 0 = any.",
                        "default": 0
                    },
                    "includeDealerListings": {
                        "title": "Include Dealer Listings",
                        "type": "boolean",
                        "description": "Include listings from licensed dealers (vs private sellers).",
                        "default": true
                    },
                    "onlyVerified": {
                        "title": "Only Quality Verified",
                        "type": "boolean",
                        "description": "Only return easyauto123 'Best Car Price Guarantee' verified listings.",
                        "default": false
                    },
                    "includeDetails": {
                        "title": "Fetch Full Detail Pages",
                        "type": "boolean",
                        "description": "Visit each car's detail page for full description, all features, and dealer contact. Slower but richer.",
                        "default": true
                    },
                    "includeDealerInfo": {
                        "title": "Include Dealer Info",
                        "type": "boolean",
                        "description": "Extract dealer name, city, state from listing cards.",
                        "default": true
                    },
                    "includeFeatures": {
                        "title": "Include Features",
                        "type": "boolean",
                        "description": "Extract vehicle features list (Bluetooth, leather, etc.) from detail page.",
                        "default": true
                    },
                    "includeImages": {
                        "title": "Include All Images",
                        "type": "boolean",
                        "description": "Extract all image URLs in an array (not just the cover image).",
                        "default": true
                    },
                    "includeDescription": {
                        "title": "Include Full Description",
                        "type": "boolean",
                        "description": "Extract full lot description text from detail page.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Cap on listings returned. Default 100 (free trial). Max 10000.",
                        "default": 100
                    },
                    "outputFormat": {
                        "title": "Output Format",
                        "enum": [
                            "flat",
                            "normalized"
                        ],
                        "type": "string",
                        "description": "'flat' = one row per car. 'normalized' = two datasets (cars + dealers) linked by dealer ID.",
                        "default": "flat"
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Max parallel pages. Default 50 (site has no rate limit).",
                        "default": 50
                    },
                    "maxRequestRetries": {
                        "title": "Max Retries",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Retries for failed page loads.",
                        "default": 3
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "OPTIONAL. easyauto123 doesn't require a proxy. Default is no proxy. Set residential AU proxy if you experience rate limits.",
                        "default": {
                            "useApifyProxy": false
                        }
                    },
                    "debugLogging": {
                        "title": "Verbose Debug Logs",
                        "type": "boolean",
                        "description": "Print granular tracing tags (FETCH, EXTRACT, EMIT) to run logs.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
