Discover/Carsales API
live

Carsales APIcarsales.com

Search and retrieve car listings from carsales.com.au. Filter by make, model, state, and price. Get full specs, images, and seller details via 4 endpoints.

Endpoint health
verified 4d ago
get_models_by_make
get_listing_details
get_makes
search_cars
4/4 passing latest checkself-healing
Endpoints
4
Updated
21d ago

What is the Carsales API?

The Carsales.com API gives programmatic access to Australia's largest automotive marketplace across 4 endpoints. Use search_cars to query listings with filters for make, model, state, and price range, retrieving paginated summaries with fields like mileage, transmission, body type, and engine. Full listing details — including high-resolution images, seller descriptions, and specifications covering dimensions, fuel type, and safety features — are available via get_listing_details.

Try it
Car make slug (e.g. toyota, ford, mazda).
Car model slug (e.g. corolla, hilux). Requires make to be set.
Australian state slug. Requires make and model to be set.
Results offset for pagination (e.g. 0, 12, 24).
Maximum price filter as a numeric string (e.g. 50000).
Minimum price filter as a numeric string (e.g. 20000).
api.parse.bot/scraper/48575139-8ff3-4d8f-8bea-01d39a790116/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/48575139-8ff3-4d8f-8bea-01d39a790116/search_cars?make=toyota&model=hilux&state=vic&offset=0&max_price=80000&min_price=10000' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace carsales-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Carsales SDK — browse makes, search listings, get details."""
from parse_apis.carsales_api import Carsales, AustralianState, ListingNotFound

client = Carsales()

# List available makes on carsales.com.au
for make in client.makes.list(limit=5):
    print(make.name, make.slug)

# Get models for Toyota using constructible Make
toyota = client.make("toyota")
for model in toyota.models.list(limit=5):
    print(model.name, model.slug)

# Search for listings with filters
listing = client.listingsummaries.search(
    make="toyota", model="hilux", state=AustralianState.NSW, limit=1
).first()

# Drill into full details from a summary
if listing:
    print(listing.title, listing.price, listing.mileage)
    try:
        detail = listing.details()
        print(detail.title, detail.price)
        print(detail.description[:100] if detail.description else "No description")
        for key, val in list(detail.specifications.items())[:3]:
            print(key, val)
    except ListingNotFound as exc:
        print(f"Listing removed: {exc.ad_id}")

print("exercised: makes.list / models.list / listingsummaries.search / details")
All endpoints · 4 totalmissing one? ·

Search car listings on carsales.com.au with optional filters for make, model, state, and price range. Returns paginated listing summaries. Pagination uses an offset parameter (increments of ~12 per page). When make is omitted, returns all listings. Model requires make; state requires both make and model.

Input
ParamTypeDescription
makestringCar make slug (e.g. toyota, ford, mazda).
modelstringCar model slug (e.g. corolla, hilux). Requires make to be set.
statestringAustralian state slug. Requires make and model to be set.
offsetstringResults offset for pagination (e.g. 0, 12, 24).
max_pricestringMaximum price filter as a numeric string (e.g. 50000).
min_pricestringMinimum price filter as a numeric string (e.g. 20000).
Response
{
  "type": "object",
  "fields": {
    "listings": "array of listing summary objects with id, slug, title, price, make, model, year, state, mileage, body_type, transmission, engine, location, images",
    "total_count": "integer total number of matching listings"
  },
  "sample": {
    "data": {
      "listings": [
        {
          "id": "OAG-AD-25870390",
          "make": "Toyota",
          "slug": "2023-toyota-hilux-sr5-auto-4x4-double-cab",
          "year": "2023",
          "model": "Hilux",
          "price": "$56,888",
          "state": "NSW",
          "title": "2023 Toyota Hilux SR5 Auto 4x4",
          "engine": "4cyl 2.8L T Diesel",
          "images": [],
          "mileage": "62,488 km",
          "location": "NSW",
          "body_type": "Ute",
          "transmission": "Automatic"
        }
      ],
      "total_count": 4703
    },
    "status": "success"
  }
}

About the Carsales API

Search and Filter Listings

The search_cars endpoint accepts optional make, model, state, min_price, max_price, and offset parameters. Pagination is offset-based in increments of 12. Each result in the listings array includes id, slug, title, price, year, mileage, body_type, transmission, and engine. The total_count field tells you how many results match the query. Note that model requires make to be set, and state requires both make and model.

Listing Details and Specifications

get_listing_details takes the slug and ad_id from a search result and returns the full record. The specifications object covers engine configuration, transmission, dimensions, fuel consumption, safety ratings, and features. The images array contains high-resolution URLs. The description field is the raw seller-provided text.

Makes and Models Discovery

get_makes returns a flat list of every make available on carsales.com.au, each with a name and slug. Those slugs feed directly into search_cars and get_models_by_make. get_models_by_make accepts a make slug and returns all model slugs for that make — useful for building dropdowns or validating user input before running a search.

Reliability & maintenanceVerified

The Carsales API is a managed, monitored endpoint for carsales.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when carsales.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official carsales.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a used-car price comparison tool using search_cars with min_price and max_price filters across makes
  • Track average asking prices for a specific model over time using total_count and listing price fields
  • Populate a vehicle selector UI with valid makes and models via get_makes and get_models_by_make
  • Generate vehicle spec sheets by pulling the specifications object from get_listing_details
  • Alert buyers when new listings matching a saved search (make, model, state, price range) appear
  • Aggregate mileage and year data from search results to analyse depreciation curves by model
  • Feed listing images and descriptions into a vehicle showcase or comparison website
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does carsales.com.au have an official developer API?+
Carsales does not publish a public developer API for third-party use. Access to listing data for developers is not offered through an official programme at carsales.com.au.
What does search_cars return and how does pagination work?+
Each call returns a listings array of summary objects (id, slug, title, price, year, make, model, state, mileage, body_type, transmission, engine) and a total_count integer. Pagination is controlled by the offset parameter. Increment it by 12 per page — so page 1 is offset 0, page 2 is offset 12, and so on.
Are there filter restrictions I should know about before building a search?+
Yes. The model parameter only works when make is also provided. The state filter requires both make and model to be set. Omitting a required parent parameter means that filter is silently ignored, so validate your inputs before calling the endpoint.
Does the API cover dealer contact details or the ability to submit enquiries?+
No. The API covers listing data — summaries, specifications, images, and seller descriptions. Dealer phone numbers, contact forms, and enquiry submission are not part of the current endpoints. You can fork this API on Parse and revise it to add an endpoint that retrieves dealer contact information from individual listing pages.
Can I filter search results by body type, transmission, or year?+
The current search_cars filters are make, model, state, min_price, and max_price. Filtering by body_type, transmission, or year is not supported at the search level — those fields appear in results but cannot be used as query parameters. You can fork this API on Parse and revise it to add those filter parameters.
Page content last updated . Spec covers 4 endpoints from carsales.com.
Related APIs in AutomotiveSee all →
carsforsale.com API
Search vehicle listings and browse detailed car inventory by make, model, and trim to find the perfect vehicle on CarsForSale.com. Access comprehensive listing details including pricing, specifications, and availability all in one place.
autotrader.com.au API
Search and browse car listings on AutoTrader Australia with filters by make and model, then view detailed information about specific vehicles. Find available cars with full specs and compare options across thousands of listings using customizable filters.
cars.com API
Search for vehicles on Cars.com using filters like price, make, and model, then get detailed specifications and dealer inventory information for any listing you're interested in. Access comprehensive vehicle details including pricing, features, and dealer contact information all in one place.
autotrader.com API
Search Autotrader.com vehicle listings and access detailed information like pricing, specifications, and VIN data with flexible filtering options. Browse all available vehicle makes and models to refine your search across thousands of listings.
carousell.com.my API
Search for used car listings on Carousell Malaysia and retrieve detailed information including pricing, mileage, vehicle specifications, condition, and seller details. Browse available inventory or look up comprehensive information on specific listings.
autos.mercadolibre.com.ar API
Search for used and new cars on MercadoLibre Argentina and instantly retrieve detailed listings with brand, model, year, mileage, price, location, seller information, and photos. Build car comparison tools, price tracking apps, or market analysis dashboards with comprehensive vehicle data from Argentina's largest online marketplace.
carvana.com API
Search Carvana's used car inventory by make, model, price, fuel type, and more. Retrieve paginated listings with pricing, specs, and delivery details, or fetch comprehensive information for a specific vehicle by ID.
autotrader.ca API
Search vehicle listings on AutoTrader.ca and retrieve detailed information including specifications, pricing, mileage, and seller contact details. Compare listings across makes, models, and locations to support vehicle research and purchasing decisions.