Dokumentacja Encar API
Trzy endpointy, jeden nagłówek, JSON na wyjściu. Wszystko poniżej to pełna referencja — nie ma drugiej, płatnej warstwy dokumentacji.
Adres bazowy
https://api.encar-api.com/apiUwierzytelnianie
Wysyłaj klucz w nagłówku x-api-key przy każdym zapytaniu. Nie ma kroku OAuth ani tokenu do odświeżania. Brakujący lub nieznany klucz odpowiada kodem 401.
curl -H "x-api-key: avg_free_..." \
"https://api.encar-api.com/api/cars?manufacturer=BMW&model=X5\
&fuel=diesel&priceTo=40000&sort=priceAsc&count=24"Trzy endpointy
| endpoint | what it does |
|---|---|
| GET /cars | Wyszukiwanie ogłoszeń z filtrami. Zwraca total, page, count i results[]. |
| GET /car?id= | Jeden pojazd w całości, z dostępnością sprawdzaną na żywo w momencie zapytania. |
| GET /count | Ile ogłoszeń pasuje do zestawu filtrów, bez ich pobierania. |
Referencja
Każda sekcja otwiera się tutaj, a każdy nagłówek jest też osobną stroną, którą można zalinkować i zapisać.
Parametry wyszukiwania — GET /cars
Czytaj dalej
Dowolnie je łącz w jednym wywołaniu. Odpowiedź niesie total, page, count i results[], więc możesz stronicować po total bez drugiego zapytania.
| parameter | what it does |
|---|---|
| manufacturer | Brand, as Encar writes it: BMW, Hyundai, Kia, Genesis, Mercedes-Benz, Audi. |
| model | Model name, e.g. X5 (G05). Partial names match, and a generation name narrows further: model=The New Carnival returns that generation alone, not the whole nameplate. |
| q | Free-text search across brand, model and badge. Aliases: keyword, search. |
| fuel | diesel · gasoline · hybrid · electric · lpg. |
| transmission | automatic · manual. |
| color | Exterior colour. |
| seats | Seat count: 5, 7, 9. Several at once as seats=7,9. The two ends are ranges, not counts — 2 means two seats or fewer and 10 means ten or more, which is how the source files them. A car's own figure comes back as details.seats from /car. |
| yearFrom / yearTo | Model year bounds, as plain years: 2018, 2024. |
| mileageFrom / mileageTo | Odometer bounds in kilometres. |
| priceFrom / priceTo | Price bounds in EUR — converted for you, not won. |
| sort | priceAsc or priceDesc. Left out, results come back newest first. |
| page | Page index, zero-based. Default 0. |
| count | Listings per page. Default 24, maximum 500. |
Jak wygląda ogłoszenie
Czytaj dalej
Dane pochodzą z koreańskiego źródła, więc cztery z tych pól są domyślnie czytane błędnie. Każdy taki błąd jest cichy — strona się wyrenderuje, tyle że niepoprawnie.
| field | meaning |
|---|---|
| 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. |
Limity i błędy
Czytaj dalej
Każda odpowiedź niesie X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset, więc limit widać nadchodzący, a nie odkrywa się go po fakcie.
| status | meaning |
|---|---|
| 200 | A normal answer. Check X-RateLimit-Remaining while you are here. |
| 400 | A parameter could not be parsed — a non-numeric yearFrom, for instance. |
| 401 | Missing or unknown key. Send it as the x-api-key header. |
| 404 SOLD_OR_REMOVED | From /car: the vehicle is gone from Encar. Drop it on your side. |
| 429 | Daily allowance spent. X-RateLimit-Remaining tells you before it happens. |
| 503 | The Korean source did not answer in time. Retry once, then fall back. |
Odbierz swój klucz API
Za darmo · 100 zapytań dziennie
Czytaj dalej
Dowolnie je łącz w jednym wywołaniu. Odpowiedź niesie total, page, count i results[], więc możesz stronicować po total bez drugiego zapytania.
Dane pochodzą z koreańskiego źródła, więc cztery z tych pól są domyślnie czytane błędnie. Każdy taki błąd jest cichy — strona się wyrenderuje, tyle że niepoprawnie.
Każda odpowiedź niesie X-RateLimit-Limit, X-RateLimit-Remaining i X-RateLimit-Reset, więc limit widać nadchodzący, a nie odkrywa się go po fakcie.