Changelog
Changes to the public API. All of them are additive unless marked otherwise, so existing integrations keep working.
vehicle_type=automobile / 1 is the default; motorcycle / 2 selects motorcycles on /search, /search/count and /cars. Use the same type for dictionaries.
Full hierarchy: brands[] → models[] → generations[] → variants[] / trims[]. Every brand/model/generation object needs id. OR between siblings and within each variant/trim list; AND between constraints in one branch. Missing or empty children mean any descendant. Each array accepts up to 100 entries. Unknown or mismatched IDs return no matches; malformed values return 422.
/generations/{model_id} · /trims/{generation_id} · /variants/{generation_id}
Omit vehicle_type for automobiles; motorcycle / 2 selects motorcycles. Preserve this type throughout the hierarchy. Without pagination parameters, /brands and /models keep their legacy arrays and limits. Send per_page=100 for {data,meta}. Embedded generations keep {name,from,to}; use /generations/{model_id} for IDs.
If the key service is briefly unreachable, requests return 503 with Retry-After: 5 instead of failing. A /cars pass now always ends with scroll_id: null.
Every listing now has location_details with localized country, region, district and place. New endpoints /countries, /countries/{id}, /locations and /locations/{id}. next_url now uses HTTPS on the host you called. The steering_wheel_position filter is validated.
is_leasing on /search, /search/count and /cars. /models/{brand_id} now returns 422 for a non-integer brand ID. /search defaults to perPage=50.
Inspection and history reports carry translations.terms, with labels for every standardized key in the requested lang.
Listings can include source_data, the source's own fields passed through unchanged.
/domains returns id, name and base_url for every source.
New endpoint /cars/vin/{vin} for exact VIN lookups.
vehicle_history_reports on detailed endpoints, plus has_history_reports on cars and listings.
inspections and has_inspections, and the new /search/count endpoint.
Get API access
Connect your key to run every request on these pages against your own data. No key yet? Ask us for a demo key: the same JSON as the paid plans.