us_driver_licenseUS driver license
Read both sides of a US driver license, decode the AAMVA barcode and check expiry, age and holder.
- Category
- Driving licences
- Country
- United States
- Extracted fields
- 28 fields
- Cost
- 1 credit
us_driver_licensespecimen- Document number
- Issuing state
- First name
- Middle name
- Last name
- Name suffix
- Date of birth
- Issue date
- Expiry date
Every state has its own design, but the back carries a PDF417 barcode under the AAMVA standard. Constaia decodes it, compares it with the printed front and checks expiry, date of birth and holder. You get a valid, invalid or review verdict with reasons, and only the fields you need.
- Front and back count as 1 credit.
- A barcode that matches the front does not prove the card is genuine: it catches typos, mismatched sides and crude edits. Constaia does not do biometric checks.
- The federal Driver's Privacy Protection Act (DPPA) limits the use of personal information from state motor vehicle records, and some states add their own rules. Collect license data only for a clear purpose and keep only what you need, ideally with storage "none".
What it checks
- PDF417 barcode (AAMVA). The back is decoded and compared with the front.
- National identifiers. Official checksum or format of the number (NIF, CPF, CURP, RUT, SSN…).
us_dl, us_zip - Postal code. Postal code format of the country.
- Holder. Name, number or date of birth match what you expect.
- Age. Minimum or maximum age from the date of birth.
- Validity. Not expired on the reference date.
- Form I-9. Whether the document belongs to list A, B or C.
B
Extracted fields
- Document number
document_number - Issuing state
issuing_state - First name
first_name - Middle name
middle_name - Last name
last_name - Name suffix
name_suffix - Date of birth
birth_date - Issue date
issue_date - Expiry date
expiry_date - Sex
sex - Height
height - Weight
weight - Eye color
eye_color - Hair color
hair_color - Address
address - Postal code
postal_code - REAL ID compliant
real_id_compliant - Dd
dd - Organ donor
organ_donor - Veteran
veteran - Under 21 until
under_21_until - Federal limits apply
federal_limits_apply - Class
class - Restrictions
restrictions - Endorsements
endorsements - Commercial
commercial - Permit type
permit_type - Barcode data
barcode_data
Sample request
curl https://api.constaia.com/v1/analyze \
-H "Authorization: Bearer $CONSTAIA_API_KEY" \
-F "file=@us_driver_license_specimen.jpg" \
-F 'options={
"expect": "us_driver_license",
"checks": {
"not_expired": true,
"min_age_years": 21,
"holder": {
"full_name": "Jordan Specimen"
}
},
"storage": "none"
}'Try it for free with a ck_test_ key and the file us_driver_license_specimen.jpg.
Sample response
Fictitious data. Shortened response.
{
"id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
"object": "analysis",
"status": "completed",
"livemode": false,
"document": {
"type": "us_driver_license",
"label": "US driver license",
"confidence": 0.97
},
"verdict": {
"expected": [
"us_driver_license"
],
"match": true,
"status": "valid",
"reasons": [
{
"code": "type_match",
"severity": "info",
"message": "The document is: US driver license."
}
]
},
"fields": {
"document_number": {
"value": "D1234567",
"confidence": 0.99,
"validated": true
},
"first_name": {
"value": "JORDAN",
"confidence": 0.98,
"validated": null
},
"middle_name": {
"value": "LEE",
"confidence": 0.97,
"validated": null
},
"last_name": {
"value": "SPECIMEN",
"confidence": 0.96,
"validated": null
},
"birth_date": {
"value": "1994-03-08",
"confidence": 0.99,
"validated": null
},
"sex": {
"value": "M",
"confidence": 0.98,
"validated": null
},
"issuing_state": {
"value": "CA",
"confidence": 0.97,
"validated": null
},
"license_class": {
"value": "C",
"confidence": 0.96,
"validated": null
},
"issue_date": {
"value": "2023-05-17",
"confidence": 0.99,
"validated": null
},
"expiry_date": {
"value": "2028-03-08",
"confidence": 0.98,
"validated": null
},
"real_id_compliant": {
"value": true,
"confidence": 0.97,
"validated": null
}
},
"checks": [
{
"code": "aamva_barcode_matches_front",
"passed": true,
"message": "The PDF417 barcode matches the front."
},
{
"code": "not_expired",
"passed": true,
"message": "Valid on the reference date."
},
{
"code": "min_age_years",
"passed": true,
"message": "The holder meets the minimum age."
},
{
"code": "holder_match",
"passed": true,
"message": "The holder matches."
}
],
"warnings": [],
"storage": {
"mode": "none",
"file_deleted_at": "2026-09-29T10:00:02Z",
"expires_at": null
},
"usage": {
"credits": 1,
"pages": 2
}
}FAQ
Does Constaia prove the document is authentic?
No. It checks the type, data consistency and your rules, and flags signals such as a possible edit or a screen photo. That does not prove authenticity.
Is a copy of the document kept?
No, unless you ask for it. With storage "none" (the default) the file is deleted when the analysis ends.
Other documents
And for the record…
Create your account, copy the test key and validate your first document in five minutes.