Encar API-documentatie
Drie endpoints, één header, JSON eruit. Alles hieronder is de volledige referentie — er is geen tweede, betaalde laag documentatie.
Basis-URL
https://api.encar-api.com/apiAuthenticatie
Stuur je sleutel bij elk verzoek mee in de header x-api-key. Er is geen OAuth-stap en geen token om te vernieuwen. Een ontbrekende of onbekende sleutel antwoordt 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"De drie endpoints
| endpoint | what it does |
|---|---|
| GET /cars | Advertenties zoeken met filters. Geeft total, page, count en results[] terug. |
| GET /car?id= | Eén voertuig compleet, met beschikbaarheid live gecontroleerd op het moment van het verzoek. |
| GET /count | Hoeveel advertenties bij een filterset passen, zonder ze op te halen. |
Referentie
Elke sectie opent hier, en elke kop is ook een eigen pagina die je kunt linken en bewaren.
Zoekparameters — GET /cars
Verder lezen
Combineer ze naar believen in één call. Het antwoord bevat total, page, count en results[], dus je kunt op total pagineren zonder tweede verzoek.
| 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. |
Hoe een advertentie eruitziet
Verder lezen
De data komt uit een Koreaanse bron, dus vier van deze velden worden standaard verkeerd gelezen. Elke fout verloopt stil — je pagina rendert prima, ze klopt alleen niet.
| 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. |
Limieten en fouten
Verder lezen
Elk antwoord bevat X-RateLimit-Limit, X-RateLimit-Remaining en X-RateLimit-Reset, zodat je een limiet ziet aankomen in plaats van hem te ontdekken.
| 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. |
Haal je API-sleutel
Gratis · 100 verzoeken per dag
Lees verder
Combineer ze naar believen in één call. Het antwoord bevat total, page, count en results[], dus je kunt op total pagineren zonder tweede verzoek.
De data komt uit een Koreaanse bron, dus vier van deze velden worden standaard verkeerd gelezen. Elke fout verloopt stil — je pagina rendert prima, ze klopt alleen niet.
Elk antwoord bevat X-RateLimit-Limit, X-RateLimit-Remaining en X-RateLimit-Reset, zodat je een limiet ziet aankomen in plaats van hem te ontdekken.