South Africa Driving License Verification API
Validate South Africa driver's licence against the national driver-licensing authority in real time, billed only on conclusive results. Endpoint, parameters, response schema, pricing, and integration.

Onboarding users in South Africa means confirming they are who they claim to be. Verifies a South African driving license against the NATIS / Department of Transport register. A document or a typed-in detail only proves the data exists — not that it is genuine or belongs to the person in front of you. South Africa Driving License Verification closes that gap by checking the data against the national driver-licensing authority. This guide explains what the check does, the exact technical details, and how to integrate it in minutes.
Key takeaways:
- What it checks — South Africa Driving License Verification validates driver's licence against the national driver-licensing authority.
- What you get back — a normalized
match_typeplus field-level results you can route straight into approve / review / reject logic. - Why it matters — Licence validation confirms the document is genuine and current — critical for mobility, delivery, and gig platforms.
- How to use it — one
POSTto Didit's database-validation endpoint. $0.70 per conclusive query, results in seconds.
What South Africa Driving License Verification validates
Verifies a South African driving license against the NATIS / Department of Transport register. Didit exposes it through a single endpoint so you can verify the submitted data against the national driver-licensing authority and receive a structured, normalized result — not a raw registry dump you have to parse yourself.
A conclusive response returns the matched source_data and a per-field validation block, so your risk engine gets a clear, machine-readable verdict.
Why it matters
Licence validation confirms the document is genuine and current — critical for mobility, delivery, and gig platforms.
For regulated businesses in South Africa — fintechs, crypto platforms, lenders, marketplaces, and gaming operators — checking against an authoritative source produces a defensible, auditable record that identity was confirmed at the source, not merely captured from a form or a photo.
Technical details
Didit exposes this service through the unified database-validation endpoint. It is a single POST — no SDK required.
Endpoint
POST /v3/database-validation/
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
issuing_state | string | Yes | ISO 3166-1 alpha-3 country code. Use ZAF. |
services | string | Yes | Service identifier. Use zaf_drivers_license. |
national_id | string | Yes | National id. |
last_name | string | Yes | Last name. |
initials | string | Yes | Initials. |
licence_number | string | Yes | Licence number. |
first_name | string | No | First name (optional cross-check). |
date_of_birth | string | No | Date of birth (optional cross-check). |
Example request
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=ZAF" \
-F "services=zaf_drivers_license" \
-F "national_id=1111111" \
-F "last_name=Doe" \
-F "initials=sample_value" \
-F "licence_number=11111111"
Example response (conclusive match)
{
"request_id": "req_01H...",
"status": "Approved",
"issuing_state": "ZAF",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"date_of_birth": "1990-01-01",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe"
},
"validation": {
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
Performance and billing
- Latency: typically a couple of seconds.
- Cost: $0.70 per conclusive query. You are billed only on conclusive results — no charge for source downtime, missing fields, or pre-source rejections.
- Reliability: runs on Didit's infrastructure with a 99.9% quarterly uptime target.
Use cases
- Fintech & neobanks — confirm a real, verifiable account holder before opening a wallet or extending credit in South Africa.
- Crypto & Web3 — meet VASP onboarding requirements with authoritative-source identity proof.
- Lending — reduce synthetic-identity and first-party fraud with source-verified data.
- Marketplaces & gig platforms — verify users against authoritative data, not just a self-reported form.
- iGaming — satisfy identity and eligibility checks for South Africa players with an auditable trail.
How to integrate with Didit
You can run South Africa Driving License Verification two ways:
- Direct API only. This service runs through the API rather than the no-code workflow builder.
- Direct API. Call the
/v3/database-validation/endpoint shown above withservices=zaf_drivers_license. Readmatch_typeand the per-fieldvalidationblock to drive your approve / review / reject logic.
Every Didit account includes 500 free verifications per month, so you can test the full flow end-to-end before you pay for a single query.
Frequently asked questions
What does the South Africa Driving License Verification check confirm?
It validates the submitted data against the national driver-licensing authority and returns a normalized match result, so you learn whether the driver's licence exists at the authoritative source and which fields matched.
What happens if the source is temporarily unavailable?
You are not charged. Billing applies only to conclusive results — source downtime, missing fields, and pre-source rejections are free.
How fast is the check?
Database validation typically returns in a couple of seconds, so it fits inside a real-time onboarding flow.
Do I need an SDK?
No. The check is a single HTTPS POST to one endpoint.
Ready to get started?
Validate your first South Africa driver's licence today.
- Read the API reference: South Africa Driving License Verification
- See all database validations: Database Validation pricing & coverage
- Start building: Create a free Didit account — 500 verifications a month, free.