Singapore Driving Licence OCR API

Read the Singapore driving licence 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 Singapore driving licence and returning the fields as JSON.

What Makes the Singapore driving licence Hard to Parse

The Singapore driving licence is issued by the Singapore Police Force (Traffic Police). Singapore licences are tied to the holder's NRIC or FIN, and the classes (for example 2B, 2A, 2, 3, 3A, 4 and 5) decide which vehicles a driver may operate. Drivers may present a physical card or show their licence on a phone, so onboarding flows receive both photos and screenshots and need the same fields from each.

One API Call, Named Fields

The StructOCR Driver License OCR API returns the licence or identification number, the holder's name, date of birth, issue date and licence classes. Dates are returned 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 Singapore

Car Sharing and Rental

Check the licence class before a member books a vehicle.

Delivery and Private-Hire Platforms

Collect licence details for new drivers and riders in one step.

Fleet Operators

Keep each driver's classes on file for internal checks.

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 or identification number, the holder's name, date of birth, issue date and licence classes.
  • Normalized dates: Dates are returned as YYYY-MM-DD.
  • Good to know: Screenshots of a licence shown in an app can be uploaded as images too; the API reads whatever fields are visible in the picture.

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 Singapore driving licence, with fictional values.

{
  "success": true,
  "data": {
    "type": "drivers_license",
    "country_code": "SGP",
    "region": null,
    "document_number": "S1234567D",
    "personal_number": null,
    "surname": "TAN",
    "given_names": "WEI LING",
    "sex": null,
    "date_of_birth": "1989-06-30",
    "place_of_birth": null,
    "date_of_issue": "2015-07-01",
    "date_of_expiry": null,
    "date_of_first_issue": null,
    "issuing_authority": null,
    "address": null,
    "vehicle_class": "3, 2B"
  }
}

Frequently Asked Questions

Can I test the Singapore driving licence 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.

Can users upload a screenshot instead of a card photo?

Yes. Any clear image works, whether it is a photo of a card or a screenshot.

Is the NRIC returned?

If it is printed and legible it can be returned as document_number or personal_number. Treat it as sensitive and store it only if you need it.

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

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
SOLUTION

South Korea Driver's Licence OCR API

Extract the licence number, the holder's name, date of birth, issue date, licence type and the card's renewal period from the Korean driver's licence as JSON with one API call. Try it free in the browser; new accounts get 100 free licence scans.

Driver License OCR
SOLUTION

Spain Driving Licence (Permiso de Conducción) OCR API

Extract the licence number, apellidos and nombre, date and place of birth, issue and expiry dates, issuing authority and categories from the Spanish permiso de conducción as JSON with one API call. Try it free in the browser; new accounts get 100 free licence scans.

Driver License OCR
SOLUTION

Retail Sportsbook ID Scanning with a PDF417 API

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

Driver License OCR
SOLUTION

Staffing Agency Worker Onboarding with ID Barcodes

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

Driver License OCR
SOLUTION

Tattoo and Piercing Studio ID Checks with PDF417

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

Driver License OCR
SOLUTION

Telecom Customer Onboarding with Driver License PDF417

Use PDF417 and AAMVA parsing for telecom account opening. Pre-fill given_names, surname, date_of_birth, handle unreadable barcodes, and keep API credentials server-side.

Driver License OCR
SOLUTION

Thailand Driving Licence OCR API

Extract the licence number, the holder's name in English, ID number, date of birth, issue and expiry dates and licence type from the Thai driving licence as JSON with one API call. Try it free in the browser; new accounts get 100 free licence scans.

Driver License OCR
SOLUTION

Turkey Driving Licence (Sürücü Belgesi) OCR API

Extract the licence number, surname and name, date and place of birth, issue and expiry dates, T.C. Kimlik No. where printed and classes from the Turkish sürücü belgesi as JSON with one API call. Try it free in the browser; new accounts get 100 free licence scans.

Driver License OCR
SOLUTION

UAE Driving Licence OCR API

Extract the licence number, the holder's name, nationality where printed, date of birth, issue and expiry dates, the issuing authority and the permitted vehicle categories from the UAE 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