> GooFuture | Netherlands Vehicle Registry Data API

Netherlands Vehicle Registry Data API

Plug Dutch vehicle registry data into used-car import due diligence and auto-insurance risk control

Covers plate (kenteken) record detail, holdings search by make and model, condition and compliance verification (APK inspection expiry, open recalls, odometer judgement, compulsory WAM liability insurance, transferability, export status) and batch vehicle checks.

Turn a ten-million-row registry file into an auditable vehicle compliance data foundation

REST API JSON Readable field mappings Inspection and recall verification
Registered vehicle record
Plate number VK954F
Make and model Citroën Berlingo
Vehicle type Goods vehicle (enclosed box body)
First admission 2014-08-29
APK inspection expiry 2025-08-30
Engine 4 cylinders · 1560 cc
Kerb weight 1,379 kg

Why You Need This Data Service

The Dutch vehicle register covers all registered vehicles, published as ten-million-row flat files with Dutch source fields and fuel and body details spread across linked subtables. Using it directly for vehicle due diligence and risk control requires heavy parsing, joining and translation.

🚚

Ten-million-row registry files are hard to use

The full dataset exceeds 16 million rows with Dutch source descriptions, so every integration needs fresh parsing, translation and field mapping maintenance.

🛡️

Condition risks cannot be verified automatically

APK expiry, open recalls, odometer judgement, WAM insurance status and transferability sit across multiple fields, making manual checks costly.

🔌

Fuel and emission data is scattered

Fuel type, CO2 emissions, fuel consumption and energy label live in linked subtables, not the main table, so a complete picture needs multi-table joins.

📋

No batch verification capability

Screening used-car sources, fleets or insured vehicles in bulk cannot be done record by record — you need a standardized batch verification API.

From source-language registry data to a structured query API

GooFuture turns Dutch public vehicle registry data into a ready-to-call API through six processing steps.

1
Collect
Sync the Dutch vehicle registry public data source and linked subtables
2
Clean
Handle nulls, placeholders (such as not applicable or not registered) and invalid encodings
3
Relate
Join linked subtables for fuel, body, axles and vehicle class
4
Chinese
Build readable mappings for field names, body configuration, colour and status
5
Normalize
Convert status to booleans and enums, and unify date, mass and amount formats
6
Deliver
Serve queries and change pushes via REST API or Webhook

You do not need to handle source decoding, multi-table joins or field mapping — query standardized vehicle registry data directly through the API.

API Capabilities

Four core endpoints for different vehicle query scenarios. All return standardized JSON with vehicle status normalized into booleans and enums, supporting queries by plate, make and model, and compliance status.

API 01

Vehicle record detail lookup

Look up a full vehicle record by Dutch plate (kenteken) — make and model, vehicle type, body configuration and colour, engine and capacity, dimensions and mass, registration date, APK inspection, BPM purchase tax and list price — with fuel and emission data joined automatically.

GET /v1/nl/vehicle/{kenteken}
Request Example
curl "https://api.goofuture.com/v1/nl/vehicle/VK954F" \
  -H "Authorization: Bearer {api_key}"
Response Example
{
  "kenteken": "VK954F",
  "vehicle_type": "Goods vehicle(Box van)",
  "make": "Citroën",
  "model": "Berlingo",
  "body_config": "Enclosed box body",
  "colors": {
    "primary": "Not registered",
    "secondary": "Not registered"
  },
  "first_registration": "2014-08-29",
  "first_registration_nl": "2014-08-29",
  "seats": 3,
  "doors": 0,
  "wheels": 4,
  "engine": {
    "cylinders": 4,
    "displacement_cc": 1560
  },
  "dimensions": {
    "length_cm": 438,
    "width_cm": 181,
    "wheelbase_cm": 273
  },
  "weights": {
    "empty_kg": 1279,
    "ready_kg": 1379,
    "permitted_max_kg": 1945,
    "technical_max_kg": 1945,
    "payload_kg": 666
  },
  "eu_category": "N1(Goods vehicle)",
  "type_approval_no": "e2*2007/46*0002*18",
  "apk": {
    "expiry_date": "2025-08-30",
    "valid": true
  },
  "bpm_tax_eur": 5324,
  "catalog_price_eur": 21593,
  "wam_insured": false,
  "mileage_assessment": "Reasonable",
  "recall_outstanding": false,
  "exported": true,
  "transferable": false
}
Exact plate lookup Readable record fields Fuel and emission joins
API 03

Condition and compliance verification

Verify a vehicle current compliance status, returning APK expiry date and remaining days, open recalls, odometer judgement, compulsory WAM insurance, transferability, export status and taxi flag — directly usable for used-car transactions and underwriting decisions.

GET /v1/nl/vehicle/inspect?kenteken={kenteken}
Request Example
curl "https://api.goofuture.com/v1/nl/vehicle/inspect?kenteken=7KXH16" \
  -H "Authorization: Bearer {api_key}"
Response Example
{
  "kenteken": "7KXH16",
  "make": "Peugeot",
  "model": "2008",
  "apk": {
    "expiry_date": "2027-06-21",
    "days_remaining": 307,
    "valid": true
  },
  "wam_insured": true,
  "recall_outstanding": false,
  "mileage": {
    "assessment": "Reasonable",
    "last_recorded_year": 2026
  },
  "transferable": true,
  "exported": false,
  "taxi": false,
  "compliance_summary": "Compliant"
}
APK days remaining Open recalls Odometer anomaly judgement
API 04

Batch vehicle verification

Pass a list of plate numbers to return record summaries and compliance status in bulk — for used-car stocktaking, fleet insurance lists and import sourcing screening.

POST /v1/nl/vehicle/batch
Request Example
curl -X POST "https://api.goofuture.com/v1/nl/vehicle/batch" \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"kentekens": ["VK954F", "7KXH16", "J016ND"]}'
Response Example
{
  "total": 3,
  "found": 3,
  "results": [
    {
      "kenteken": "VK954F",
      "make": "Citroën",
      "model": "Berlingo",
      "vehicle_type": "Goods vehicle",
      "apk_valid": true,
      "recall_outstanding": false,
      "exported": true,
      "transferable": false
    },
    {
      "kenteken": "7KXH16",
      "make": "Peugeot",
      "model": "2008",
      "vehicle_type": "Passenger car",
      "apk_valid": true,
      "recall_outstanding": false,
      "exported": false,
      "transferable": true
    },
    {
      "kenteken": "J016ND",
      "make": "Audi",
      "model": "e-tron",
      "vehicle_type": "Passenger car",
      "apk_valid": true,
      "recall_outstanding": false,
      "exported": true,
      "transferable": false
    }
  ]
}
Bulk list stocktaking Status summary in response Import sourcing screening

Real-World Use Cases

How companies in different roles and stages use the Netherlands Vehicle Registry Data API.

🚗

Used-vehicle import due diligence

Before trading, importers and dealers check the vehicle record, first registration date, APK status and odometer judgement to identify exported or non-transferable vehicles.

Role: import procurement · Stage: pre-contract
🛡️

Auto insurance and financial risk control

Before underwriting or lending, verify list price, BPM purchase tax, WAM insurance status and export status to establish a value and risk baseline.

Role: underwriting manager · Stage: underwriting assessment
🚚

Logistics and fleet management

Query goods vehicle specs (payload, maximum permissible mass, axles and axle configuration), APK expiry and tachograph expiry to manage fleet compliance renewals.

Role: fleet supervisor · Stage: renewal scheduling
🔋

New energy and environmental verification

Filter vehicles by fuel type (electric, hybrid) and EU energy label (A–G) to analyse new energy holdings and emission distribution, supporting market research and subsidy checks.

Role: analyst · Stage: market research

Netherlands vehicle registry data coverage

Covers all registered vehicles in the Dutch vehicle register, including passenger cars, goods vehicles, motorcycles and trailers, with fields spanning vehicle records, technical specs, registration status, inspection, tax and environmental data.

16.8 million+
Registered vehicle records
90+
Core registry fields
5
Linked subtables (fuel / body / axles / class)
Continuous
Update frequency
Data dimensions
Vehicle record (make and model, body colour, vehicle type, registration date)
Technical specs (capacity, power, dimensions, mass, wheelbase, payload)
Compliance status (APK inspection, open recalls, odometer judgement, insurance)
Tax and value (BPM purchase tax, list price, energy label)
Transaction status (transferable, exported, taxi flag)
Environmental and energy (fuel type, CO2 emissions, combined consumption)
Dimensions are ordered by field coverage. Covers registered vehicle records in the Dutch vehicle register across six dimensions: record, technical, compliance, tax, transaction and environmental. As of: August 2026. Static snapshot shown to illustrate coverage only.

Data Quality & Differentiators

GooFuture cleans source-language vehicle registry data into directly queryable structured data, lowering integration and maintenance cost.

Readable field mappings

Map Dutch field names and enums into unified readable labels (body configuration, colour, vehicle type, registration status and more) while keeping the source text for audit review.

Bilingual

Standardized status enums

Normalize WAM insurance, open recalls, transferability and export status into booleans, and odometer judgement and energy label into enums, so risk rules can reference them directly.

Booleans and enums

Linked subtables joined

Fuel, body, axle and vehicle class subtables are joined automatically, so a single record lookup returns the complete vehicle picture with no repeat queries.

Single-response

Compliance metric calculation

Compute days remaining from the APK expiry date and summarize recall, insurance, odometer and transfer status into an overall compliance summary for automated decisions.

Computable metrics

Status change tracking

Track inspection expiry, registration changes and recall status changes with Webhook pushes so verified vehicle data does not go stale.

Change tracking

Three-Step Onboarding

From consultation to production queries in as little as a few hours.

1

Contact a consultant

Describe your vehicle query or risk control needs and confirm the data scope required (plate lookup, make search, compliance verification, batch size and more).

2

Confirm the plan

Both sides agree on endpoint scope, call volume, concurrency and update frequency. Webhook or CSV batch delivery is agreed at this stage.

3

Start Querying

Get an API key and docs, then query over standard REST. Technical support is provided during integration so results can be used directly in your systems.

4

Ongoing maintenance

Registry data syncs continuously, with inspection and status changes pushed via Webhook. Your consultant keeps tracking data quality and API stability.

Quick Start Example
# Query the vehicle record
curl "https://api.goofuture.com/v1/nl/vehicle/VK954F" \
  -H "Authorization: Bearer {api_key}"

# Condition and compliance verification
curl "https://api.goofuture.com/v1/nl/vehicle/inspect?kenteken=7KXH16" \
  -H "Authorization: Bearer {api_key}"

# Batch-verify a vehicle list
curl -X POST "https://api.goofuture.com/v1/nl/vehicle/batch" \
  -H "Authorization: Bearer {api_key}" \
  -H "Content-Type: application/json" \
  -d '{"kentekens": ["VK954F", "7KXH16", "J016ND"]}'

Choose the Right Plan

From single-record verification to bulk stocktaking, from low-frequency calls to high-concurrency integration — four plans.

Basic

Contact a consultant
  • Monthly requests: 5,000
  • API scope: exact plate lookup
  • Rate limit: 1 QPS
  • Monitoring: —
  • Delivery: REST API
  • Support: email support
Talk to Us

Professional

Contact a consultant
  • Monthly requests: 100,000
  • API scope: all core endpoints + batch verification
  • Rate limit: 5 QPS
  • Monitoring: inspection and status change push
  • Delivery: REST API + Webhook + CSV
  • Support: dedicated technical consultant
Talk to Us

Enterprise

Contact a consultant
  • Monthly requests: custom
  • API scope: all + custom endpoints
  • Rate limit: high concurrency
  • Monitoring: custom
  • Delivery: REST API + Webhook + CSV
  • Support: enterprise-grade SLA
Talk to Us

FAQ

Common questions about data scope, update frequency, API capabilities and pricing.

Which Dutch vehicles are covered?

Covers all registered vehicles in the Dutch vehicle register, including passenger cars, goods vehicles, motorcycles and trailers. Each record includes make and model, body colour, power and fuel, technical specs (capacity, power, dimensions, mass), registration date, APK expiry date, BPM purchase tax and list price — 90+ fields in total.

Why not query the official Dutch open data directly?

The full dataset is published as an extremely large flat file with over 16 million rows, Dutch source fields, and key details such as fuel type, body, axles and vehicle class spread across linked subtables — with no business-oriented query interface. GooFuture cleans, joins, maps and structures it so it plugs straight into query workflows.

Which query filters are supported?

Exact Dutch plate (kenteken) lookup, make and model search, condition and compliance verification, and batch checks. Compliance verification returns APK expiry date, open recalls, odometer judgement, compulsory WAM insurance status, transferability and export status, with status normalized into booleans and enums.

How often is it updated?

Registry data syncs continuously, with APK expiry, registration changes and recall status refreshed and pushed to Webhook subscribers. Exact frequency is agreed when confirming the plan.

Can it integrate with our existing ERP or SaaS platform?

Yes. The REST API returns standardized JSON with fixed fields and unified enums. It supports Webhook update pushes and batch delivery in CSV or Excel on request.

Does the data include fuel and emission information?

Yes. Fuel type (petrol, diesel, electric, hybrid, LPG, CNG and more), CO2 emissions, combined fuel consumption and EU energy label (A–G) are joined from linked subtables and returned together in the record detail endpoint.

How is pricing calculated?

Pricing is based on monthly request volume. Basic suits low-frequency single-record checks, Standard adds make search and compliance verification, and Professional and Enterprise support higher concurrency, batch checks, Webhooks and custom integration. Contact a consultant for a specific plan.

Does the data cover countries outside the Netherlands?

Data currently covers only vehicles registered in the Netherlands. Vehicle data for other countries and regions is out of scope.

Plug Dutch vehicle registry data into due diligence and risk control

From vehicle records to inspections and recalls, from technical specs to fuel and emissions — a complete Dutch vehicle compliance data foundation.