Korean used car data as JSON
What a listing actually looks like coming out of the API, field by field — including the four that are read wrong on the first try and quietly produce nonsense prices.
One listing, in full
This is a real response shape, abbreviated to one vehicle. Korean source values stay exactly as Encar publishes them; the en and de blocks hold the same car translated, and those are the ones to render.
{
"Id": "38421907",
"Manufacturer": "현대",
"Model": "그랜저 IG",
"Badge": "2.4 프리미엄",
"en": { "manufacturer": "Hyundai", "model": "Grandeur IG", "badge": "2.4 Premium",
"fuelType": "Gasoline" },
"de": { "manufacturer": "Hyundai", "model": "Grandeur IG", "badge": "2.4 Premium",
"fuelType": "Benzin" },
"Price": 2820,
"Year": 202103,
"FormYear": "2021",
"Mileage": 42150,
"FuelType": "가솔린",
"Transmission": "오토",
"OfficeCityState": "서울",
"powerPs": 190,
"Photo": "/carpicture/carpicture05/pic3842/38421907_",
"priceDrop": { "previousPrice": 2950, "droppedAt": "2026-10-14" }
}The four fields that trip everybody
Each of these is a real unit, not a quirk of the API — they are how the Korean market records a car, and they are preserved rather than guessed at so no information is lost on the way to you.
- Price is in units of 10,000 KRW. 2820 means 28,200,000 won, roughly €18,900. Multiply, do not read it as euros.
- Year is YYYYMM, not a year. 201902 is February 2019. FormYear carries the plain "2019" if that is all you need.
- Manufacturer, Model, Badge and FuelType are Korean. The en and de blocks hold the translations — read those for display and keep the originals for matching back to the source.
- Photo is a relative path. Prefix it with the image host, and with the singular Photo field append 001.jpg to get the first picture.
Every field
A listing carries more than a list page needs, which is deliberate: filtering client-side on a field the API already filters on costs you requests against your daily allowance.
| field | what it holds |
|---|---|
| Id | Encar listing id. Pass it to /car to get the full vehicle. |
| Manufacturer / Model / Badge | Korean source values. Badge is partly Korean — prefer the de / en block below. |
| de / en | The same car translated: manufacturer, modelGroup, model, badge, fuelType. Render these. |
| Price | In units of 10,000 KRW. EUR ≈ Price × 6.7, so 4339 is about €29,070 — not €4,339. |
| Year | YYYYMM, not a year: 201902 is February 2019. FormYear holds the plain "2019". |
| Mileage | Kilometres, as an integer. |
| FuelType | Korean. The translated value is in de.fuelType / en.fuelType. |
| Photo / Photos[] | Relative paths. Prefix them with the image host; with Photo, append 001.jpg. |
| priceDrop | Present when the seller cut the price: previousPrice, droppedAt. |
| powerPs / powerKw | Engine output, where the trim is known. |
| OfficeCityState | Where the car stands, as a Korean region name. |
Shape of a search response
A search returns an object, not a bare array, because the totals have to live somewhere. Read total to know how many pages exist; count is only the size of the page in your hand. Pagination is zero-based and count caps at 500.
{
"total": 1947, // listings matching the filters
"page": 0, // zero-based page index
"count": 24, // listings in THIS page
"results": [ /* listings, as above */ ]
}Questions people ask about this
Why is the price in my JSON so low?
Price is in units of 10,000 Korean won. A value of 2820 is 28,200,000 KRW — about €18,900. Multiply by roughly 6.7 to get euros, or use the priceFrom and priceTo filters, which take and return EUR directly.
Are the Korean fields translated?
Yes. Every listing carries en and de blocks with manufacturer, modelGroup, model, badge and fuelType translated. The original Korean values stay in place alongside them so nothing is lost.
Get your API key
Free tier, 100 requests a day. Enter your email and the key arrives immediately, with everything you need to make the first call.
- 100 requests a day
- No credit card
- Your key never expires
Questions, or Pro and Enterprise volume? Reply straight to the key email — it reaches a person, not a form. Or message us on WhatsApp if that is quicker: +383 49 644 168
See it on your own data
Take a free key and the first response lands in your terminal inside a minute.
Keep reading
The data comes from a Korean source, so four of these fields are read wrong by default. Each one fails silently — your page renders, it is simply incorrect.
Three endpoints, one header, JSON out. Everything below is the complete reference — there is no second, paid tier of documentation.
What the Encar catalogue holds at this moment: {total} live listings across {brands} brands. Every figure on these pages came back from the same API you can call yourself.