# Carsales.com.au Listings Scraper

> Carsales.com.au Listings Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured car listing data from carsales.com.au by search parameters or direct URLs, returning make, model, year, badge, body style, and canonical URL for each vehicle.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/carsales?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/carsales-com-au-listings-scraper-8dfc5796
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QMZ-za30LnECPW-cnDxVo

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability carsales-com-au-listings-scraper-8dfc5796 -d '<json body>'
```

Example prompt: Search carsales.com.au for used Toyota RAV4 listings in Victoria and give me up to 50 results with their make, model, year, and listing URLs.

## When to prefer this

Use this endpoint when you need structured vehicle listing data from the Australian carsales.com.au marketplace, either by building a search with make/model/state/condition parameters or by passing known carsales URLs directly. Prefer this over generic web scrapers when the target is specifically carsales.com.au and you need clean, schema-consistent output for Australian car inventory.

## Known failure modes

- Empty result set if no listings match the search criteria (not charged)
- Access block on detail pages when includeListingDetails is true, resulting in missing fields
- Invalid or expired startUrls returning no data
- Exceeding maxPages limit of 20 causing truncated results
- Malformed make/model strings returning zero matches

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of matched listings and an array of items, each containing fields such as title, make, model, year, badge, body style, network ID, and canonical URL. The product field confirms the source as 'carsales'.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "make": {
   "type": "string",
   "description": "Manufacturer for search mode, such as a make shown in a public search URL."
  },
  "mode": {
   "enum": [
    "url",
    "search"
   ],
   "type": "string",
   "default": "url",
   "description": "Use supplied public search or detail URLs, or build a search from the fields below."
  },
  "model": {
   "type": "string",
   "description": "Model for search mode. Set a make as well."
  },
  "state": {
   "enum": [
    "",
    "new-south-wales",
    "victoria",
    "queensland",
    "south-australia",
    "western-australia",
    "tasmania",
    "australian-capital-territory",
    "northern-territory"
   ],
   "type": "string",
   "default": "",
   "description": "Australian state or territory for search mode."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many listings across all URLs. Zero removes the item limit."
  },
  "maxPages": {
   "type": "integer",
   "default": 20,
   "maximum": 20,
   "minimum": 1,
   "description": "Maximum search pages to request per URL. Detail URLs produce one record."
  },
  "condition": {
   "enum": [
    "",
    "new",
    "used",
    "demo"
   ],
   "type": "string",
   "default": "used",
   "description": "Vehicle condition for search mode."
  },
  "startUrls": {
   "type": "array",
   "description": "Public carsales.com.au search or vehicle detail URLs. Used in URL mode."
  },
  "includeListingDetails": {
   "type": "boolean",
   "default": false,
   "description": "Request each listing's public detail page to fill more fields. This uses more requests and may encounter access blocks."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "make": null,
    "year": null,
    "badge": null,
    "model": null,
    "title": null,
    "bodyStyle": null,
    "networkId": null,
    "canonicalUrl": null
   }
  ],
  "product": "carsales"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/carsales-com-au-listings-scraper-8dfc5796/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
