Check kenteken

Documentatie

Kentekenzicht API v1

Eén REST-API over de volledige Nederlandse voertuigregistratie, met de afgeleide laag die de RDW niet levert: leeftijdgenormaliseerde betrouwbaarheid met betrouwbaarheidsinterval, risicovlaggen en de 2026-belastingen.

Versie v1 · laatst bijgewerkt 2026-07-25 · tarieven & toegang

Basis-URL

Alle endpoints staan onder https://kentekenzicht.nl/v1. Antwoorden zijn JSON (UTF-8). Elk antwoord bevat bron en peildatum; neem die over wanneer u onze cijfers toont of citeert.

Authenticatie

Stuur uw sleutel mee als bearer-token. Sleutels beginnen met kz_live_ (productie) of kz_test_ (sandbox). Wij bewaren alleen een SHA-256-hash van uw sleutel: raakt u hem kwijt, dan geven we een nieuwe uit — terughalen kan niet.

curl -H "Authorization: Bearer kz_live_…" \
  https://kentekenzicht.nl/v1/health

Behandel de sleutel als een wachtwoord: alleen server-naar-server, nooit in browsercode of een mobiele app.

Limieten

TariefCalls per maand
Gratis (sandbox)500
Start10.000
Pro100.000
Schaal500.000

Elk antwoord bevat X-RateLimit-Limit, X-RateLimit-Remaining en X-RateLimit-Reset (unix-tijd waarop de teller terugloopt: de 1e van de volgende maand, UTC). Boven de limiet krijgt u 429.

GET /v1/kenteken/{kenteken}

Het volledige beeld van één voertuig. Streepjes in het kenteken zijn toegestaan.

GET /v1/kenteken/AB-123-C?provincie=Utrecht

# provincie is optioneel. Laat u hem weg, dan krijgt u "mrbPerProvincie":
# de wegenbelasting voor alle twaalf provincies (de opcenten verschillen).

Het blok risico.vlaggen bevat nul of meer van:

VlagBetekenis
tellerstand_onlogischRDW beoordeelt de tellerstandhistorie als onlogisch (NAP-signaal)
openstaande_terugroepactieer staat een terugroepactie open
niet_wam_verzekerdgeregistreerd als niet WAM-verzekerd
geexporteerdexportindicatie geregistreerd
taxiverledenooit als taxi geregistreerd
apk_verlopende APK-vervaldatum ligt in het verleden

Een ontbrekend veld levert nooit een vlag op. Als de RDW niets over de WAM-verzekering publiceert, betekent dat niet "onverzekerd" — en dan zeggen wij dat ook niet.

GET /v1/model/{merk}/{model}/{bouwjaar}

GET /v1/model/volkswagen/golf/2015

{
  "slug": "volkswagen-golf-2015",
  "aandeelMetGebrek": 0.25,
  "interval95": [0.242, 0.258],
  "n": 12000,
  "relatieveIndex": 0.98,
  "kenmerkendeGebreken": [ { "code": "…", "omschrijving": "…", "lift": 1.8 } ],
  "toelichting": "Aandeel van het wagenpark met een geregistreerd APK-gebrek — géén slagingspercentage."
}

Cohorten onder de publicatiedrempel (wagenpark ≥ 200 én ≥ 100 gebrekregistraties) krijgen bewust geen cijfer en geven 404. Geen score zonder n. Zo rekenen wij →

POST /v1/mrb

POST /v1/mrb
Content-Type: application/json

{ "gewichtKg": 1300, "brandstof": "diesel", "provincie": "Utrecht", "fijnstof": true }

brandstof: petrol, diesel, lpg_g3, electric, hydrogen of phev. gewichtKg is de massa rijklaar (vanaf 1 juli 2026 de grondslag). Het antwoord splitst hoofdsom, toeslagen, fijnstof en provinciale opcenten uit.

POST /v1/bpm

POST /v1/bpm
Content-Type: application/json

{ "co2": 120, "diesel": false, "leeftijdMaanden": 36, "kmStand": 60000 }

Levert de bruto BPM tegen 2026-tarieven en de restwaarde na de forfaitaire afschrijving. Een koerslijst of taxatierapport kan lager uitvallen — die routes rekenen wij niet door.

Foutcodes

{
  "fout": {
    "code": "limiet_bereikt",
    "bericht": "Maandlimiet van 10000 calls bereikt. …"
  }
}
HTTPcodeWanneer
400ongeldig_kentekenkenteken is geen zes letters/cijfers
400ongeldige_invoerontbrekend of verkeerd getypeerd veld in de body
401geen_sleutelgeen Authorization-header meegestuurd
401ongeldige_sleutelsleutel bestaat niet of is ingetrokken
404niet_gevondenonbekend kenteken of niet-gepubliceerd cohort
429limiet_bereiktmaandlimiet bereikt
500interne_foutfout aan onze kant

Versiebeleid & actualiteit

Het versienummer staat in het pad. Binnen v1 voegen we alleen velden toe; velden verwijderen of hernoemen doen we niet zonder een nieuwe versie. De dataset wordt dagelijks bijgewerkt vanuit de RDW open data; peildatum in elk antwoord zegt hoe vers de cijfers zijn. Belastingtarieven volgen het kalenderjaar.

Gebruik

De onderliggende RDW-data is CC-0; de afgeleide laag is ons werk. U mag die verwerken in uw eigen product, maar niet als losse dataset doorverkopen. De sandbox vereist een zichtbare bronvermelding. Wij leveren geen persoonsgegevens — geen tenaamstelling, geen adressen.

Sandbox-sleutel aanvragen → · vragen: redactie@kentekenzicht.nl

Onafhankelijke dienst op basis van RDW Open Data (CC-0) — niet afkomstig van of goedgekeurd door de RDW. Belastingbedragen zijn indicaties; de Belastingdienst stelt het definitieve bedrag vast. Aan de uitkomsten kunnen geen rechten worden ontleend.