Core concepts
Cars, listings and IDs
A car is one physical vehicle. When the same vehicle is advertised on several sites, we merge those ads into one car with several listings. Price, mileage, photos and location belong to the listing; make, model and specs belong to the car.
Four kinds of ID appear in every response. They live in separate namespaces, so never pass one where another is expected.
Car ID
l_eCJb-8zB_XcJ-z6Y7oZWjwOpaque string at data.id. Use with /cars/{car_id}. Store it as text.Listing ID
42802955The source's own ad ID at listings[].external.id. Only unique together with its domain.Domain ID
55613The source site at external.domain.id. Enabled IDs come from /domains.Brand and model IDs
88 · 573Catalogue IDs at brand.id and model.id. Come from /brands and /models.- A car's
listingsis limited to your enabled sources, but can include several listings from the same site. Never assume the first listing is the one you asked for; match ondomain.idandexternal.id. - Missing or
nullmeans "not provided by the source", never zero or false. - The contract is additive. New fields can appear at any time; ignore what you don't use and don't fail on unknown keys.
hashis a SHA-256 of the car without timestamps. If it hasn't changed since your last sync, you can skip the update.
Filter by vehicle type and configuration
Responses now include vehicle_type, generation_id, variant_id and trim_id; missing optional IDs are null. These fields participate in hash. Filters use stored root IDs only: cars without normalized IDs do not match the corresponding selections.
GET /cars/{car_id} · excerpt Live
{
"data": {
"id": "l_eCJb-8zB_XcJ-z6Y7oZWjw",
"vin": "wddhf0cb3ea952710",
"brand": { "id": 88, "name": "Mercedes-Benz" },
"model": { "id": 573, "name": "E-klasse" },
"listings": [
{
"external": {
"id": "42802955",
"domain": { "id": 55613, "name": "fem.encar.com" },
"url": "https://fem.encar.com/cars/detail/42802955"
},
"archived": false,
"price": { "price": 6390000, "currency": { "id": 81, "name": "krw" } },
…
},
{ …second listing of the same car… }
]
}
}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.