AutoScout24 API: occasions op autoscout24.nl als JSON
Wat een koper op autoscout24.nl ziet — merk, model, uitvoering, kilometerstand, bouwjaar, vraagprijs, dealer of particulier en waar de auto staat — komt hier als JSON terug, zonder account. Met de Listing Creation API van AutoScout24, waarmee autobedrijven hun voorraad plaatsen, heeft dit niets te maken: er wordt alleen gelezen wat al online staat. Voor de Nederlandse editie hoort `"country": "nl"` in elk verzoek; zonder die parameter ga je naar autoscout24.de.
Endpoints
| endpoint | Wat je terugkrijgt | Verplicht |
|---|---|---|
| search | Zoeken per merk, model of modelreeks met de filters van de site: prijs, bouwjaar, kilometerstand, brandstof, transmissie, carrosserie, vermogen in kW, dealer of particulier, soort aanbod en postcode met straal. 20 auto's per pagina, elk met de afstand tot de opgegeven postcode. | allemaal optioneel |
| listing | De volledige advertentie op url, pad of id: omschrijving, vraagprijs als getal met het bedrag incl. en excl. btw, garantie, uitrusting, verbruik, bij elektrische auto's actieradius (WLTP) en laadtijd, het kenteken als de verkoper het invult, en het autobedrijf met zijn reviewscore. | allemaal optioneel |
| makes | Alle merken met id en slug zoals de site ze gebruikt. | allemaal optioneel |
| models | Modellen, modelgroepen en modellijnen van een merk, met de exacte slugs die search accepteert. Let op dubbelingen: bij Kia zijn `niro` en `e-niro` twee aparte modellen. | make |
| filter_options | De beschikbare filterdimensies met hun codes: brandstof, carrosserie, transmissie en meer. | allemaal optioneel |
| seller_listings | Het aanbod van één autobedrijf of particulier op klantnummer (cid), dat in het verkopersblok van elke advertentie staat. | cid |
| browse_links | De interne linkstructuur van de zoekpagina: plaatsen, carrosserievormen, modellijnen en populaire modellen. | allemaal optioneel |
Elke aanroep kost credits. Mislukte en geblokkeerde aanroepen zijn gratis.
Werkend voorbeeld
Binnen 30 km van postcode 3511 (Utrecht-centrum) stonden 107 Kia e-Niro's te koop, verdeeld over 6 pagina's. Bij een gebruikte EV wil je meestal de accuconditie (SOH) weten, maar daar heeft AutoScout24 geen veld voor: dealers zetten het in `model_version` ('SOH 93%') of in de omschrijving van de advertentie ('Accuconditie: 100%'). Wie op SOH wil selecteren, moet die tekst zelf uitlezen.
curl -X POST https://api.reefapi.com/autoscout24/v1/search \
-H "x-api-key: JOUW_SLEUTEL" \
-H "content-type: application/json" \
-d '{"country": "nl", "make": "kia", "model": "e-niro", "zip": "3511", "radius": 30}'{
"ok": true,
"data": {
"listings": [
...
{
"id": "2f51e546-9245-4a67-b0a6-8f5f6f4e1c56",
"make": "Kia",
"model": "e-Niro",
"model_version": "64kWH DYNAMICPLUSLINE/ SCHUIFDAK/ SOH 93%",
"fuel": "Elektrisch",
"transmission": "Automatisch",
"mileage_km": "132.199 km",
"first_registration": "08-2021",
"price_formatted": "€ 19.950",
"price_evaluation": null,
"location": { "countryCode": "NL", "zip": "3542 DJ", "city": "UTRECHT", "distanceToSearchLocationInKm": 7 },
"seller": { "type": "Dealer", ... }
},
{
"id": "5326ea11-4219-4062-abfd-b7079ffdcb5d",
"model": "e-Niro",
"model_version": "DynamicLine 64 kWh | NL-AUTO! | DEALER OH! | WARMT",
"mileage_km": "93.448 km",
"first_registration": "05-2021",
"price_formatted": "€ 21.400",
"location": { "countryCode": "NL", "zip": "3731 AL", "city": "DE BILT", "distanceToSearchLocationInKm": 5 }
},
...
],
"page": 1,
"total": 107,
"total_pages": 6,
"has_more": true,
"next_page": 2
},
"meta": { "record_count": 20, "country": "nl", "cache_hit": false, "mode": "live" }
}AutoScout24 scrapen met Python: wat je pas later merkt
Geef je de straal mee onder een parameternaam die AutoScout24 niet kent, dan volgt er geen foutmelding: de site zoekt gewoon 200 km rond de postcode, en vanuit Utrecht is dat zo goed als heel Nederland. Voor Kia rond 3511 scheelde dat 11.690 resultaten tegenover 2.141 binnen 30 km. Wij zijn daar zelf ingetrapt: tot half oktober 2026 stuurde onze engine de straal onder een naam die de site negeerde. Nu gaat hij mee onder de naam die de site zelf gebruikt.
Het tweede probleem zit in de getallen. In de resultatenlijst staan prijs en kilometerstand als opgemaakte tekst, met een punt als duizendtalscheiding ('€ 19.950', '132.199 km'). Een parser die dat als decimaalteken leest, maakt van een auto van bijna twintigduizend euro een auto van 19,95. De echte getallen (`priceRaw`, `mileageInKmRaw`) staan in listing.
Een stil genegeerd filter zie je pas aan de aantallen, en meestal te laat. Daarom vergelijkt de engine na elk antwoord merk, model, modelreeks, soort verkoper en postcode met wat de site zelf zegt te hebben toegepast. Klopt dat niet, dan krijg je INVALID_PARAM in plaats van een ongefilterde lijst.
Grenzen en eerlijke kanttekeningen
- Dit is geen API van AutoScout24, en er bestaat geen samenwerking tussen ons en AutoScout24.
- De prijsbeoordeling van AutoScout24 (`price_evaluation`) bleef op autoscout24.nl in onze meting leeg: 0 van de 20 zoekresultaten, en ook in de opgevraagde advertentie.
- Model, brandstof en postcode samen in één zoekopdracht gaf op 24 oktober 2026 op autoscout24.nl INVALID_PARAM met de melding dat de postcode onbekend is (Kia Niro elektrisch en diesel, VW Golf diesel). Model met postcode, of brandstof met postcode, werkte wel; op de Duitse editie werkte ook de combinatie van alle drie. Tot dit is opgelost: filter op brandstof in je eigen code, of laat de postcode weg.
- In listing staan brandstof en transmissie onder `vehicle` (`fuelCategory`, `transmissionType`); de velden `fuel` en `transmission` op het hoogste niveau kwamen bij onze Nederlandse advertentie leeg terug.
- Geef je een postcode zonder `radius`, dan zoekt de site in een straal van 200 km en meldt de engine dat in `meta.warnings`.
- Er wordt niets tussentijds opgeslagen: elke aanroep leest autoscout24.nl op dat moment.