Dutch Driving Licence (Rijbewijs) OCR API

Read the Dutch rijbewijs from a photo and get the licence number, name, dates and classes as structured JSON. Upload an image below to test it free.

200 free credits = 100 Driver License scans, no credit card. Then from $5 for 500 credits, pay as you go. See pricing

Diagram of the API reading a Dutch rijbewijs and returning the fields as JSON.

What Makes the Dutch rijbewijs Hard to Parse

The Dutch rijbewijs is issued by the holder's municipality, with cards produced under the RDW. The Dutch rijbewijs follows the EU numbered-field layout: 1 surname, 2 first names, 3 date and place of birth, 4a and 4b issue and expiry dates, 4c the issuing municipality, 5 the licence number and 9 the categories. Field 4d carries the holder's citizen service number (BSN), a sensitive identifier many teams should not store unless they have a legal basis for it. Like the German card, the rijbewijs has no address field.

One API Call, Named Fields

The StructOCR Driver License OCR API returns the licence number (field 5), surname and first names (fields 1 and 2), date and place of birth (field 3), issue and expiry dates (4a, 4b), issuing municipality (4c) and categories (field 9). Dutch cards print dates as DD.MM.YYYY; the API returns them as YYYY-MM-DD. Send a JPG, PNG, WebP or PDF as Base64 JSON or as a multipart upload; there is no SDK to embed in your app, although official Python and Node.js SDKs are available. Step-by-step code is in the Python guide. Usage is billed per successful scan with pay-as-you-go pricing.

Live Demo: Driver License OCR Scanner

No registration required. Upload a file to test the extraction.

1
Upload
2
Results
↑

Drop files here or click to browse

JPG · PNG · PDF · TIFF  ·  up to 500 files · max 4.5 MB each

No document handy?

No files selected
Need more testing? Create a free account to get 200 free credits (equals 100 Driver License scans).

Where Teams Use It in the Netherlands

Car Sharing and Scooter Rental

Check the categories and expiry date before unlocking a vehicle for a new user.

Logistics and Delivery Hiring

Collect licence details for drivers and couriers during onboarding.

Insurance Intake

Prefill the driver's details on quotes and claims from a photo of the licence.

Technical Specs

  • Endpoint: POST https://api.structocr.com/v1/driver-license
  • Input: JPG, PNG, WebP or PDF up to 4.5 MB, as Base64 JSON or multipart upload
  • Price: 2 credits per successful scan; new accounts get 200 free credits (100 scans)
  • Retention: Images and results are kept for at most 24 hours for quality spot-checks, then deleted

Key Features

  • Named fields: The licence number (field 5), surname and first names (fields 1 and 2), date and place of birth (field 3), issue and expiry dates (4a, 4b), issuing municipality (4c) and categories (field 9).
  • Normalized dates: Dutch cards print dates as DD.MM.YYYY; the API returns them as YYYY-MM-DD.
  • Good to know: The BSN in field 4d can appear in the response as personal_number. Drop or mask it before storage if your process does not need it.

Integration & AI Prompts

Install the official SDK and pass a photo of the licence. Full request and response details are in the driver license API reference.

# pip install structocr
import os
from structocr import StructOCR

client = StructOCR(api_key=os.environ["STRUCTOCR_API_KEY"])
result = client.scan_driver_license("licence.jpg")

if result.get("success"):
    data = result["data"]
    print(data["document_number"], data["surname"], data["date_of_expiry"])

Standardized JSON Output

An illustrative response for a Dutch rijbewijs, with fictional values.

{
  "success": true,
  "data": {
    "type": "drivers_license",
    "country_code": "NLD",
    "region": null,
    "document_number": "5551234567",
    "personal_number": null,
    "surname": "DE VRIES",
    "given_names": "SANNE",
    "sex": null,
    "date_of_birth": "1991-02-27",
    "place_of_birth": "UTRECHT",
    "date_of_issue": "2021-06-14",
    "date_of_expiry": "2031-06-14",
    "date_of_first_issue": null,
    "issuing_authority": "BURGEMEESTER VAN UTRECHT",
    "address": null,
    "vehicle_class": "AM, B"
  }
}

Frequently Asked Questions

Can I test the Dutch rijbewijs scan for free?

Yes. Upload a photo in the live demo on this page without an account, or create an account to get 200 free credits, enough for 100 licence scans through the API.

Does the response include the BSN?

If field 4d is legible it can be returned as personal_number. Treat it as sensitive: mask or discard it unless you are allowed to process it.

Is the address included?

No. The rijbewijs has no address field, so address is returned as null.

Do I need an SDK?

No. It is a plain REST API that accepts Base64 JSON or a multipart upload. Official Python and Node.js SDKs are available if you prefer them.

Explore More Driver License OCR Solutions

SOLUTION

Notary and Loan Signing ID Capture with PDF417

Scan US driver licenses and state ID cards for notaries and signing agents. Pre-fill AAMVA fields from the PDF417 barcode and route unreadable cards to a retake.

Driver License OCR
SOLUTION

Pawn Shop and Secondhand Dealer Seller ID Capture

Scan US driver licenses and state ID cards for pawn shops and secondhand dealers. Pre-fill AAMVA fields from the PDF417 barcode and route unreadable cards to a retake.

Driver License OCR
SOLUTION

Pharmacy Prescription Pickup ID Scanning with PDF417

Scan US driver licenses and state ID cards for pharmacy pickup. Pre-fill AAMVA fields from the PDF417 barcode and route unreadable cards to a retake.

Driver License OCR
SOLUTION

Plasma Donation Center Donor ID Check-In with PDF417

Scan US driver licenses and state ID cards for plasma donation centers. Pre-fill AAMVA fields from the PDF417 barcode and route unreadable cards to a retake.

Driver License OCR
SOLUTION

Ride-Share Driver License Barcode Onboarding API

Use PDF417 and AAMVA parsing for ride-share onboarding. Pre-fill document_number, date_of_expiry, region, handle unreadable barcodes, and keep API credentials server-side.

Driver License OCR
SOLUTION

School Visitor Management with License and ID Barcodes

Scan US driver licenses and state ID cards for school front offices. Pre-fill AAMVA fields from the PDF417 barcode and route unreadable cards to a retake.

Driver License OCR
SOLUTION

Self-Storage Rental Intake with a Driver License Barcode

Use PDF417 and AAMVA parsing for self-storage leasing. Pre-fill given_names, surname, address, handle unreadable barcodes, and keep API credentials server-side.

Driver License OCR
SOLUTION

Senior Living Visitor Check-In with ID Barcode Scanning

Scan US driver licenses and state ID cards for senior living communities. Pre-fill AAMVA fields from the PDF417 barcode and route unreadable cards to a retake.

Driver License OCR
SOLUTION

Indonesian SIM OCR API

Extract NIK, identity, and category data from Indonesian driver's licenses (Surat Izin Mengemudi). Test our low-latency, edge-routed API with a free image upload.

Driver License OCR
SOLUTION

South African Driving Licence OCR API

Extract the licence number, the holder's name, ID number, date of birth, card validity dates and licence codes from the South African driving licence as JSON with one API call. Try it free in the browser; new accounts get 100 free licence scans.

Driver License OCR

Technical Comparisons & Integrations

Explore platform integrations and competitive analysis

From tutorial to production in 5 minutes.

You've seen the code. Now get your API key, grab your 200 free credits, and see it work with your own images. No credit card required.

Instant Access Cancel Anytime No Credit Card