Logistics

Voertuighistorie (RDW)

RDW voertuighistorie API — volledig voertuigdossier op kenteken inclusief APK, terugroepacties en CO₂-uitstoot. RDW Open Data vehicle history API.

GET /v1/logistics/vehicle-history

Returns a comprehensive vehicle record for any Dutch-registered license plate, assembled from four RDW Open Data datasets in a single parallel request. Data is CC0 / Public Domain.

Datasets combined:

  • m9d7-ebf2 — base registration (make, model, colour, dates, weight, seats — 98 fields)
  • 8ys7-d773 — fuel & emissions (Euro standard, CO₂, power, consumption)
  • vkij-7mwc — APK (roadworthiness) certificate expiry
  • t49b-isb7 — open and resolved manufacturer recall statuses

Request parameters

ParameterTypeRequiredDescription
kentekenstringDutch license plate, with or without hyphens, e.g. AB-123-C or AB123C

Example request

curl -H "X-API-Key: YOUR_KEY" \
  "https://api.omnizoek.nl/v1/logistics/vehicle-history?kenteken=AB-123-C"

Example response

{
  "kenteken": "AB-123-C",
  "make": "VOLKSWAGEN",
  "commercial_name": "GOLF",
  "vehicle_type": "Personenauto",
  "body_style": "Hatchback",
  "eu_vehicle_category": "M1",
  "first_admission_date": "2018-03-15",
  "registration_date": "2020-06-01",
  "primary_color": "GRIJS",
  "secondary_color": null,
  "seats": 5,
  "doors": 5,
  "cylinders": 4,
  "engine_displacement_cc": 1395,
  "curb_weight_kg": 1265,
  "max_weight_kg": 1795,
  "catalog_price_eur": 28450,
  "bruto_bpm_eur": 3200,
  "wam_insured": true,
  "fuel_types": ["Benzine"],
  "euro_standard": "Euro 6",
  "emission_class": "G",
  "max_power_kw": 92.0,
  "co2_combined_g_km": 127.0,
  "fuel_consumption_combined_l100km": 5.5,
  "noise_level_db": 68.0,
  "apk_expiry_date": "2026-09-30",
  "apk_days_remaining": 202,
  "open_recalls": [],
  "open_recall_count": 0
}

Response fields

Identity

FieldTypeDescription
kentekenstringFormatted Dutch license plate with hyphens
makestring | nullManufacturer, e.g. VOLKSWAGEN
commercial_namestring | nullCommercial/trade name, e.g. GOLF
vehicle_typestring | nullRDW vehicle type, e.g. Personenauto, Bedrijfsauto
body_stylestring | nullBody style, e.g. Hatchback, SUV
eu_vehicle_categorystring | nullEU vehicle category, e.g. M1 (passenger), N1 (light commercial)

Dates

FieldTypeDescription
first_admission_datestring | nullDate first admitted to traffic (ISO 8601)
registration_datestring | nullDate of current owner registration (ISO 8601)

Appearance & dimensions

FieldTypeDescription
primary_colorstring | nullPrimary colour, e.g. GRIJS, WIT
secondary_colorstring | nullSecondary colour, if any
seatsinteger | nullNumber of seats
doorsinteger | nullNumber of doors
cylindersinteger | nullNumber of cylinders
engine_displacement_ccinteger | nullEngine displacement in cc
curb_weight_kginteger | nullUnladen (curb) weight in kg
max_weight_kginteger | nullTechnically permitted maximum laden mass in kg

Financial

FieldTypeDescription
catalog_price_eurinteger | nullOriginal catalog price in EUR (incl. VAT)
bruto_bpm_eurinteger | nullGross BPM (registration tax) in EUR
wam_insuredboolean | nullWhether the vehicle has active WAM (third-party liability) insurance

Fuel & emissions

FieldTypeDescription
fuel_typesarrayFuel types, primary fuel first, e.g. ["Benzine"]
euro_standardstring | nullEuro emission standard, e.g. Euro 6
emission_classstring | nullRDW emission class code, e.g. G
max_power_kwnumber | nullMaximum net power in kW
co2_combined_g_kmnumber | nullCO₂ combined cycle in g/km
fuel_consumption_combined_l100kmnumber | nullCombined fuel consumption in l/100 km
noise_level_dbnumber | nullDrive-by noise level in dB(A)

APK

FieldTypeDescription
apk_expiry_datestring | nullAPK (roadworthiness) expiry date (ISO 8601)
apk_days_remaininginteger | nullDays until APK expires; negative means the vehicle is overdue

Recalls

FieldTypeDescription
open_recallsarrayAll recall records linked to this vehicle
open_recall_countintegerNumber of open (unresolved) recalls

Recall item fields

FieldTypeDescription
reference_codestringRecall reference code from the manufacturer
code_statusstringO = open (action required), P = fixed (producer reported repair)
statusstringHuman-readable status description

Error responses

StatusCause
404License plate not found in RDW
503RDW API unavailable

Caching

Results are cached for 1 hour per license plate. WAM insurance status can change within a day, so the TTL is kept short.

On this page