Why cars-data.com
Most car-data APIs are US-centric, English-only and stop at make/model/year. Ours is built for Europe: generation- and facelift-level granularity, a price-history time series, first-class EV specifications, and a CDN of more than 100,000 images.
And it speaks 19 languages — spec labels, terminology and names are localized so you can ship the same product across markets without building your own translation layer.
Endpoints
A versioned REST API. Everything is a GET, returns JSON, and is cacheable. A ?locale= parameter localizes labels and terminology across all 19 languages.
GET/v1/brandsList all brands with model counts.
GET/v1/brands/{slug}/modelsModels for a brand.
GET/v1/models/{id}/generationsGenerations & facelifts for a model.
GET/v1/generations/{id}/variantsVariants within a generation.
GET/v1/variants/{id}Full technical specs for one variant.
GET/v1/variants?fuel=&power_min=&price_max=…Filter variants across attributes.
GET/v1/variants/{id}/pricesPrice history time series.
GET/v1/variants/{id}/imagesCDN image URLs in three sizes.
GET/v1/search?q=Typeahead across brands, models & variants.
GET/v1/compare?ids=Compare up to several variants side by side.
GET/v1/specs/catalogMetadata for all 180 spec types.
Example
Request
curl https://api.cars-data.com/v1/variants/12345?locale=en \
-H "X-Api-Key: YOUR_API_KEY"
Response
{
"data": {
"id": 12345,
"brand": "bmw",
"model": "3-series",
"generation": "g20",
"name": "320i",
"year": 2019,
"specs": {
"power_hp": { "v": 184, "u": "hp", "label": "Power" },
"torque_nm": { "v": 300, "u": "Nm", "label": "Torque" },
"fuel_type": { "v": "petrol", "label": "Fuel type" },
"transmission": { "v": "automatic", "label": "Transmission" },
"accel_0_100_s": { "v": 7.1, "u": "s", "label": "0–100 km/h" },
"cons_combined": { "v": 6.1, "u": "l/100km","label": "Consumption" },
"co2_g_km": { "v": 138, "u": "g/km", "label": "CO₂" }
}
},
"meta": { "locale": "en", "units": "metric", "last_synced": "2026-06-01" }
}
Bulk exports & enterprise licensing
Order a one-time export, or tell us about a larger data-licensing or enterprise need — this track opens in phases and we’ll reach out to scope it with you. (Just want to call the live API or connect an agent? That’s the AI-agents page.)
Frequently asked questions
I just want to call the API or connect an AI agent — can I do that now?
Yes. The live self-serve API, MCP server and Apify Actor are on the companion page, cars-data.com/en/api/for-ai-agents, with an instant free key. This page covers the separate data-licensing track — one-time bulk exports and custom/enterprise contracts.
When are bulk exports and enterprise contracts available?
The one-time export packages are available now via manual fulfilment (see pricing). Enterprise/data-licensing contracts open in phases — join the list below and we will reach out as your use case fits an upcoming phase.
What format does the API use?
A versioned REST API (/v1) returning JSON, authenticated with an X-Api-Key header. Responses are cacheable and consistent, with cursor pagination and an OpenAPI specification.
Which languages are supported?
Spec labels, terminology and brand/model names are available in 19 languages via a locale parameter. Numeric values are language-independent; free-text value localization is on the roadmap.
How fresh is the data?
Data is refreshed on a regular sync cycle. Each response exposes a last-synced timestamp.
Can I buy the data as a one-time export?
Yes. Three one-time export packages are available — Catalog, Full Specs, and Complete + Media — differing in depth and whether images are included. They ship as CSV/JSON snapshots under an internal-use license. Orders are fulfilled manually and paid by bank transfer or invoice — there is no online checkout.
Where does the data come from?
Specifications are aggregated, normalised and structured by cars-data.com across many sources, then enriched with translations, price history and a consistent schema. All trademarks belong to their respective owners.