Naar de inhoud

API-documentatie

Elk endpoint van de KentekenFeed-API, met zijn parameters, de velden die het teruggeeft en zijn fouten. De referentie komt uit hetzelfde OpenAPI-document waartegen de API getest wordt, dus ze klopt met wat de API antwoordt. De beschrijvingen zijn in het Engels, net als de veldnamen.

Laad het OpenAPI-document in Postman of Insomnia, of genereer er een client mee.

OpenAPI downloaden (JSON) OpenAPI 3.1 · API-versie 1
Basis-URL
https://api.kentekenfeed.nl/api/v1
Authenticatie
Authorization: Bearer kf_live_… of X-Api-Key: kf_live_…. Je maakt sleutels aan in het portaal.
Fouten
{"error": {"code", "message", "request_id", "details?"}}. code blijft gelijk; message is voor mensen.
Formaten
JSON. Tijden in ISO-8601 UTC, datums als YYYY-MM-DD. Bedragen zijn getallen in euro’s: in een voertuig met _eur in de naam (catalog_price_eur), in analytics zonder (catalog_price). Elk antwoord heeft een X-Request-Id.

Voertuigen

Vraag een voertuig op met zijn kenteken, en zie welke RDW-datasets de API heeft en hoe actueel ze zijn.

Voertuig opvragen

get /vehicles/{registration}

Wat de open data van de RDW over één voertuig bevat, op kenteken: techniek, keuringen, gebreken en terugroepacties.

One vehicle (vehicles:read, plan with the vehicle API). Billed only on 200.

The vehicle.v1 record. Choose the view (compact by default, full, or raw RDW names) and, for compact and full, the sections to include. Invalid parameters are 422 validation_failed and are not billed.

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/vehicles/{registration}" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • registration pad string verplicht

    Six letters and digits, separators allowed (AB-123-C).

  • view query string

    compact (default) leaves out fields RDW has no value for and empty collections; full returns every field (null when unavailable) and every collection; raw returns the typed values under RDW dataset and column names.

    Waarden
    compact full raw
    Standaard
    compact
  • include query string

    Comma-separated sections to return (vehicle, technical, environment, status, inspections, history); registration and metadata are always returned. Unknown names are a 422. Not with view=raw.

    Voorbeeld
    technical,environment

Antwoorden

200 The vehicle, as {data} with the response metadata inside data.

Headers: X-RateLimit-Limit X-RateLimit-Remaining

Een van

VehicleResponse

4xx · 5xx Fouten: Error

Datasets bekijken

get /datasets

Welke RDW-datasets de API heeft, met hun aantal rijen, versie en wanneer de RDW ze voor het laatst publiceerde.

Every dataset with its public name, key, rows, version and freshness (any key; vehicle API or feed plan)

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/datasets" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Antwoorden

200 Datasets.

  • data array of object verplicht
    Velden (10)
    • source_published_at NullableTimestamp verplicht
    • last_checked_at NullableTimestamp verplicht
    • stale boolean verplicht

      Not checked against RDW recently, or its current version not in Elasticsearch yet. Stale data is still served.

    • name string verplicht
    • source_dataset string verplicht
    • role string verplicht
      Waarden
      vehicle vehicle_child reference
    • description string verplicht
    • key array of string verplicht
    • rows integer | null verplicht
    • version string | null verplicht
  • meta object verplicht
    Velden (2)
    • schema_version string verplicht
    • data_version string verplicht

4xx · 5xx Fouten: Error

Analyseren

Tel, groepeer en meet de voertuigen in het register, of de gebreken die bij keuringen gevonden zijn.

Velden om op te filteren, groeperen en meten

Gebruik deze namen in filter[…], group_by en metrics, voor voertuigen en voor gebreken. Het zijn de veldnamen per dataset, dezelfde als field in de feed; een voertuigantwoord noemt dezelfde velden anders (trade_name is daar vehicle.model, catalog_price is vehicle.fiscal.catalog_price_eur). Velden uit een gekoppelde dataset beginnen met de naam daarvan, zoals fuels.fuel. GET /analytics/fields geeft dezelfde lijst.

Kenmerken (22)

Filter op één of meer waarden en groepeer per waarde. Ja/nee-velden nemen true of false.

  • make string

    Make.

  • trade_name string

    Trade name (model) given by the manufacturer.

  • vehicle_type string

    Kind of vehicle in RDW wording, e.g. "Personenauto" or "Bedrijfsauto".

  • body_style string

    Body arrangement in RDW wording, e.g. "hatchback" or "stationwagen".

  • primary_color string

    Main colour in RDW wording.

  • secondary_color string

    Second colour in RDW wording.

  • european_vehicle_category string

    European vehicle category, e.g. M1 or N1.

  • fuel_efficiency_class string

    Fuel efficiency label, A to G.

  • odometer_judgement string

    RDW judgement of the odometer history in RDW wording, e.g. "Logisch" or "Onlogisch".

  • insured boolean

    Whether third-party liability (WAM) insurance is registered; null when not applicable.

  • exported boolean

    Whether the vehicle has been exported.

  • taxi boolean

    Whether the vehicle is registered as a taxi.

  • open_recall boolean

    Whether a recall is open for the vehicle.

  • registration_allowed boolean

    Whether the vehicle can currently be registered to an owner.

  • fuels.fuel string

    Fuel in RDW wording, e.g. "Benzine", "Diesel" or "Elektriciteit".

  • fuels.emission_code string

    Emission standard (Euro class) code.

  • fuels.hybrid_class string

    Hybrid class: OVC-HEV (externally chargeable) or NOVC-HEV.

  • bodies.body_type_description string

    European description of the body type.

  • recalls.recall_code string

    RDW reference code of the recall campaign.

  • recalls.status string

    Status as reported by the manufacturer, in RDW wording.

  • defects.defect_code string

    Code of the defect in the RDW defect catalogue.

  • defects.approval_type string

    Kind of approval of the inspection station.

Datums (5)

Filter op een periode met gte, gt, lte of lt, en groepeer per jaar of per maand.

  • first_admission_date date

    Date the vehicle was first admitted to the road, in any country.

  • first_registration_nl_date date

    Date the vehicle was first registered to an owner in the Netherlands.

  • registration_date date

    Date of the current registration to an owner (tenaamstelling).

  • apk_expiry_date date

    Date the periodic inspection (APK) expires.

  • defects.report_date date

    Date of the inspection report the defect belongs to.

Getallen (17)

Filter op een bereik en meet met avg, min, max, sum of median, zoals metrics=median:catalog_price.

  • catalog_price integer

    Catalogue price including VAT and BPM, in euros.

  • gross_bpm integer

    Gross BPM (registration tax) at first registration, in euros.

  • empty_mass integer

    Mass of the empty vehicle in kg.

  • curb_mass integer

    Ready-to-drive mass (massa rijklaar) in kg.

  • max_mass integer

    Permitted maximum mass in kg.

  • displacement integer

    Engine displacement in cc.

  • cylinders integer

    Number of cylinders.

  • seats integer

    Number of seats, the driver included.

  • doors integer

    Number of doors.

  • length integer

    Length in cm.

  • width integer

    Width in cm.

  • wheelbase integer

    Wheelbase in cm.

  • power_to_mass_ratio number

    Power per ready-to-drive mass, in kW/kg.

  • fuels.co2_combined_wltp number

    Combined CO2 emission in g/km (WLTP).

  • fuels.fuel_consumption_combined_wltp number

    Combined fuel consumption in l/100 km (WLTP).

  • fuels.electric_range_electric_only_wltp number

    Range of a pure electric vehicle in km (WLTP).

  • fuels.net_max_power_electric number

    Net maximum electric power in kW.

Grenzen van één verzoek

  • Tot 2 niveaus in group_by, buitenste eerst, zoals make,trade_name.
  • Tot 100 groepen per niveau met limit, standaard 20, grootste eerst.
  • Tot 50 waarden per filter, gescheiden door komma’s.
  • Tot 5 metingen, als bewerking:veld met avg, min, max, sum of median.
  • Groeperen van een datum per :month beslaat hooguit 120 maanden, met een filter op die datum met een begin en een eind.

Velden opvragen

get /analytics/fields

De velden waarop je kunt filteren, groeperen en meten, en de grenzen van één verzoek. Gratis.

The fields analytics can filter, group and measure, the subjects and the limits (not billed)

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/analytics/fields" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Antwoorden

200 The analytics vocabulary.

  • data object verplicht
    Velden (3)
    • subjects array of object verplicht
      Velden (4)
      • name string verplicht
        Waarden
        vehicles defects
      • description string verplicht
      • counts string verplicht
        Waarden
        vehicles defects
      • default_group_by string | null verplicht
    • fields array of object verplicht
      Velden (8)
      • name string verplicht
        Voorbeeld
        make fuels.fuel
      • dataset string verplicht
      • type string verplicht
        Waarden
        string integer number date time boolean
      • kind string verplicht
        Waarden
        dimension date metric
      • description string verplicht
      • filter string verplicht
        Waarden
        values range
      • group_by array of string | null verplicht

        [null]: group by value; year/month: the intervals a date takes; []: cannot be grouped by.

        Waarden
        year month null
      • metrics array of string verplicht
        Waarden
        avg min max sum median
    • limits object verplicht
      Velden (6)
      • group_levels integer verplicht
      • groups_per_level integer verplicht
      • default_groups_per_level integer verplicht
      • filter_values integer verplicht
      • metrics integer verplicht
      • month_groups integer verplicht
  • meta object verplicht
    Velden (1)
    • schema_version "analytics.v1" verplicht

4xx · 5xx Fouten: Error

Voertuigen tellen

get /analytics/vehicles

Tel de voertuigen in het register, gefilterd en gegroepeerd zoals je wilt, met gemiddelden, sommen of medianen. Geëxporteerde en uitgeschreven voertuigen tellen mee; registration_allowed zegt of een voertuig op naam gezet kan worden, niet of het de weg op mag.

Count vehicles in the register, grouped and measured (vehicles:read, plan with analytics). One analytics query per 200.

Counts every vehicle in RDW's open register, exported and deregistered ones included (filter[registration_allowed]=true for vehicles that can be on the road). A child dataset field (fuels.fuel) filters on and groups by the vehicle's rows of that dataset, and count is still vehicles. Answers are cached until the next sync; a cached answer is still billed.

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/analytics/vehicles" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • filter query object

    filter[make]=TESLA,BMW (any of the values, any case; booleans take true/false), filter[first_admission_date][gte]=2020-01-01 (dates as YYYY-MM-DD and metrics take gte, gt, lte, lt). At most 50 values per field.

  • group_by query string

    Up to 2 comma-separated fields, outer first, e.g. make,trade_name. Dates take :year or :month (month needs a filter on that date spanning at most 120 months).

  • metrics query string

    Up to 5 comma-separated operation:field (avg, min, max, sum, median), e.g. avg:catalog_price.

  • limit query integer

    Groups per level, largest first.

    Standaard
    20
    Minimum
    1
    Maximum
    100

Antwoorden

200 The analytics.v1 answer.

Headers: X-RateLimit-Limit X-RateLimit-Remaining

  • data object verplicht
    Velden (5)
    • count integer verplicht

      Vehicles (subject vehicles) or defect findings (subject defects).

    • vehicles integer

      Subject defects only: the distinct vehicles the counted defects were found on.

    • metrics map of number | null verplicht

      Keyed by the requested operation:field; null when no vehicle in the group has a value.

    • groups null | array of AnalyticsOuterGroup verplicht
    • other_count integer | null verplicht

      Counted items in groups beyond the limit. Null for date groups and for child dataset groups of vehicles (whose leftovers are rows, not vehicles).

  • meta object verplicht
    Velden (4)
    • schema_version "analytics.v1" verplicht
    • data_version string verplicht
    • datasets map of Freshness verplicht
    • query object verplicht

      The query in its canonical form (filters by field, values sorted), as answered.

      Velden (5)
      • subject string verplicht
        Waarden
        vehicles defects
      • filter object verplicht

        Keyed by field: the values, or the range bounds. Empty without filters.

      • group_by array of string verplicht
      • metrics array of string verplicht
      • limit integer verplicht

4xx · 5xx Fouten: Error

Gebreken tellen

get /analytics/defects

Tel de gebreken die bij keuringen gevonden zijn, per gebrekcode of gegroepeerd zoals je wilt, met het aantal voertuigen waarop ze zaten.

Count defects found at inspections, by defect code unless grouped otherwise (vehicles:read, plan with analytics). One analytics query per 200.

count is defect findings (one per defect row of an inspection report) and vehicles the distinct vehicles they were found on. defects.* filters select the findings counted; vehicle filters select the vehicles. Defect code groups carry the description and article of the code's latest catalogue version.

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/analytics/defects" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • filter query object

    filter[make]=TESLA,BMW (any of the values, any case; booleans take true/false), filter[first_admission_date][gte]=2020-01-01 (dates as YYYY-MM-DD and metrics take gte, gt, lte, lt). At most 50 values per field.

  • group_by query string

    Up to 2 comma-separated fields, outer first, e.g. make,trade_name. Dates take :year or :month (month needs a filter on that date spanning at most 120 months).

  • metrics query string

    Up to 5 comma-separated operation:field (avg, min, max, sum, median), e.g. avg:catalog_price.

  • limit query integer

    Groups per level, largest first.

    Standaard
    20
    Minimum
    1
    Maximum
    100

Antwoorden

200 The analytics.v1 answer.

Headers: X-RateLimit-Limit X-RateLimit-Remaining

  • data object verplicht
    Velden (5)
    • count integer verplicht

      Vehicles (subject vehicles) or defect findings (subject defects).

    • vehicles integer

      Subject defects only: the distinct vehicles the counted defects were found on.

    • metrics map of number | null verplicht

      Keyed by the requested operation:field; null when no vehicle in the group has a value.

    • groups null | array of AnalyticsOuterGroup verplicht
    • other_count integer | null verplicht

      Counted items in groups beyond the limit. Null for date groups and for child dataset groups of vehicles (whose leftovers are rows, not vehicles).

  • meta object verplicht
    Velden (4)
    • schema_version "analytics.v1" verplicht
    • data_version string verplicht
    • datasets map of Freshness verplicht
    • query object verplicht

      The query in its canonical form (filters by field, values sorted), as answered.

      Velden (5)
      • subject string verplicht
        Waarden
        vehicles defects
      • filter object verplicht

        Keyed by field: the values, or the range bounds. Empty without filters.

      • group_by array of string verplicht
      • metrics array of string verplicht
      • limit integer verplicht

4xx · 5xx Fouten: Error

Mutatiefeed

Begin met een snapshot van het hele register, haal daarna de wijzigingen op vanaf zijn cursor en blijf bij. Een wijziging is een verschil tussen twee opeenvolgende versies van de open data van de RDW. Batches laten zien wat elke import bracht; mutatiebestanden zetten een dag aan wijzigingen in één bestand.

Zo werken cursors

Een cursor is een bladwijzer in de feed. Elke wijziging heeft een positie, een getal dat alleen maar oploopt. Een cursor markeert een positie, en GET /mutations?after=<cursor> geeft de wijzigingen die daarna kwamen, oudste eerst.

De feed pagina voor pagina lezen

  1. GET /mutations?after=CURSOR_1 1.000 wijzigingen · next_cursor: CURSOR_2 · has_more: true
  2. GET /mutations?after=CURSOR_2 412 wijzigingen · next_cursor: CURSOR_3 · has_more: false
  3. later: GET /mutations?after=CURSOR_3 de wijzigingen die sindsdien zijn geïmporteerd

Waar je een cursor krijgt

  • cursor van een snapshot: waar de snapshot eindigt. Begin hier nadat je zijn bestanden hebt geladen.
  • GET /mutations/checkpoint: de nieuwste wijziging. Begin hier om de feed vanaf nu te volgen.
  • meta.next_cursor van elke pagina van /mutations: waar die pagina eindigt. Ga hier verder.
  • start_cursor van een batch: waar één import begint, om die import opnieuw te lezen.
  • Helemaal geen after: vanaf de oudste wijziging die de feed nog heeft.

Goed om te weten

  • Bewaar next_cursor zodra je een pagina hebt verwerkt, ook als data leeg is, en ga daar de volgende keer mee verder. Is has_more false, dan ben je bij; nieuwe batches komen een paar keer per dag binnen.
  • Bewaar een cursor zoals hij is. Het is een verzegelde tekst: je kunt er zelf geen maken of aanpassen.
  • Een cursor werkt alleen met de filters waarmee hij kwam (registration, dataset, type). Andere filters geven 400 cursor_filter_mismatch; wil je andere filters, begin dan bij een checkpoint met de nieuwe.
  • Wie next_cursor volgt, mist nooit een wijziging. Na een fout kun je een wijziging twee keer krijgen: sla een id over die je al verwerkt hebt.
  • De feed bewaart wijzigingen 90 dagen. Een oudere cursor geeft 410 cursor_expired; begin dan opnieuw bij de nieuwste snapshot.
  • Een mutatiebestand over een bereik neemt twee cursors: de wijzigingen na after tot en met until.

Wijzigingen ophalen

get /mutations

De gevonden wijzigingen op volgorde, pagina voor pagina vanaf een cursor. Bewaar de laatste cursor en ga daar de volgende keer verder.

mutation.v1 records in position order (mutations:read, plan with the feed). Not billed.

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/mutations" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • after query string

    A cursor from this API (next_cursor, checkpoint, a batch or snapshot).

  • registration query string
  • dataset query string

    Public dataset name.

  • type query MutationType
    Waarden
    appeared changed disappeared
  • limit query integer
    Standaard
    100
    Minimum
    1
    Maximum
    1000

Antwoorden

200 A page. next_cursor is always set; keep it even when data is empty.

  • data array of Mutation verplicht
  • meta object verplicht
    Velden (4)
    • schema_version "mutation.v1" verplicht
    • next_cursor string verplicht
    • has_more boolean verplicht
    • head_position integer verplicht

4xx · 5xx Fouten: Error

Beginnen bij nu

get /mutations/checkpoint

Een cursor bij de nieuwste wijziging, om de feed vanaf nu te volgen zonder het verleden te lezen.

A cursor at the current head (same filters as /mutations)

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/mutations/checkpoint" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • registration query string
  • dataset query string
  • type query MutationType
    Waarden
    appeared changed disappeared

Antwoorden

200 Head.

  • data object verplicht
    Velden (2)
    • position integer verplicht
    • cursor string verplicht

4xx · 5xx Fouten: Error

Batches bekijken

get /mutations/batches

De imports per dataset en dag, nieuwste eerst, met hun aantallen en de cursor waar elke batch begint.

Imported batches, newest first

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/mutations/batches" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • dataset query string
  • date query string (date)
  • limit query integer
    Standaard
    50
    Minimum
    1
    Maximum
    100
  • cursor query string

    meta.next_cursor of the previous page.

Antwoorden

200 Batches.

4xx · 5xx Fouten: Error

Eén batch opvragen

get /mutations/batches/{batch}

Eén import, met zijn aantallen en cursors.

One imported batch

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/mutations/batches/{batch}" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • batch pad string verplicht

Antwoorden

200 Batch.

4xx · 5xx Fouten: Error

Snapshots bekijken

get /snapshots

Volledige kopieën van het register, nieuwste eerst, elk met de cursor om de feed vanaf te volgen.

Completed snapshots, newest first (plan with snapshots)

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/snapshots" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Antwoorden

200 Snapshots.

4xx · 5xx Fouten: Error

Eén snapshot opvragen

get /snapshots/{snapshot}

Eén snapshot, met zijn bestanden.

One completed snapshot

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/snapshots/{snapshot}" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • snapshot pad string verplicht

Antwoorden

200 A snapshot.

4xx · 5xx Fouten: Error

Snapshotbestand downloaden

post /snapshots/{snapshot}/files/{file}/download-url

Een link naar één bestand van een snapshot, 10 minuten geldig.

A 10-minute signed URL for one snapshot file

API-sleutel

curl -X POST "https://api.kentekenfeed.nl/api/v1/snapshots/{snapshot}/files/{file}/download-url" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • snapshot pad string verplicht
  • file pad string verplicht

    File name, e.g. axles.csv.gz.

Antwoorden

200 A signed download URL.

  • data object verplicht
    Velden (2)
    • url string (uri) verplicht
    • expires_at Timestamp verplicht
      Voorbeeld
      2026-11-03T08:07:10Z

4xx · 5xx Fouten: Error

Mutatiebestanden bekijken

get /mutation-files

De mutatiebestanden die je account aanvroeg, nieuwste eerst.

The account's mutation files, newest first (plan with mutation files)

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/mutation-files" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • limit query integer
    Standaard
    50
    Minimum
    1
    Maximum
    100
  • cursor query string

    meta.next_cursor of the previous page.

Antwoorden

200 Mutation files.

4xx · 5xx Fouten: Error

Mutatiebestand aanvragen

post /mutation-files

Laat de wijzigingen van één dag, of tussen twee cursors, in één JSONL- of CSV-bestand zetten.

Request a mutation file (202), or get the existing one with the same contents (200, not counted)

API-sleutel

curl -X POST "https://api.kentekenfeed.nl/api/v1/mutation-files" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kind":"daily","format":"jsonl"}'

Request body

application/json

  • kind string verplicht
    Waarden
    daily range
  • format string verplicht
    Waarden
    jsonl csv
  • dataset string | null

    Public dataset name.

  • date string (date)

    daily only.

  • after string

    range only; a feed cursor.

  • until string

    range only; a feed cursor.

Antwoorden

200 A mutation file.

202 A mutation file.

4xx · 5xx Fouten: Error

Eén mutatiebestand opvragen

get /mutation-files/{mutationFile}

Eén mutatiebestand. Vraag het op tot de status completed is.

One mutation file (poll until completed)

API-sleutel

curl "https://api.kentekenfeed.nl/api/v1/mutation-files/{mutationFile}" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • mutationFile pad string verplicht

Antwoorden

200 A mutation file.

4xx · 5xx Fouten: Error

Mutatiebestand downloaden

post /mutation-files/{mutationFile}/download-url

Een link naar een voltooid mutatiebestand, 10 minuten geldig.

A 10-minute signed URL for a completed mutation file

API-sleutel

curl -X POST "https://api.kentekenfeed.nl/api/v1/mutation-files/{mutationFile}/download-url" \
  -H "Authorization: Bearer $KENTEKENFEED_API_KEY"

Parameters

  • mutationFile pad string verplicht

Antwoorden

200 A signed download URL.

  • data object verplicht
    Velden (2)
    • url string (uri) verplicht
    • expires_at Timestamp verplicht
      Voorbeeld
      2026-11-03T08:07:10Z

4xx · 5xx Fouten: Error

Schema’s

De objecten die de endpoints hierboven teruggeven, gelinkt vanuit hun antwoorden.

AnalyticsGroupFields

  • key string | boolean verplicht

    The value grouped on: a string, true/false for indicators, 2024 or 2024-03 for dates.

  • description string | null

    Defect code groups only: from the code's latest catalogue version.

  • article_number string | null

    Defect code groups only.

AnalyticsInnerGroup

  • key string | boolean verplicht

    The value grouped on: a string, true/false for indicators, 2024 or 2024-03 for dates.

  • description string | null

    Defect code groups only: from the code's latest catalogue version.

  • article_number string | null

    Defect code groups only.

  • count integer verplicht

    Vehicles (subject vehicles) or defect findings (subject defects).

  • vehicles integer

    Subject defects only: the distinct vehicles the counted defects were found on.

  • metrics map of number | null verplicht

    Keyed by the requested operation:field; null when no vehicle in the group has a value.

  • groups any verplicht

    The groups of the next level, largest first (dates oldest first); null without (another) group level. At the innermost level always null.

  • other_count integer | null verplicht

    Counted items in groups beyond the limit. Null for date groups and for child dataset groups of vehicles (whose leftovers are rows, not vehicles).

AnalyticsLevel

  • count integer verplicht

    Vehicles (subject vehicles) or defect findings (subject defects).

  • vehicles integer

    Subject defects only: the distinct vehicles the counted defects were found on.

  • metrics map of number | null verplicht

    Keyed by the requested operation:field; null when no vehicle in the group has a value.

  • groups any verplicht

    The groups of the next level, largest first (dates oldest first); null without (another) group level. At the innermost level always null.

  • other_count integer | null verplicht

    Counted items in groups beyond the limit. Null for date groups and for child dataset groups of vehicles (whose leftovers are rows, not vehicles).

AnalyticsOuterGroup

  • key string | boolean verplicht

    The value grouped on: a string, true/false for indicators, 2024 or 2024-03 for dates.

  • description string | null

    Defect code groups only: from the code's latest catalogue version.

  • article_number string | null

    Defect code groups only.

  • count integer verplicht

    Vehicles (subject vehicles) or defect findings (subject defects).

  • vehicles integer

    Subject defects only: the distinct vehicles the counted defects were found on.

  • metrics map of number | null verplicht

    Keyed by the requested operation:field; null when no vehicle in the group has a value.

  • groups null | array of AnalyticsInnerGroup verplicht
  • other_count integer | null verplicht

    Counted items in groups beyond the limit. Null for date groups and for child dataset groups of vehicles (whose leftovers are rows, not vehicles).

Error

  • error object verplicht
    Velden (4)
    • code string verplicht
      Voorbeeld
      validation_failed
    • message string verplicht
    • request_id string verplicht
    • details object

      Codes with details: validation_failed (fields), usage_cap_reached, query_cap_reached, mutation_file_limit_reached, cursor_expired, not_entitled, …

FeedBatch

  • id string verplicht
  • dataset string verplicht
  • source_dataset string verplicht
  • source_version string verplicht
  • date string (date) verplicht
  • source_published_at NullableTimestamp verplicht
  • observed_at Timestamp verplicht
    Voorbeeld
    2026-11-03T08:07:10Z
  • imported_at Timestamp verplicht
    Voorbeeld
    2026-11-03T08:07:10Z
  • counts object verplicht
    Velden (3)
    • appeared integer verplicht
    • changed integer verplicht
    • disappeared integer verplicht
  • record_count integer | null verplicht
  • first_position integer | null verplicht
  • last_position integer | null verplicht
  • start_cursor string | null verplicht

    Reads the feed from this batch on (no filters); null without records.

  • pruned boolean verplicht

Freshness

  • source_published_at NullableTimestamp verplicht
  • last_checked_at NullableTimestamp verplicht
  • stale boolean verplicht

    Not checked against RDW recently, or its current version not in Elasticsearch yet. Stale data is still served.

Mutation

  • id string verplicht

    Deduplicate on this: delivery is at least once.

  • position integer verplicht
  • batch_id string verplicht
  • dataset string verplicht
  • registration string | null verplicht
  • type MutationType verplicht
    Waarden
    appeared changed disappeared
  • key object verplicht

    The record's key fields (dataset key order).

  • changes array of object verplicht
    Velden (5)
    • field string verplicht

      Public field name in the dataset (see GET /datasets).

    • source_field string verplicht

      RDW's column.

    • path string | null verplicht

      Where the field is in the vehicle.v1 lookup response ([] marks a list), or null for a field the lookup does not carry.

    • old string | number | boolean | null verplicht
    • new string | number | boolean | null verplicht
  • source_published_at NullableTimestamp verplicht
  • observed_at Timestamp verplicht
    Voorbeeld
    2026-11-03T08:07:10Z
  • effective_at string (date-time) | null verplicht

    Always null: RDW publishes no per-record event time.

MutationFile

  • id string verplicht
  • kind string verplicht
    Waarden
    daily range
  • format string verplicht
    Waarden
    jsonl csv
  • dataset string | null verplicht
  • date string (date) | null verplicht
  • after_position integer | null verplicht
  • until_position integer | null verplicht
  • status string verplicht
    Waarden
    pending processing completed failed expired
  • schema_version string verplicht
  • file_name string verplicht
  • record_count integer | null verplicht
  • first_position integer | null verplicht
  • last_position integer | null verplicht
  • batch_ids array of string | null verplicht

    A day's batches from the request on; a range's once generated.

  • bytes integer | null verplicht
  • sha256 string | null verplicht
  • error string | null verplicht
  • created_at Timestamp verplicht
    Voorbeeld
    2026-11-03T08:07:10Z
  • completed_at NullableTimestamp verplicht
  • expires_at NullableTimestamp verplicht

MutationType

string

Waarden
appeared changed disappeared

NullableTimestamp

string (date-time) | null

PageMeta

  • next_cursor string | null verplicht

    Pass as cursor for the next page; null on the last page.

Snapshot

  • id string verplicht
  • schema_version string verplicht
  • aligned_position integer verplicht
  • cursor string verplicht

    Read /mutations with after=<cursor> once the files are loaded.

  • started_at Timestamp verplicht
    Voorbeeld
    2026-11-03T08:07:10Z
  • finished_at Timestamp verplicht
    Voorbeeld
    2026-11-03T08:07:10Z
  • files array of object verplicht
    Velden (6)
    • name string verplicht
      Voorbeeld
      axles.csv.gz
    • dataset string verplicht
    • format string verplicht
      Waarden
      jsonl csv
    • rows integer verplicht
    • bytes integer verplicht
    • sha256 string verplicht

Timestamp

string (date-time)

Voorbeeld
2026-11-03T08:07:10Z

Vehicle

The vehicle.v1 record: the register and its child datasets arranged in sections. In the compact view (default) a field is either absent or has a value: null fields and empty collections are left out, false and 0 are kept. In the full view every field is present (null when RDW has no value) and every collection is present (empty when there are no records). include limits the response to the named sections; registration and metadata are always present. Field names, units and nesting are the same in both views. Units are RDW's own (cm, kg, kW, km/h, g/km, l/100 km, Wh/km, km, dB(A), rpm, l, EUR) and are named in the field.

VehicleEnvironment

Fuels and energy sources with power, emissions, consumption, range and noise per record. NEDC and WLTP figures are separate fields; weighted figures (plug-in hybrids) are separate from combined ones.

  • fuel_efficiency_class string | null

    Fuel efficiency label, A to G.

  • gas_installation_type string | null

    Type of gas (LPG/CNG) installation.

  • fuels array of object
    Velden (9)
    • sequence integer | null

      Order of this fuel for the vehicle.

    • type string | null

      Fuel in RDW wording, e.g. "Benzine", "Diesel" or "Elektriciteit".

    • hybrid_class string | null

      Hybrid class: OVC-HEV (externally chargeable), NOVC-HEV, OVC-FCHV or NOVC-FCHV (fuel cell).

    • declared_max_speed_kmh number | null

      Maximum speed declared by the manufacturer (km/h).

    • power object
      Velden (2)
      • net_max_kw number | null

        Net maximum power of the combustion engine (kW).

      • electric object
        Velden (3)
        • nominal_continuous_max_kw number | null

          Nominal continuous maximum power of the electric motor (kW).

        • max_15_minutes_kw number | null

          Maximum electric power over 15 minutes (kW).

        • net_max_kw number | null

          Net maximum electric power (kW).

    • emissions object
      Velden (7)
      • euro_class_code string | null

        Emission standard (Euro class) code (emissiecode_omschrijving), e.g. "6".

      • exhaust_emission_level string | null

        Exhaust emission level (uitlaatemissieniveau), e.g. "EURO 6 AP" or "EURO VI E".

      • directive_light string | null

        EU emission directive the light vehicle was approved under.

      • directive_heavy string | null

        EU emission directive the heavy-duty engine was approved under.

      • co2_class string | null

        CO2 emission class (heavy-duty vehicles).

      • co2 object
        Velden (4)
        • combined_g_per_km number | null

          Combined CO2 emission (NEDC, g/km).

        • weighted_g_per_km number | null

          Weighted CO2 emission of an externally chargeable hybrid (NEDC, g/km).

        • combined_wltp_g_per_km number | null

          Combined CO2 emission (WLTP, g/km).

        • weighted_combined_wltp_g_per_km number | null

          Weighted combined CO2 emission (WLTP, g/km).

      • particulates object
        Velden (3)
        • light_g_per_km number | null

          Particulate emission in g/km (light vehicles) (g/km).

        • heavy_g_per_kwh number | null

          Particulate emission in g/kWh (heavy-duty engines) (g/kWh).

        • type1_wltp number | null

          Particulate mass emission in the WLTP type 1 test (emis_deeltjes_type1_wltp); RDW does not state the unit, so none is named.

    • consumption object
      Velden (2)
      • fuel object
        Velden (4)
        • combined_l_per_100km number | null

          Combined fuel consumption (NEDC, l/100 km).

        • weighted_combined_l_per_100km number | null

          Weighted combined fuel consumption (l/100 km).

        • combined_wltp_l_per_100km number | null

          Combined fuel consumption (WLTP, l/100 km).

        • weighted_combined_wltp_l_per_100km number | null

          Weighted combined fuel consumption (WLTP, l/100 km).

      • electric object
        Velden (4)
        • electric_only_wh_per_km number | null

          Electricity consumption when driving fully electric (Wh/km).

        • weighted_combined_wh_per_km number | null

          Weighted combined electricity consumption (Wh/km).

        • electric_only_wltp_wh_per_km number | null

          Electric consumption of a pure electric vehicle (WLTP, Wh/km).

        • external_charging_wltp_wh_per_km number | null

          Electric consumption of an externally chargeable hybrid (WLTP, Wh/km).

    • range object
      Velden (4)
      • electric_km number | null

        Electric range (km).

      • external_charging_km number | null

        Electric range of an externally chargeable vehicle (km).

      • electric_only_wltp_km number | null

        Range of a pure electric vehicle (WLTP, km).

      • external_charging_wltp_km number | null

        Electric range of an externally chargeable hybrid (WLTP, km).

    • noise object
      Velden (3)
      • driving_db number | null

        Noise level while driving (dB(A)).

      • stationary_db number | null

        Noise level when stationary with the engine running (dB(A)).

      • measurement_rpm number | null

        Engine speed during the stationary noise measurement (rpm).

VehicleHistory

Dated records: objects added to the vehicle and recalls with their status.

  • added_objects array of object
    Velden (8)
    • type string | null

      Kind of object, e.g. "LPG Installatie" or "Tachograaf".

    • make string | null

      Make of the object.

    • make_code string | null

      Make code of the object.

    • version_sequence integer | null

      Version sequence number of the object.

    • classification string | null

      Classification of the object.

    • mounted_date string (date) | null

      Date the object was mounted.

    • removed_date string (date) | null

      Date the object was removed.

    • gas_tank_capacity_l number | null

      Capacity of the gas tank (l).

  • recalls array of object
    Velden (3)
    • code string | null

      RDW reference code of the recall campaign (referentiecode_rdw).

    • status object
      Velden (2)
      • code string | null

        Status code: O for open, P when the manufacturer reports the vehicle as repaired, or another RDW code.

      • description string | null

        Status as reported by the manufacturer, in RDW wording.

    • campaign object | null

      The recall campaign from the RDW recall register, or null when it is not in the register. Its code is the recall's code.

      Velden (17)
      • published_date string (date) | null

        Date RDW published the recall in its register.

      • reporting_party string | null

        Manufacturer or distributor that reported the recall.

      • manufacturer_reference string | null

        The manufacturer's own code for the recall.

      • defect_description string | null

        Description of the defect the recall is for.

      • defect_category string | null

        Part of the vehicle the defect concerns.

      • consequences string | null

        Consequences of the defect the user may notice.

      • remedy string | null

        What is done to repair the defect.

      • risk_assessment string | null

        RDW risk assessment of the defect.

      • remarks string | null

        Additional remarks from RDW.

      • info_url string | null

        Website with more information from the manufacturer or distributor.

      • info_phone string | null

        Phone number for more information.

      • announced_date string (date) | null

        Date the manufacturer announced the recall.

      • reported_date string (date) | null

        Date the recall was reported to RDW.

      • owners_to_be_informed_date string (date) | null

        Date by which owners are to be informed.

      • owners_informed_date string (date) | null

        Date owners were informed.

      • vehicles_total integer | null

        Number of vehicles in the recall worldwide.

      • vehicles_national integer | null

        Number of vehicles in the recall in the Netherlands.

VehicleIdentity

Identity, classification, appearance, body and type approval.

  • type string | null

    Kind of vehicle (voertuigsoort) in RDW wording, e.g. "Personenauto", "Bedrijfsauto", "Motorfiets" or "Aanhangwagen".

  • make string | null

    Make.

  • model string | null

    Trade name (handelsbenaming) as registered by RDW, used as the model name.

  • colors object
    Velden (2)
    • primary string | null

      Main colour in RDW wording.

    • secondary string | null

      Second colour in RDW wording.

  • body object
    Velden (6)
    • style string | null

      Body arrangement in RDW wording, e.g. "hatchback" or "stationwagen".

    • extended_cab boolean | null

      Whether the cab is extended.

    • aerodynamic_devices_code string | null

      Code for aerodynamic devices fitted, as recorded by RDW.

    • types array of object
      Velden (5)
      • sequence integer | null

        Sequence number of the body; specifications and classes are those of this body.

      • code string | null

        European body type code, e.g. AB.

      • description string | null

        European description of the body type.

      • specifications array of object
        Velden (3)
        • sequence integer | null

          Sequence number of the specification.

        • code string | null

          European body code of an approved complete or completed vehicle.

        • description string | null

          European description of the specification.

      • classes array of object
        Velden (3)
        • sequence integer | null

          Sequence number of the class.

        • code string | null

          Vehicle class code set at approval.

        • description string | null

          Description of the vehicle class.

    • unmatched_specifications array of object

      Body specifications whose body_sequence matches no body in types.

      Velden (4)
      • body_sequence integer | null

        Sequence number of the body this belongs to.

      • sequence integer | null

        Sequence number of the specification.

      • code string | null

        European body code of an approved complete or completed vehicle.

      • description string | null

        European description of the specification.

    • unmatched_classes array of object

      Vehicle classes whose body_sequence matches no body in types.

      Velden (4)
      • body_sequence integer | null

        Sequence number of the body this belongs to.

      • sequence integer | null

        Sequence number of the class.

      • code string | null

        Vehicle class code set at approval.

      • description string | null

        Description of the vehicle class.

  • seats integer | null

    Number of seats, the driver included.

  • passenger_seats_legal integer | null

    Legal number of passenger seats.

  • standing_places integer | null

    Number of standing places.

  • wheelchair_places integer | null

    Number of wheelchair places.

  • doors integer | null

    Number of doors.

  • wheels integer | null

    Number of wheels.

  • category object
    Velden (5)
    • european string | null

      European vehicle category, e.g. M1 or N1.

    • european_addition string | null

      Addition to the European vehicle category.

    • european_version_addition string | null

      Addition to the European category of the version.

    • national_subcategory string | null

      Dutch subcategory of the vehicle.

    • european_subcategories array of object
      Velden (3)
      • sequence integer | null

        Sequence number of the subcategory.

      • code string | null

        European code for the special-purpose body type.

      • description string | null

        Description of the subcategory.

  • type_approval object
    Velden (6)
    • type string | null

      Type code from the type approval.

    • variant string | null

      Variant code from the type approval.

    • version string | null

      Version (uitvoering) code from the type approval.

    • number string | null

      EU or national type approval number.

    • amendment_sequence integer | null

      Sequence number of the amendment to the EU type approval.

    • designation_number string | null

      Designation number (aanwijzingsnummer), where one applies.

  • chassis_number_location string | null

    Where the chassis number (VIN) is stamped.

  • fiscal object
    Velden (2)
    • catalog_price_eur integer | null

      Catalogue price including VAT and BPM (EUR).

    • gross_bpm_eur integer | null

      Gross BPM (registration tax) at first registration (EUR).

  • particulars array of object
    Velden (5)
    • sequence integer | null

      Sequence number of the particular.

    • code integer | null

      Code of the particular.

    • description string | null

      Description of the code, e.g. "Wielbasis:".

    • value string | null

      Variable text completing the description, e.g. "1155-1825".

    • unit string | null

      Unit of the value, e.g. "cm".

VehicleInspections

Current expiry dates, the odometer judgement and the inspection reports with their defects.

  • apk object
    Velden (1)
    • expiry_date string (date) | null

      Date the periodic inspection (APK) expires.

  • tachograph object
    Velden (1)
    • expiry_date string (date) | null

      Date the tachograph inspection expires.

  • odometer object
    Velden (3)
    • last_registration_year integer | null

      Year the odometer reading was last registered.

    • judgement string | null

      RDW judgement of the odometer history in RDW wording, e.g. "Logisch" or "Onlogisch".

    • explanation_code string | null

      Code explaining the odometer judgement.

  • inspection_register array of object

    Records of RDW's separate inspection register (dataset Keuringen): the current inspection expiry as that register has it, normally one record with the same date as apk.expiry_date.

    Velden (1)
    • expiry_date string (date) | null

      Date the current inspection expires.

  • reports array of object
    Velden (6)
    • report_date string (date) | null

      Date the inspection station filed the report.

    • report_time string | null

      Time the report was filed, as HH:MM. Date, time and approval type code together identify a report.

    • approval_type object
      Velden (2)
      • code string | null

        Code of the kind of approval the inspection station holds.

      • description string | null

        Kind of approval, e.g. "APK Lichte voertuigen" or "APK Zware voertuigen".

    • report_type string | null

      Kind of report, e.g. a periodic inspection.

    • expiry_date string (date) | null

      Inspection expiry date resulting from this report.

    • defects array of object
      Velden (4)
      • code string | null

        Code of the defect in the RDW defect catalogue.

      • count integer | null

        How many times the defect was found.

      • description string | null

        Description of the defect.

      • article_number string | null

        Article number in the inspection rules.

  • unmatched_defects array of object

    Defects whose report (same date, time and approval type code) is not in the register, kept here with their own report fields instead of being attached to another report.

    Velden (7)
    • report_date string (date) | null

      Date of the inspection report the defect belongs to.

    • report_time string | null

      Time of the inspection report, as HH:MM.

    • approval_type object
      Velden (2)
      • code string | null

        Code of the kind of approval the inspection station holds.

      • description string | null

        Kind of approval of the inspection station.

    • code string | null

      Code of the defect in the RDW defect catalogue.

    • count integer | null

      How many times the defect was found.

    • description string | null

      Description of the defect.

    • article_number string | null

      Article number in the inspection rules.

VehicleMetadata

About this response: schema, source, which view and sections, and how fresh the data is.

  • schema_version "vehicle.v1" verplicht

    Public schema version of the record. A breaking change gets a new version; additive changes do not.

  • source "RDW" verplicht

    The data source: RDW open data (opendata.rdw.nl). GET /datasets names the datasets.

  • view string verplicht

    The view this response is in.

    Waarden
    compact full raw
  • sections array of string | null verplicht

    Sections in this response, in order (registration always); null in the raw view.

  • data_version string verplicht

    Hash of the synced dataset versions the record was built from; changes with every sync.

  • stale boolean verplicht

    True when any dataset in datasets is stale (see Freshness). Stale data is still served.

  • retrieved_at string (date-time) verplicht

    When this response was produced (UTC). Not a data timestamp: see datasets for RDW publication (source_published_at) and sync (last_checked_at) times.

  • datasets map of Freshness verplicht

    Freshness per dataset (public name): when RDW published the version served, when the sync last checked RDW, and whether it is stale.

VehicleRaw

The raw view (view=raw): the same typed values under RDW's own dataset and column names, for customers who know RDW's open data. One key per RDW dataset: the register as an object, each child dataset as a list of objects; every mapped column present, null when RDW has no value. Columns the API never exposes (RDW API links, columns RDW does not fill) are absent. Enrichments appear under the reference dataset's names: gebrek_omschrijving and gebrek_artikel_nummer in geconstateerde_gebreken, terugroep_actie (object or null) in terugroepacties.

  • voertuigen object verplicht
    Velden (1)
    • kenteken string verplicht
  • brandstof array of object verplicht
  • assen array of object verplicht
  • carrosserie array of object verplicht
  • carrosserie_specificatie array of object verplicht
  • voertuigklasse array of object verplicht
  • subcategorie array of object verplicht
  • bijzonderheden array of object verplicht
  • rupsbanden array of object verplicht
  • keuringen array of object verplicht
  • apk_meldingen array of object verplicht
  • geconstateerde_gebreken array of object verplicht
  • terugroepacties array of object verplicht
  • toegevoegde_objecten array of object verplicht
  • metadata VehicleMetadata verplicht

VehicleRegistration

Registration identifiers and dates. Always present.

  • plate string verplicht

    Registration (kenteken), uppercase without separators.

  • first_admission_date string (date) | null

    Date the vehicle was first admitted to the road, in any country.

  • first_nl_registration_date string (date) | null

    Date the vehicle was first registered to an owner in the Netherlands.

  • registration_date string (date) | null

    Date of the current registration to an owner (tenaamstelling).

  • bpm_depreciation_date string (date) | null

    Approval date used as the depreciation moment for BPM (registration tax).

VehicleResponse

VehicleStatus

Indicators. true/false are RDW's answer; null (absent in the compact view) means RDW gives none.

  • insured boolean | null

    Whether third-party liability (WAM) insurance is registered; null (absent in the compact view) when RDW gives no answer, e.g. not applicable.

  • exported boolean | null

    Whether the vehicle has been exported.

  • taxi boolean | null

    Whether the vehicle is registered as a taxi.

  • open_recall boolean | null

    Whether a recall is open for the vehicle.

  • registration_allowed boolean | null

    Whether the vehicle can currently be registered to an owner.

VehicleTechnical

Technical specifications. Lengths in cm, masses in kg, as RDW publishes them.

  • engine object
    Velden (3)
    • cylinders integer | null

      Number of cylinders.

    • displacement_cc integer | null

      Engine displacement (cc).

    • power_to_mass_ratio_kw_per_kg number | null

      Power per ready-to-drive mass (kW/kg).

  • dimensions object
    Velden (14)
    • length_cm integer | null

      Length (cm).

    • length_min_cm integer | null

      Minimum length, for vehicles with a variable length (cm).

    • length_max_cm integer | null

      Maximum length, for vehicles with a variable length (cm).

    • width_cm integer | null

      Width (cm).

    • width_min_cm integer | null

      Minimum width (cm).

    • width_max_cm integer | null

      Maximum width (cm).

    • height_cm integer | null

      Height (cm).

    • height_min_cm integer | null

      Minimum height (cm).

    • height_max_cm integer | null

      Maximum height (cm).

    • wheelbase_cm integer | null

      Wheelbase (cm).

    • wheelbase_min_cm integer | null

      Minimum wheelbase (cm).

    • wheelbase_max_cm integer | null

      Maximum wheelbase (cm).

    • front_to_coupling_cm integer | null

      Distance from the front of the vehicle to the centre of the coupling (cm).

    • coupling_to_rear_cm integer | null

      Distance from the centre of the coupling to the rear of the vehicle (cm).

  • weights object
    Velden (14)
    • empty_kg integer | null

      Mass of the empty vehicle (kg).

    • curb_kg integer | null

      Ready-to-drive mass (massa rijklaar) (kg).

    • payload_kg integer | null

      Payload (kg).

    • maximum_kg integer | null

      Permitted maximum mass (kg).

    • technical_maximum_kg integer | null

      Technically permitted maximum mass (kg).

    • technical_maximum_min_kg integer | null

      Lower bound of the technically permitted maximum mass (kg).

    • technical_maximum_max_kg integer | null

      Upper bound of the technically permitted maximum mass (kg).

    • operating_min_kg integer | null

      Minimum mass in running order (kg).

    • operating_max_kg integer | null

      Maximum mass in running order (kg).

    • combination_maximum_kg integer | null

      Maximum mass of the vehicle combination (kg).

    • alternative_drive_kg integer | null

      Additional mass of an alternative drivetrain (kg).

    • average_load_value number | null

      Average payload value used for heavy-duty CO2 classification (gem_lading_wrde); RDW does not state the unit, so none is named.

    • towing object
      Velden (5)
      • unbraked_kg integer | null

        Maximum mass of an unbraked trailer (kg).

      • braked_kg integer | null

        Maximum mass of a braked trailer (kg).

      • semi_trailer_braked_kg integer | null

        Maximum mass of a braked semi-trailer (kg).

      • trailer_autonomous_braked_kg integer | null

        Maximum mass of an autonomously braked trailer (kg).

      • center_axle_trailer_braked_kg integer | null

        Maximum mass of a braked centre-axle trailer (kg).

    • coupling object
      Velden (3)
      • point_technical_maximum_kg integer | null

        Technically permitted mass on the coupling point (kg).

      • front_axles_load_coupled_kg integer | null

        Maximum load under the front axle(s) together with the coupling (kg).

      • vertical_load_towed_kg integer | null

        Vertical load on the coupling point of a towed vehicle (kg).

  • speed object
    Velden (3)
    • max_design_kmh integer | null

      Maximum design speed (km/h).

    • deviating_max_kmh integer | null

      Deviating maximum speed, where one applies (km/h).

    • max_assisted_kmh integer | null

      Maximum speed up to which the motor assists (e.g. speed pedelecs) (km/h).

  • brake_system_type_code string | null

    Code of the vehicle's brake system type.

  • tracks object
    Velden (2)
    • configuration_code string | null

      Code of the track (caterpillar) undercarriage configuration.

    • sets array of object
      Velden (6)
      • set_number integer | null

        Sequence number of the track set.

      • driven boolean | null

        Whether the track set is driven.

      • braked boolean | null

        Whether the track set is braked.

      • technical_max_kg integer | null

        Technically permitted maximum mass on the track set (kg).

      • technical_max_min_kg integer | null

        Lower bound of the technically permitted maximum mass (kg).

      • technical_max_max_kg integer | null

        Upper bound of the technically permitted maximum mass (kg).

  • axles array of object
    Velden (12)
    • number integer | null

      Number of the physical axle, counted from the front.

    • axle_count integer | null

      Total number of axles of the vehicle as RDW records it on this axle (aantal_assen); not the number of axle records.

    • position_code string | null

      V for a front axle, A for a rear axle.

    • driven boolean | null

      Whether the axle is driven.

    • liftable_code string | null

      Whether the axle can be lifted (hefas): J or N per RDW, other codes occur in the data.

    • braked boolean | null

      Whether the axle is braked.

    • track_width_cm integer | null

      Track width of the axle (cm).

    • road_behaviour_code string | null

      Suspension of a driven axle: L air suspension, G equivalent to air suspension, A other.

    • loads object
      Velden (4)
      • legal_max_kg integer | null

        Legally permitted maximum axle load (kg).

      • technical_max_kg integer | null

        Technically permitted maximum axle load given by the manufacturer (kg).

      • technical_max_min_kg integer | null

        Lower bound of the technically permitted axle load (kg).

      • technical_max_max_kg integer | null

        Upper bound of the technically permitted axle load (kg).

    • distance_to_next_axle_cm integer | null

      Distance to the next axle (cm).

    • distance_to_next_axle_min_cm integer | null

      Minimum distance to the next axle (cm).

    • distance_to_next_axle_max_cm integer | null

      Maximum distance to the next axle (cm).