Naar hoofdinhoud

KoppelingenRDW Open Data

RDW API koppelen aan je website.

Met een koppeling op de RDW API vult een formulier op je site zichzelf in: één kenteken en je weet merk, uitvoering, APK-datum, brandstof en nog een kleine honderd velden. De RDW zet die gegevens van alle gekentekende voertuigen in Nederland gratis online als open data, en er is geen sleutel voor nodig.

Vertrouwd door

200+ bedrijven en webshops

Dux
Swim Essentials
Vouwwagenspecialist
Fit Preps
Fysio Moov
Mörgenn
MBST
Sunwave Brands
Flaske
Boumij Makelaars

Wat het oplevert

Wat een koppeling met RDW Open Data je oplevert.

Gratis en zonder aanvraag. Geen account, geen sleutel, geen contract. Je kunt het vandaag aanzetten.

Kenteken erin, auto eruit. De bezoeker typt zijn kenteken en het formulier vult zichzelf, in plaats van drie keuzelijsten met uitvoeringen.

Bijna honderd velden. Merk, handelsbenaming, APK-vervaldatum, kleur, massa, catalogusprijs, tellerstandoordeel en meer.

Technisch

De koppeling in het kort.

Vorm van de koppeling
De SODA-API van het open-dataplatform: GET op https://opendata.rdw.nl/resource/<dataset>.json, met filters als queryparameters. De basisset is m9d7-ebf2, Gekentekende_voertuigen
Authenticatie
Geen; een app token kan wel, maar is niet verplicht om te beginnen
Richting
Van het systeem naar de site
Verversing
De RDW ververst de sets zelf; ze geven geen garantie op actualiteit
Wij bouwen het op
WordPress, Next.js, Maatwerk

Waar het misgaat

  • Je mag niet vermelden dat de gegevens van de RDW komen. Dat staat er letterlijk: als onderdeel van Creative Commons Zero is het bij hergebruik niet toegestaan te vermelden dat de gegevens afkomstig zijn van de RDW, en het logo of de huisstijl van de RDW mag je niet gebruiken in de ontwikkelde toepassing. Dat is het tegenovergestelde van wat je bij open data gewend bent, en het is precies de tekst die iemand zonder nadenken op de pagina zet. Zeg dus "gegevens op kenteken" en niet "RDW-gegevens".
  • Er is geen garantie, op niets. De RDW geeft geen garanties op beschikbaarheid, actualiteit en voortgang van de datasets of het platform, en behoudt zich het recht voor zonder verantwoording te stoppen en een dataset te verwijderen. Het risico op bedrijfsschade ligt bij de gebruiker. Bouw dus altijd een terugval: valt de aanvraag om, dan blijft het formulier gewoon te gebruiken met velden die iemand zelf invult.
  • Performance gaat op basis van fair use. Er staat geen getal bij, dus je kunt er niet op rekenen dat 100 aanvragen per seconde acceptabel zijn. Praktische maatregel: sla het antwoord per kenteken aan je eigen kant op en vraag hetzelfde kenteken niet twee keer op dezelfde dag op. Dat scheelt ook laadtijd.
  • Niet alles wat in de kolommen staat, staat er ook echt in. Het veld "wacht op keuren" geeft letterlijk terug: "Geen verstrekking in Open Data". Zo zijn er meer velden die bestaan maar leeg blijven. Controleer per veld wat je terugkrijgt voordat je het op een pagina zet, in plaats van af te gaan op de kolomnamen.

Bron: documentatie van RDW (Dienst Wegverkeer)

Wat is RDW Open Data?

De RDW is de dienst die voertuigen registreert en keurt. Een deel van die registratie staat als open data online, op opendata.rdw.nl, en is voor iedereen te bevragen zonder account.

De belangrijkste set heet Gekentekende_voertuigen en heeft kenmerk m9d7-ebf2. Daar zitten bijna honderd kolommen in: kenteken, voertuigsoort, merk, handelsbenaming, vervaldatum APK, datum tenaamstelling, bruto BPM, inrichting, aantal zitplaatsen, kleuren, cilinderinhoud, massa’s, catalogusprijs, aantal wielen, Europese voertuigcategorie, tellerstandoordeel en of het voertuig WAM-verzekerd is.

Daarnaast zijn er losse sets die aan dezelfde kentekens hangen, voor assen, brandstof, carrosserie en voertuigklasse. Die haal je erbij als je ze nodig hebt, met hetzelfde kenteken als sleutel.

Hoe de RDW API werkt

Het platform draait op Socrata, en dat betekent dat elke dataset een adres heeft dat je rechtstreeks kunt opvragen: opendata.rdw.nl/resource/m9d7-ebf2.json, met een kenteken als parameter erachter. Het antwoord is JSON en komt meteen terug.

Er is geen sleutel voor nodig. Je kunt een app token aanvragen en dat is voor zwaar gebruik verstandig, maar om te beginnen hoeft het niet. Dat maakt dit de enige koppeling op deze site die je vandaag kunt aanzetten zonder iemand te bellen.

Wij zetten de aanvraag altijd achter een eigen endpoint op je server, ook al is er geen sleutel te beschermen. Zo kunnen we het antwoord bewaren, opschonen en aanvullen voordat het in beeld komt, en zit je site niet vast aan het formaat waarin de RDW het toevallig teruggeeft.

Stappen om de RDW API aan je formulier te koppelen

  1. We kiezen de datasets. Voor de meeste formulieren is Gekentekende_voertuigen genoeg; voor brandstof en uitstoot komt de set met kenmerk 8ys7-d773 erbij, met hetzelfde kenteken als sleutel.

  2. We bepalen welke velden er echt in beeld komen. Met $select vraag je alleen die op, zodat het antwoord klein blijft.

  3. Op je eigen server komt een endpoint dat de aanvraag doet, het antwoord opschoont en per kenteken bewaart.

  4. We testen met echte kentekens, ook in de schrijfwijzen die bezoekers intypen: met streepjes, met kleine letters en met spaties.

  5. Bij de livegang staat de terugval klaar, zodat het formulier werkt als de aanvraag uitblijft. Voor zwaar gebruik vragen we een app token aan.

Waar je de API voor gebruikt

Het duidelijkste is een formulier dat zichzelf invult. Iemand typt een kenteken en ziet meteen “Volkswagen Golf, 2019”. Dat scheelt drie keuzelijsten waarin mensen hun uitvoering niet weten, en het is precies waar een formulier bezoekers verliest. Wil je naast het kenteken ook het adres laten aanvullen, lees dan hoe we een postcode API koppelen.

Voor een garage of bandenzaak is de APK-datum de interessante: een afspraakformulier dat laat zien wanneer de APK verloopt, geeft de bezoeker meteen een reden om nu te boeken. Voor een schadeherstelbedrijf of een verzekeringsadviseur zijn het de voertuigkenmerken die anders uitgevraagd moeten worden.

En er is een derde toepassing die vaak vergeten wordt: controle. Een ingevuld kenteken dat geen resultaat oplevert, is een typefout of een voertuig dat niet in de set staat. Dat opvangen op het moment van invullen is prettiger voor de bezoeker dan een telefoontje achteraf.

Wat de RDW API niet doet is voorraad tonen. Voor de auto’s die een autobedrijf te koop heeft is het voorraadsysteem de bron, en daarvoor is er een koppeling met Hexon. Hoe kenteken, voorraad en afspraak samenkomen op een website voor je autobedrijf, lees je op die pagina.

Voorwaarden: gratis is niet vrijblijvend

Er zit geen factuur aan, maar er zitten wel voorwaarden aan, en die zijn ongebruikelijk genoeg om ze hier apart te noemen.

Je mag niet op je site zetten dat de gegevens van de RDW komen. Die regel staat in hun bijsluiter, onder de Creative Commons Zero-licentie, samen met het verbod om hun logo of huisstijl te gebruiken. Wie gewend is aan bronvermelding bij open data doet hier precies het verkeerde.

En er is geen enkele garantie: niet op beschikbaarheid, niet op actualiteit, en de RDW mag zonder verantwoording stoppen. Dat is geen reden om het niet te gebruiken, wel een reden om het formulier te bouwen alsof de integratie er morgen niet is. Valt hij weg, dan vult de bezoeker het zelf in en werkt de site gewoon door.

Veelgemaakte fouten: kenteken, brandstof en datums

De eerste zit in het kenteken zelf. De set bevat kentekens in hoofdletters en zonder streepjes, en een vraag met kleine letters geeft een lege lijst terug in plaats van een foutmelding. Zet wat de bezoeker intypt dus eerst om voordat je de aanvraag doet. Dat hebben we zelf nagemeten op opendata.rdw.nl.

De tweede zit in de brandstofset. Een hybride auto heeft daar meer dan één regel, bijvoorbeeld een voor benzine en een voor elektriciteit. Wie alleen de eerste regel leest, laat de helft van het verhaal weg.

De derde zit in de datums. Een veld als vervaldatum_apk staat er als getal, en naast de meeste datums staat een tweede veld dat op _dt eindigt en een echte datum bevat. Gebruik dat tweede, dan hoef je zelf niets om te rekenen.

En wil je weten hoe actueel een set is: het antwoord bevat de header x-soda2-truth-last-modified, met het moment waarop de gegevens voor het laatst zijn bijgewerkt. Omdat de RDW daar geen garantie op geeft, lezen wij die mee.

De RDW API koppelen met WordPress of met maatwerk

Op WordPress komt het kentekenveld in het formulier dat je al gebruikt. Een kleine uitbreiding op de server doet de aanvraag en vult de andere velden, en de bezoeker kan ze nog aanpassen voordat hij verstuurt. Het antwoord per kenteken bewaren we in de database van de site.

Op een maatwerksite in Next.js is het een eigen serverroute die hetzelfde doet, met een cache ervoor. Dat is de route voor een afsprakenmodule of offertetool waarin het kenteken meer bepaalt dan een paar velden, zoals de keuze van een onderhoudsbeurt op basis van merk en datum van eerste toelating.

Formulieren en maatwerk als dit vallen bij ons onder Design & Development.

Bijgewerkt op

Specialist voor koppelingen

Portret van Jos van der Pluijm tussen de stellingen van een magazijnJosDesign & Development085 83 30 533jos@klubb.nl

Veelgestelde vragen

Is RDW Open Data gratis?

Ja. De RDW brengt voor de afname via dit kanaal geen kosten in rekening en je hebt geen account of sleutel nodig om te beginnen. Wel geldt fair use, zonder dat er een getal bij staat, dus zwaar gebruik vraagt om caching aan je eigen kant.

Welke gegevens krijg ik uit RDW Open Data op een kenteken terug?

Uit de set Gekentekende_voertuigen komen bijna honderd velden, waaronder merk, handelsbenaming, vervaldatum APK, datum tenaamstelling, bruto BPM, catalogusprijs, kleuren, massa’s, aantal wielen en het tellerstandoordeel. Brandstof, assen en carrosserie zitten in losse sets met hetzelfde kenteken.

Mag ik erbij zetten dat de gegevens van de RDW komen?

Nee. De bijsluiter zegt dat het bij hergebruik niet is toegestaan te vermelden dat de gegevens van de RDW afkomstig zijn, en dat je hun logo of huisstijl niet in de toepassing mag gebruiken. Schrijf dus “gegevens op kenteken” en niet “RDW-gegevens”.

Hoe betrouwbaar is de RDW API?

De RDW geeft geen garanties op beschikbaarheid, actualiteit of voortgang en mag zonder verantwoording stoppen. Het risico ligt bij de gebruiker. Daarom bouwen we er altijd een terugval bij: valt de aanvraag om, dan blijft het formulier met handmatige invoer gewoon werken.

Heb ik een API key nodig voor de RDW API?

Niet om te beginnen. Een aanvraag op opendata.rdw.nl werkt zonder sleutel. Voor zwaarder gebruik is een app token verstandig. Wij zetten de aanvraag hoe dan ook achter een eigen endpoint op je server, zodat we het antwoord kunnen bewaren en opschonen, en zodat het kenteken eerst in de goede schrijfwijze wordt gezet.

Werkt een RDW-koppeling ook op WordPress?

Ja, en dit is de eenvoudigste van allemaal. Het kentekenveld komt in je formulier, de aanvraag gaat vanaf de server, en het antwoord vult de rest van het formulier in. Wat we ophalen slaan we op, zodat hetzelfde kenteken niet twee keer per dag wordt bevraagd.

Zit er een limiet op het aantal aanvragen bij de RDW API?

Ja, maar zonder vast getal: RDW Open Data werkt op basis van fair use. Zonder app token deel je op het Socrata-platform een gezamenlijke limiet per IP-adres, en bij te veel aanvragen volgt een 429. Met een app token krijgt je toepassing een eigen limiet. Wij bewaren het antwoord per kenteken, zodat je niets dubbel opvraagt.

Hoe actueel zijn de gegevens in RDW Open Data?

De gegevens in RDW Open Data worden door de RDW zelf ververst, zonder garantie op actualiteit. Hoe recent een set is, lees je af aan de header x-soda2-truth-last-modified in het antwoord: daarin staat wanneer de gegevens voor het laatst zijn bijgewerkt. Wij lezen die header mee, zodat opvalt als een set achterloopt.

Wat is het verschil tussen de RDW API en de RDW Kentekencheck?

De RDW Kentekencheck is bedoeld om zelf één voertuig op te zoeken, online of in de RDW-Voertuigapp. De RDW API op opendata.rdw.nl is bedoeld voor software: je website vraagt een kenteken op en krijgt de gegevens als JSON terug, bijvoorbeeld om een formulier automatisch in te vullen. Gegevens over de eigenaar staan in geen van beide.

Welke gegevens staan niet in RDW Open Data?

Persoonsgegevens, zoals wie de eigenaar is, staan niet in RDW Open Data. Daarnaast bestaan sommige kolommen wel maar blijven ze leeg: het veld over wachten op keuren geeft letterlijk ‘Geen verstrekking in Open Data’ terug. Controleer daarom per veld wat er terugkomt voordat je het op een pagina zet.

Let's work together.

De enige koppeling die je vandaag kunt aanzetten.