License Plate Lookup - Netherlands RDW Kenteken Check
Pricing
$3.00 / 1,000 vehicle founds
License Plate Lookup - Netherlands RDW Kenteken Check
Look up Dutch license plates (kentekens) in official RDW Open Data: make, model, APK expiry, insurance status, weights, fuel, CO2, APK defects and open recalls. For dealers, lease companies, insurers and fleet software. Unknown plates are free.
Pricing
$3.00 / 1,000 vehicle founds
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
License plate lookup for Dutch vehicles, straight from official RDW Open Data. Paste a list of Dutch plates (kentekens) and get one clean row per vehicle: make, model, vehicle type, colors, first registration, APK expiry, WAM insurance status, weights, engine size and seats, with optional fuel and CO2 data, APK defect history and open recalls. Built for car dealers, lease companies, insurers, parking and fleet software and vehicle marketplaces that need a bulk RDW kenteken check instead of typing plates into a website one by one.
What this Dutch license plate lookup does
A kenteken check on a consumer website answers one plate at a time and shows a page you cannot export. This Actor runs the same public RDW register lookup in bulk and delivers structured JSON, CSV or Excel rows you can join back to your own data. One input list can hold thousands of plates; every position in the list gets exactly one output row, in the same order.
License plate lookup for vehicle workflows
Use this Actor to add registration data to a dealership stock list, check a leasing fleet, prepare an insurance intake or enrich vehicle listings. The register covers Dutch vehicles of different kinds, including passenger cars, motorcycles and trailers. Vehicle type, make, model and descriptive values are returned as RDW publishes them, so a Dutch value such as Personenauto stays in Dutch.
Each supplied position produces a row when its lookup completes. Your input order is preserved, and duplicates remain separate rows. This makes it possible to join the exported dataset back to the original spreadsheet without guessing which duplicate belongs where. A vehicle missing from the register produces a diagnostic row with a reason instead of silently disappearing.
Input: Dutch license plates (kentekens)
Enter the Dutch license plates in plates. Lowercase letters become uppercase, and spaces, dots and hyphens are removed before the lookup. The original string remains available as plate_input. For example, the verified plate 00-JTB-5 is looked up as 00JTB5. Normalized Dutch plates must contain exactly six letters or digits.
The default input below uses plates that were actually retrieved from RDW on 5 October 2026:
{"plates": ["X276HN", "00-JTB-5"],"include_fuel": true,"include_defects": false,"include_recalls": true}
include_fuel adds every registered fuel row, its power figures, CO2, combined consumption and emission class. It is enabled by default. Hybrid vehicles can have several fuel rows; the Actor keeps those separate and supplies a fuel_types list in RDW sequence order.
RDW sometimes supplies a fuel sequence without a fuel description, as for trailer plate LRX28F. Such rows are omitted from fuel. When no fuel descriptions remain, fuel is an empty array and fuel_types is null. Other vehicles in the list retain their fuel data. An omitted APK defect description likewise appears as description: null on that report.
include_defects adds APK defects reported since June 2022, together with official descriptions and regulation article references where available. It is disabled by default. This is a history of reported defects, sorted by report date descending; it does not establish whether a defect still exists today.
include_recalls adds recall references, status, manufacturer, defect description, consequences, remedy and published hazards. It is enabled by default. Status O means open and status P means the manufacturer has reported a repair. The open_recall_count counts only open records. The open_recall_indicator always preserves the vehicle register's flag. The status dataset can be incomplete, so a true indicator can accompany zero open records. A warning identifies each plate whose indicator differs from its recall records.
For integrations using the API, kentekens is accepted as an alias. When both names are supplied, plates takes precedence. Large lists are collected through continuation requests automatically by the Actor. Direct API callers use the returned next_cursor with the same complete list and options.
Output: RDW vehicle data per plate
The default dataset contains one row per processed input position. The core fields are source, fetched_at, plate, country, make, model, vehicle_type, color, first_registration, inspection_expiry and fuel_types. source is license-plate-lookup and country is NL.
Additional fields describe registration dates, WAM insured status, unladen and running mass, permitted mass, towing weights, engine displacement, cylinder count, seats, doors, wheels, dimensions, original catalog price, gross BPM tax and RDW odometer judgment. Dates use YYYY-MM-DD, numeric values are numbers and RDW yes/no flags become booleans. Missing or inapplicable values are null.
The fuel, defects and recalls arrays live inside each vehicle row. An empty array means that the requested lookup succeeded and found no related records. A null array means the option was disabled or that the requested phase could not be completed. Each row has a partial flag that is true when requested enrichment failed for that vehicle. Diagnostic rows and disabled options have partial: false. The run output also reports warnings and a partial flag when a requested phase fails, while keeping vehicle data that was already retrieved. A discrepancy between the vehicle's recall indicator and completed recall records produces an informational warning; it does not mark the row or run partial.
CO2 values carry a co2_method of wltp or nedc. The Actor prefers a published WLTP value and otherwise uses NEDC. It does not convert one measurement method into the other. Compare vehicles using the accompanying method rather than treating the figures as directly interchangeable.
An unknown plate has found: false and reason: "not_found". An invalid plate has reason: "invalid_plate". Its vehicle fields are null. A typo does not prevent other positions in the same list from being looked up.
Output example
A real row for plate X276HN, retrieved from RDW on 5 October 2026 with the default options (shortened to the most-used fields; the full row has every field listed above):
{"source": "license-plate-lookup","fetched_at": "2026-10-05T06:28:51.424Z","plate": "X276HN","plate_input": "X276HN","country": "NL","found": true,"partial": false,"reason": null,"make": "SKODA","model": "OCTAVIA","vehicle_type": "Personenauto","color": "GRIJS","body_type": "stationwagen","first_registration": "2023-11-23","inspection_expiry": "2027-11-23","insured": true,"fuel_types": ["Elektriciteit","Benzine"],"co2_g_km": 125,"co2_method": "wltp","open_recall_count": 0,"mass_empty_kg": 1280,"engine_displacement_cc": 1498,"seats": 5,"catalog_price_eur": 42725,"odometer_judgment": "Logisch","fuel": [{"sequence": 1,"fuel_type": "Elektriciteit","power_kw": null,"power_electric_kw": 9.4,"co2_g_km": null,"co2_method": null,"consumption_l_100km": null,"emission_class": null,"hybrid_class": "NOVC-HEV"},{"sequence": 2,"fuel_type": "Benzine","power_kw": 110,"power_electric_kw": null,"co2_g_km": 125,"co2_method": "wltp","consumption_l_100km": 5.5,"emission_class": "EURO 6 AP","hybrid_class": "NOVC-HEV"}],"recalls": []}
An unknown plate is kept as a free diagnostic row (shortened; all vehicle fields are null):
{"plate": "ZZ999Z","plate_input": "ZZ999Z","country": "NL","found": false,"partial": false,"reason": "not_found","make": null,"model": null}
Use cases
- Car dealers and used-car buyers: check APK expiry, odometer judgment, open recalls and catalog price for a whole trade-in or auction list before bidding.
- Lease and fleet managers: keep a fleet register current with inspection expiry dates, insurance status and open recalls, and plan APK visits from one export.
- Insurers and brokers: pre-fill quotes with make, model, weight, catalog price and first registration from the plate a customer types.
- Parking, charging and mobility software: classify vehicles by type, fuel and emission class to apply tariffs or environmental zone rules.
- Marketplaces and classifieds: enrich listings with official registration data so buyers see verified make, model and APK date.
Comparison: RDW kenteken check options
| Option | Bulk lists | Structured export | Fuel, CO2, defects and recalls in one row | Cost model |
|---|---|---|---|---|
| Consumer kenteken check websites | No, one plate per page | No | Spread over several pages | Free per plate, paid reports |
| Querying RDW Open Data yourself | Yes, after building it | Yes | You join five datasets yourself | Free data, your own engineering time |
| Paid commercial vehicle data APIs | Yes | Yes | Varies | Contract or subscription |
| This Actor | Yes, thousands per run | JSON, CSV, Excel, API | Yes, merged per plate | Pay per found vehicle; unknown plates free |
The register itself is public, so the value here is the work around it: plate normalization, batching, merging the vehicle, fuel, defect and recall datasets into one row, typed values, and diagnostics for plates that do not exist.
Pricing
The billing unit is one found vehicle row, represented by the vehicle_found event. Fuel, APK defects and recall enrichment are included in that unit. Unknown and invalid plates generate zero vehicle events. Repeating a found plate produces another delivered row and another vehicle event, because duplicates are deliberately retained.
The reference price is $0.003 per found vehicle, or $3 per 1,000 found rows. The Actor's displayed Apify pricing is the applicable published price. Apify platform usage may apply separately according to your plan. Free-plan runs process at most ten input positions; enrichment remains available within that allowance. Larger lists require a paid Apify plan or separate runs.
Source and interpretation
The source is official RDW Open Data, made available under CC0. Output reflects the register at retrieval time, with fetched_at recording that time. Values can change after an APK inspection, ownership transfer or recall update. A missing record means the plate was not present in the public dataset at the time of the request.
RDW Open Data does not publish the vehicle owner or VIN. This Actor therefore returns vehicle registration records keyed by plate and country. It reports the official odometer judgment as supplied and does not invent a fraud score or a mechanical assessment.
FAQ
Does this license plate lookup cover other countries?
This version covers Netherlands registrations only. Belgian, French and British plates are not queried against their national registers. Use Dutch plates for this Actor.
Can I enter plates with hyphens or lowercase letters?
Yes. Spaces, dots and hyphens are removed and letters are converted to uppercase before contacting the register. Your original string is retained in the output so you can match it back to your input.
Do unknown plates cost a vehicle event?
No. Only rows with the boolean found set to true count toward vehicle events. Unknown and invalid plates are delivered as free diagnostic rows with a reason, and an entirely diagnostic run has no vehicle events.
Why is a fuel or recall array null?
The corresponding option may have been disabled. If it was requested but could not be retrieved, that row has partial: true, the run is marked partial and a warning names the phase. A successful lookup with no related records returns an empty array instead.
Does an APK defect prove that a vehicle currently has a problem?
No. The defect list is a history of inspection reports since June 2022. Consult the report dates and official descriptions; the Actor does not determine the vehicle's present mechanical condition.
Is this the same data as the official RDW kenteken check?
Yes. The rows come from the public RDW Open Data register, the same source behind the RDW kenteken check and most Dutch license plate lookup websites. Field values such as vehicle type and color stay in Dutch as RDW publishes them.
Does the license plate lookup return the owner or the VIN?
No. RDW Open Data does not publish owner names, addresses or the VIN, and this Actor does not try to obtain them.