Nederlandse voertuigdata, als API en als dagelijkse feed.
Vraag kentekens op, houd je eigen voertuigdatabase actueel en analyseer het register, met één API.
- Wij importeren de open data van de RDW, koppelen 16 datasets per kenteken en normaliseren de velden. Dat hoef je niet zelf te bouwen en te onderhouden.
- Wijzigingen krijg je per kenteken en per veld, met de oude en de nieuwe waarde, klaar om te verwerken.
- Probeer het hier met een echt kenteken, zonder account.
De prijzen staan openbaar op de pakkettenpagina. Een account aanmaken is gratis; je betaalt pas als je een pakket activeert.
Probeer het met een echt kenteken en zie live antwoorden van de API: wat er nu bekend is, welke wijzigingen wij vonden en hoeveel er van dat merk en model geregistreerd staan.
Wat de open data van de RDW nu over dit voertuig bevat, met één verzoek aan de voertuig-API.
GET /api/v1/vehicles/AB-123-C
De verschillen die wij voor dit kenteken vonden tussen opeenvolgende versies van de open data, veld voor veld met de oude en de nieuwe waarde. Met de mutatiefeed krijg je zo de wijzigingen aan alle kentekens, of alleen aan die van jou.
GET /api/v1/mutations?registration=AB123C&limit=4
De feed heeft de afgelopen 90 dagen geen wijzigingen aan dit kenteken.
De wijzigingen zijn nu niet op te halen. Dat ligt aan de demo, niet aan dit kenteken.
next_cursor
Bewaar de cursor en lees later verder waar je was.
Dit voertuig naast alle andere van hetzelfde merk en model die op naam gezet kunnen worden, geteld over het hele register.
Voor dit voertuig is nu geen analyse te tonen: het heeft geen merk en model in de open data, of de analyse is tijdelijk niet op te halen.
GET /api/v1/analytics/vehicles
?filter[make]=…
&filter[trade_name]=…
&filter[registration_allowed]=true
&group_by=first_admission_date:year
&metrics=avg:catalog_price,median:catalog_price,
min:catalog_price,max:catalog_price
GET /api/v1/analytics/defects
?filter[make]=…
&filter[trade_name]=…
&filter[registration_allowed]=true
&limit=5
Bij keuringen zijn aan dit merk en model nog geen gebreken gevonden.
De gebreken zijn nu niet op te halen. Dat ligt aan de demo, niet aan dit voertuig.
· position
Wat je niet zelf hoeft te bouwen
De open data van de RDW is gratis, maar er een betrouwbare databron van maken is werk dat blijft terugkomen. Dat werk nemen wij over.
- RDW-imports
- Miljoenen rijen per dataset downloaden, controleren en opnieuw proberen als het misgaat. Wij controleren meerdere keren per dag of er een nieuwe versie is.
- Datasets koppelen
- Brandstoffen, assen, carrosserie, keuringen, gebreken en terugroepacties staan bij de RDW in losse datasets. Jij krijgt ze per kenteken in één antwoord.
- Normaliseren
- Engelse veldnamen, vaste types en de eenheid in de naam, in plaats van tekstkolommen met wisselende notaties.
- Wijzigingen detecteren
- Wij vergelijken elke nieuwe versie met de vorige en leveren de verschillen per kenteken en per veld. Zelf twee volledige versies naast elkaar leggen hoeft niet.
Eén kenteken, zes manieren om het te gebruiken
Of het nu wordt ingetypt in een formulier, gelezen door een camera of staat in een wagenparklijst: de API antwoordt in één verzoek en de feed laat zien wat er sinds de vorige versie van de open data is veranderd.
-
Dealers, marktplaatsen en werkplaatssoftware
Vul een voertuig in vanaf het kenteken
Typ een kenteken en merk, handelsbenaming, kleur, brandstof, datum eerste toelating en catalogusprijs staan er. Niets meer overtypen van het kentekenbewijs.
vehicle.make vehicle.model vehicle.colors.primary environment.fuels[0].type registration.first_admission_date
-
Garages, lease en wagenparkbeheer
APK-herinneringen en keuringshistorie
Weet wanneer de APK van elk voertuig verloopt en wat er bij eerdere keuringen is gevonden, en herinner je klanten op tijd.
inspections.apk.expiry_date inspections.odometer.judgement inspections.reports[] inspections.reports[].defects[]
-
Wagenparken, leasemaatschappijen en verzekeraars
Houd terugroepacties en verzekering in de gaten
Volg de feed voor jouw kentekens en zie een openstaande terugroepactie, een export of het einde van de WAM-verzekering zodra wij die wijziging in de open data van de RDW hebben verwerkt.
status.open_recall status.insured history.recalls[] GET /api/v1/mutations?registration=…
-
Iedereen met een eigen voertuigdatabase
Houd je eigen kopie actueel
Laad één keer een snapshot en verwerk daarna de wijzigingen uit de feed: elke wijziging noemt het veld met de oude en de nieuwe waarde, dus je werkt rijen bij in plaats van alles opnieuw te importeren.
snapshots GET /api/v1/mutations?after=… next_cursor
-
Taxatie, import en leasecalculaties
Reken met prijs en belasting
Catalogusprijs, bruto BPM, datum eerste toelating, brandstof, CO₂-uitstoot en massa: de invoer voor een taxatie, bijtelling of importberekening.
vehicle.fiscal.catalog_price_eur registration.first_admission_date environment.fuels[0].type technical.weights
-
Onderzoekers en datateams
Analyseer het hele register
Tel en vergelijk alle voertuigen in de open data van de RDW in één verzoek, per merk, brandstof of leeftijd, of tel de gebreken die bij keuringen zijn gevonden. Of download het register als JSONL of CSV, per dataset een bestand, en volg de feed.
GET /api/v1/analytics/vehicles GET /api/v1/analytics/defects snapshots CSV
Van account naar eerste antwoord in vier stappen
-
Maak een account aan
Een account is gratis en geeft toegang tot het portaal. API-verzoeken kun je doen zodra je een pakket hebt.
-
Kies een pakket
Een pakket per maand of per jaar, of pay-as-you-go zonder vaste kosten. Je rekent af via Stripe; de prijzen staan op de pakkettenpagina.
-
Maak een API-sleutel
Eén per toepassing als je wilt, elk met alleen de toegang die hij nodig heeft.
-
Stuur een verzoek
Het kenteken in de URL, je sleutel als Bearer-token in de
Authorization-header, en het voertuig komt terug als JSON.
De feed volgen werkt net zo: begin met een snapshot en lees verder vanaf zijn cursor. Zo werkt de feed
Verzoek
curl https://api.kentekenfeed.nl/api/v1/vehicles/GLZ-84-H \
-H "Authorization: Bearer je-api-sleutel" \
-H "Accept: application/json"
$vehicle = Http::withToken('je-api-sleutel')
->acceptJson()
->get('https://api.kentekenfeed.nl/api/v1/vehicles/GLZ-84-H')
->json('data');
const response = await fetch('https://api.kentekenfeed.nl/api/v1/vehicles/GLZ-84-H', {
headers: { Authorization: 'Bearer je-api-sleutel', Accept: 'application/json' },
});
const { data: vehicle } = await response.json();
import requests
response = requests.get(
"https://api.kentekenfeed.nl/api/v1/vehicles/GLZ-84-H",
headers={"Authorization": "Bearer je-api-sleutel"},
)
vehicle = response.json()["data"]
Antwoord 200 OK
{ "data": { "registration": { "plate": "GLZ84H", "first_admission_date": "2018-03-14" }, "vehicle": { "make": "VOLKSWAGEN", "model": "GOLF", "colors": { "primary": "ZWART" }, "fiscal": { "catalog_price_eur": 31625 } }, "environment": { "fuels": [{ "type": "Benzine", "power": { "net_max_kw": 110 } }] }, "status": { "insured": true, "open_recall": false }, "inspections": { "apk": { "expiry_date": "2027-11-18" }, "odometer": { "judgement": "Geen oordeel" } }, … }}
16 voertuigdatasets van de RDW, in één antwoord
- datasets
- 16
- Van het basisregister tot keuringen, gebreken en terugroepacties.
- velden in een voertuigantwoord
- 180+
- Elk met een Engelse naam, een vast type en de eenheid in de naam.
- namen of adressen
- 0
- De open data van de RDW bevat geen gegevens van eigenaren, dus KentekenFeed ook niet.
- Meerdere keren per dag gecontroleerd
- De RDW bepaalt wanneer een dataset een nieuwe versie krijgt. Wij controleren dat meerdere keren per dag, en elk antwoord zegt per dataset wanneer de RDW hem publiceerde en wanneer wij voor het laatst keken.
- Overal dezelfde waarden
- API, feed en snapshots delen types en eenheden. De feed, de snapshots en analytics gebruiken dezelfde veldnamen per dataset; een opvraging deelt die velden in secties in, en elke wijziging in de feed zegt met
pathwaar zijn veld daarin staat. - Eerlijk over vertraging
- Een dataset die 36 uur niet is gecontroleerd krijgt
stale: true, zodat jij beslist wat je ermee doet. Vraag jeview=full, dan staat ernullals de RDW geen waarde heeft.
Begin met een gratis account
De prijzen staan openbaar op de pakkettenpagina. Een account is gratis; je betaalt pas als je een pakket activeert, en je kunt altijd opzeggen.