German Driving Licence (Führerschein) OCR API
Read the German Führerschein 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

What Makes the German Führerschein Hard to Parse
The German Führerschein is issued by the local driving licence authority (Fahrerlaubnisbehörde) of the holder's district or city. The German Führerschein uses the EU credit-card format, so the data sits behind numbered fields rather than labels: 1 is the surname, 2 the first names, 3 the date and place of birth, 4a and 4b the issue and expiry dates, 4c the issuing authority, 5 the licence number and 9 the licence classes. Unlike the UK licence, the German card has no address field. Older paper licences are still in circulation until the exchange deadline (all must be replaced by 19 January 2033), and newer cards are valid for 15 years.
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 authority (4c) and classes (field 9, for example AM, A1, A2, A, B, BE, C1, C or L). German 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.
Drop files here or click to browse
JPG · PNG · PDF · TIFF · up to 500 files · max 4.5 MB each
No document handy?
Where Teams Use It in Germany
Car Sharing and Rental
Run the Führerscheinkontrolle step in your app: read the licence number, classes and expiry date from a photo before the first trip.
Fleet Driver Checks
Keep each driver's licence classes and expiry date on file for periodic licence checks.
Insurance and Leasing
Prefill the policyholder's or lessee's details from the licence instead of typing them in.
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 authority (4c) and classes (field 9, for example AM, A1, A2, A, B, BE, C1, C or L).
- Normalized dates: German cards print dates as DD.MM.YYYY; the API returns them as YYYY-MM-DD.
- Good to know: Because the German card has no field 8, the address is returned as null. Collect the address from another document if your process needs 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 German Führerschein, with fictional values.
{
"success": true,
"data": {
"type": "drivers_license",
"country_code": "DEU",
"region": null,
"document_number": "B072RRE2I55",
"personal_number": null,
"surname": "MUSTERMANN",
"given_names": "ERIKA",
"sex": null,
"date_of_birth": "1984-08-12",
"place_of_birth": "BERLIN",
"date_of_issue": "2022-05-20",
"date_of_expiry": "2037-05-19",
"date_of_first_issue": null,
"issuing_authority": "STADT KÖLN",
"address": null,
"vehicle_class": "AM, B, L"
}
}Frequently Asked Questions
Can I test the German Führerschein 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.
Why is the address empty for German licences?
The German card does not print the holder's address (there is no field 8), so the API returns address as null rather than guessing.
Does it read the old paper licences?
The API is built for the EU card format. Old grey or pink paper licences have different layouts; test them in the demo before relying on them.
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
Gym Membership Sign-Up with ID Barcode Prefill
Scan US driver licenses and state ID cards for gym and fitness clubs. Pre-fill AAMVA fields from the PDF417 barcode and route unreadable cards to a retake.
Patient Registration Data Capture from Driver License PDF417
Use PDF417 and AAMVA parsing for healthcare registration. Pre-fill given_names, surname, address, handle unreadable barcodes, and keep API credentials server-side.
Hotel Guest Registration with a Driver License Barcode API
Use PDF417 and AAMVA parsing for hospitality check-in. Pre-fill given_names, surname, address, handle unreadable barcodes, and keep API credentials server-side.
Insurance Customer Intake with Driver License PDF417
Use PDF417 and AAMVA parsing for insurance intake. Pre-fill document_number, address, date_of_birth, handle unreadable barcodes, and keep API credentials server-side.
International Visitor Car Rental License OCR
How car rental companies serving tourists can capture driver licence data with OCR for compliance workflows, with confirmation steps and clear limits on what OCR does.
Italian Driving Licence (Patente di Guida) OCR API
Extract the licence number, cognome and nome, date and place of birth, issue and expiry dates, issuing office and categories from the Italian patente di guida as JSON with one API call. Try it free in the browser; new accounts get 100 free licence scans.
Malaysian Lesen Memandu OCR API
Extract the IC number, identity fields, and vehicle classes from Malaysian driving licenses (Lesen Memandu). Test our edge-routed API with a free image upload.
Liquor Store Age Verification with ID Barcode Scanning
Scan US driver licenses and state ID cards for liquor retailers. Pre-fill AAMVA fields from the PDF417 barcode and route unreadable cards to a retake.
Philippine LTO Driver License OCR API
Accurately extract data from Philippine LTO driver's licenses. Parse restriction codes, conditions, and identity fields via our edge-routed API. Test for free.
Dutch Driving Licence (Rijbewijs) OCR API
Extract the licence number, surname and first names, date and place of birth, issue and expiry dates, issuing municipality and categories from the Dutch rijbewijs as JSON with one API call. Try it free in the browser; new accounts get 100 free licence scans.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Add Driver's License OCR to Your Bolt.new App in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API into a Bolt.new app. Build car rental and mobility onboarding flows right in your browser.
Add Driver's License OCR using Cursor in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API using the Cursor AI code editor. Build car rental and mobility onboarding flows rapidly.
Add Driver's License OCR to Your Lovable.dev App in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API into a Lovable.dev app. Build car rental and mobility onboarding flows with zero backend.
Add Driver's License OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API into a Replit application. Build car rental and mobility onboarding flows using Replit Agent and Secrets.
Add Driver's License OCR to Your v0 App in 5 Minutes
Step-by-step guide to integrating the StructOCR Driver's License scanner API into a v0 by Vercel app. Build car rental and mobility onboarding flows with zero backend.
Add VIN OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR VIN scanner API into a Replit application. Build automotive and fleet tools using Replit Agent and Secrets.
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.