Connect key
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 IDl_eCJb-8zB_XcJ-z6Y7oZWjwOpaque string at data.id. Use with /cars/{car_id}. Store it as text.
Listing ID42802955The source's own ad ID at listings[].external.id. Only unique together with its domain.
Domain ID55613The source site at external.domain.id. Enabled IDs come from /domains.
Brand and model IDs88 · 573Catalogue IDs at brand.id and model.id. Come from /brands and /models.
  • A car's listings is 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 on domain.id and external.id.
  • Missing or null means "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.
  • hash is 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.

I have a key