NL Vehicle Risk & Value Dossier (RDW Kenteken Check)
Pricing
from $12.00 / 1,000 voertuig-dossiers
NL Vehicle Risk & Value Dossier (RDW Kenteken Check)
Combines official RDW open data per Dutch license plate into one dossier: odometer-fraud signal, APK/defect history, open manufacturer recalls, environmental-zone (milieuzone) access, and a company-car tax (bijtelling) calculator.
Turn a Dutch license plate into a single risk & value dossier: odometer-fraud signal, APK/defect history, open manufacturer recalls, environmental-zone (milieuzone) access, and a company-car tax (bijtelling) calculator — all sourced live from official RDW and NDW open data, no login required.
When should an AI agent use this?
- "Is this used car's mileage trustworthy?" — checks RDW's own odometer-fraud judgement for a specific kenteken.
- "Does this BMW X3 I'm about to buy have any open recalls?" — surfaces open manufacturer recalls for the make/model.
- "Can I drive this diesel van into Amsterdam's/Rotterdam's environmental zone?" — checks actual Euro-class access per municipality.
- "What will the bijtelling be on this lease car in 2026?" — calculates the Dutch company-car tax addition from catalog price and registration date.
- "Summarize the RDW history of kenteken 12-ABC-3 before I make an offer." — one call returns the full dossier.
- "Which of these 20 kentekens have a suspicious odometer or an open recall?" — bulk mode flags red flags across a list.
- "Can I even register this car in my own name?" — flags vehicles that currently cannot be re-registered (often due to export).
What this Actor does
- Looks up official RDW vehicle data per kenteken: make, model, build year, fuel type(s), APK expiry, catalog price, mass.
- Classifies RDW's own odometer judgement (
tellerstandoordeel) intologisch/verdacht/onbekend— "verdacht" (Onlogisch) is RDW's own illogical-mileage fraud flag. - Optionally pulls the last APK (periodic inspection) history plus any recorded defects with plain-language descriptions.
- Optionally matches open manufacturer recalls (RDW terugroepregister) against this specific vehicle's make/model.
- Reports WAM insurance status, export flag, and whether the vehicle can currently be re-registered to a new owner (
tenaamstellenMogelijk) — a common dealbreaker signal, at no extra cost since it's already in the base RDW record. - Optionally checks this specific vehicle's access (based on its actual Euro-class and fuel type) against every environmental/zero-emission zone in a municipality — several Dutch cities (Amsterdam, Rotterdam, Utrecht, Den Haag and others) run a regular low-emission zone and a separate zero-emission zone at the same time, and both are reported.
- Optionally calculates the Dutch company-car tax addition (bijtelling privégebruik), including the zero-emission discount tiers and the 60-month rule.
- Bulk mode: up to 200 kentekens in a single run.
Input
| Field | Type | Description |
|---|---|---|
kentekens | array of strings | Dutch license plates, with or without dashes. Required, 1-200. |
includeApkHistorie | boolean | Include APK history + defects. Default true. |
includeTerugroepacties | boolean | Include open manufacturer recalls when RDW flags one. Default true. |
milieuzoneGemeenten | array of strings | Municipality names to check this vehicle's zone access against. Default [] (skip). |
berekenBijtelling | boolean | Calculate the company-car tax addition. Default false. |
Output
{"recordType": "voertuigdossier","kenteken": "JDX29F","gevonden": true,"merk": "DACIA","handelsbenaming": "SANDERO","voertuigsoort": "Personenauto","brandstoffen": ["Benzine", "LPG"],"bouwjaar": 2025,"apkVervaldatum": "2028-09-09","apkVerlopen": false,"catalogusprijs": 24100,"massaRijklaar": 1228,"europeseVoertuigcategorie": "M1","tellerstand": {"oordeel": "Logisch","classificatie": "logisch","jaarLaatsteRegistratie": 2025,"toelichting": "De geregistreerde kilometerstanden zijn consistent bevonden bij eerdere keuringen."},"apkHistorie": { "laatsteKeuringen": [], "gebreken": [] },"wamVerzekerd": "Ja","exportIndicator": false,"tenaamstellenMogelijk": true,"heeftOpenstaandeTerugroepactie": false,"terugroepacties": null,"terugroepactiesAantalGevonden": null,"milieuzoneToegang": null,"bijtelling": null,"samenvatting": {"risiconiveau": "laag","aandachtspunten": [],"omschrijving": "Geen aandachtspunten gevonden in de gecontroleerde RDW-signalen."},"disclaimer": "Indicatief dossier op basis van publieke RDW/NDW-open-data — geen taxatie, keuring, garantie of juridisch/fiscaal advies.","bron": "RDW Open Data + NDW Emissiezones"}
The samenvatting block (risiconiveau: laag/middel/hoog/onbekend) is a free summary derived from data already fetched — no extra charge.
Use cases
- Occasion buyers/dealers verifying a vehicle's history before purchase (odometer trust, open recalls, APK defects).
- Leasing companies and insurers screening vehicles at acceptance/intake.
- Fleet/logistics planners checking environmental-zone access before routing a specific vehicle into a city center.
- Employers/employees calculating the exact bijtelling for a company car offer.
Pricing
This Actor uses Apify's Pay-Per-Event (PPE) pricing model.
- Actor Start: $0.00005 (Apify default)
- voertuig-dossier: $0.012 per license plate found
- tellerstand-fraude-signaal: $0.02 when a suspicious ("Onlogisch") odometer judgement is detected
- terugroepactie-resultaat: $0.015 per vehicle when 1+ open recalls are found (flat, not per recall)
- milieuzone-resultaat: $0.008 per municipality checked
- bijtelling-berekening: $0.01 when a full calculation is delivered
Legal
Data sources: RDW Open Data (kenteken/APK/tellerstand/recall registers) and NDW's official emission-zones feed — both public Dutch government open data, no authentication. No personal/owner data is retrieved or exposed; only vehicle-level technical data. Recall matching is by make+model (RDW's open data does not link a recall to an individual VIN/kenteken), so recall results are indicative, not a guaranteed per-vehicle confirmation — always shown alongside RDW's own kenteken-specific "open recall" indicator. The bijtelling calculation follows the standard national tax rules and does not account for individual tax situations — it is not tax advice. This is an indicative dossier, not a vehicle inspection, valuation or legal/fiscal advice.
FAQ
Q: Does this check who owns the vehicle? A: No. Only vehicle-level technical data is retrieved — no owner/keeper personal data.
Q: Is a "verdacht" (suspicious) odometer result proof of fraud? A: No — it reflects RDW's own "Onlogisch" classification, based on inconsistent mileage readings across inspections. Always verify further before acting on it.
Q: Why is the recall list capped at 15?
A: For long-running models the make+model match can surface dozens of historical recalls that are not individually excludable per VIN. The dossier shows the 15 most recent and always reports the true total found (terugroepactiesAantalGevonden).
Q: Can I check zone access without knowing the vehicle's Euro class myself? A: Yes — the actor derives it directly from RDW's own emission-level field per vehicle, no manual lookup needed.
Q: A municipality shows up twice in milieuzoneToegang — is that a bug?
A: No. Several Dutch cities (Amsterdam, Rotterdam, Utrecht, Den Haag, Haarlem, Delft, Leiden, Maastricht, Amersfoort) run more than one zone at the same time — typically a regular low-emission zone plus a separate zero-emission zone, each with its own access rule. You'll get one record per zone.
Related Actors
- NL Emission Zones Monitor (Milieuzones & Zero-Emission Zones) — for scanning all Dutch environmental zones nationwide (this actor instead checks one specific vehicle's access per zone).
Zoekwoorden: kenteken check, RDW voertuiggegevens, tellerstandcheck, kilometerstand fraude, terugroepactie, milieuzone check auto, bijtelling berekenen, occasion check.
Keywords
netherlands, rdw, kenteken, license-plate, vehicle-history, odometer-fraud, recall, milieuzone, emission-zone, bijtelling, company-car-tax, open-data
Changelog
0.4.0
- Bugfix: municipalities that run more than one zone at once (10 of ~27 in the feed, e.g. Amsterdam, Rotterdam, Utrecht, Den Haag) previously only had their first zone checked — the other zone(s) were silently skipped. All matching zones are now reported.
- New free fields:
wamVerzekerd,exportIndicator,tenaamstellenMogelijk(whether the vehicle can currently be re-registered to a new owner — a common dealbreaker signal, often correlated with an export flag). Sourced from data already fetched, no extra charge. tenaamstellenMogelijk: falsenow always raises thesamenvattingrisk level to "hoog", same as a suspicious odometer reading.
0.3.0
- Bugfix: a regular (non-plug-in) or plug-in hybrid that still lists a combustion fuel is no longer misclassified as zero-emission — only vehicles that run purely on electricity/hydrogen qualify for the bijtelling discount and zero-emission-zone access.
- New free field:
apkVerlopen(whether the APK expiry date has already passed). - New free field:
samenvatting— a risk-level summary (laag/middel/hoog/onbekend) derived from data already fetched, no extra charge. - Performance/fairness: recall lookups for vehicles sharing the same make within one run are now cached instead of re-fetched per vehicle.
0.2.0
- Bugfix: a zero-emission vehicle (electric/hydrogen) now always passes an environmental-zone Euro-class check, regardless of the homologation-era emission value RDW still records for it.
- Robustness: the Euro-class used for zone checks is now taken from the first fuel-row that actually has one, instead of always row 0.
0.1.0
- Initial release: RDW basisgegevens, tellerstand-fraude-classificatie, APK-historie, terugroepacties (merk+type-match), milieuzone-toegang, bijtellingscalculator.