us_i9_formUSCIS Form I-9 (Employment Eligibility Verification)
Completed USCIS Form I-9: Section 1 (employee information and attestation) and Section 2 (List A or List B + C documents examined by the employer).
- Category
- Employment
- Country
- United States
- Extracted fields
- 23 fields
- Cost
- 1 credit
us_i9_formspecimen- Last name
- First name
- Middle initial
- Other last names
- Address
- Date of birth
- Social Security number (SSN)
- Phone
What it checks
- National identifiers. Official checksum or format of the number (NIF, CPF, CURP, RUT, SSN…).
us_ssn, us_uscis - Holder. Name, number or date of birth match what you expect.
- Age. Minimum or maximum age from the date of birth.
Extracted fields
- Last name
last_name - First name
first_name - Middle initial
middle_initial - Other last names
other_last_names - Address
address - Date of birth
birth_date - Social Security number (SSN)
ssn - Email
email - Phone
phone - Citizenship status
citizenship_status - USCIS number (A-number)
uscis_number - I94 number
i94_number - Foreign passport number
foreign_passport_number - Work authorization expiry
work_authorization_expiry - Employee signature date
employee_signature_date - Documents
documents - First day of employment
first_day_of_employment - Employer name
employer_name - Employer title
employer_title - Business name
business_name - Business address
business_address - Employer signature date
employer_signature_date - Form edition
form_edition
Sample request
curl https://api.constaia.com/v1/analyze \
-H "Authorization: Bearer $CONSTAIA_API_KEY" \
-F "file=@document.pdf" \
-F 'options={
"expect": "us_i9_form",
"checks": {
"holder": {
"full_name": "Carmen Especimen Ruiz"
}
},
"storage": "none"
}'Sample response
Fictitious data. Shortened response.
200 OK · application/json
{
"id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
"object": "analysis",
"status": "completed",
"livemode": false,
"document": {
"type": "us_i9_form",
"label": "USCIS Form I-9 (Employment Eligibility Verification)",
"confidence": 0.97
},
"verdict": {
"expected": [
"us_i9_form"
],
"match": true,
"status": "valid",
"reasons": [
{
"code": "type_match",
"severity": "info",
"message": "The document is: USCIS Form I-9 (Employment Eligibility Verification)."
}
]
},
"fields": {
"last_name": {
"value": "SPECIMEN",
"confidence": 0.99,
"validated": true
},
"first_name": {
"value": "JANE",
"confidence": 0.98,
"validated": null
},
"middle_initial": {
"value": "Q",
"confidence": 0.97,
"validated": null
},
"address": {
"value": "2570 24TH STREET, SACRAMENTO, CA 95818",
"confidence": 0.96,
"validated": null
},
"birth_date": {
"value": "1985-07-30",
"confidence": 0.99,
"validated": null
},
"ssn": {
"value": "512-34-5678",
"confidence": 0.98,
"validated": null
},
"citizenship_status": {
"value": "1",
"confidence": 0.97,
"validated": null
},
"employee_signature_date": {
"value": "2026-09-01",
"confidence": 0.96,
"validated": null
},
"documents": {
"value": [
{
"list": "B",
"title": "Driver's license",
"issuing_authority": "CA DMV",
"document_number": "I1234568",
"expiry_date": "2031-07-30"
},
{
"list": "C",
"title": "Social Security card",
"issuing_authority": "SSA",
"document_number": "512-34-5678"
}
],
"confidence": 0.99,
"validated": null
},
"first_day_of_employment": {
"value": "2026-09-01",
"confidence": 0.98,
"validated": null
},
"business_name": {
"value": "SPECIMEN CORP",
"confidence": 0.97,
"validated": null
},
"employer_signature_date": {
"value": "2026-09-03",
"confidence": 0.96,
"validated": null
},
"form_edition": {
"value": "01/20/25",
"confidence": 0.99,
"validated": null
}
},
"checks": [
{
"code": "id_number",
"passed": true,
"message": "id_number"
}
],
"warnings": [],
"storage": {
"mode": "none",
"file_deleted_at": "2026-09-29T10:00:02Z",
"expires_at": null
},
"usage": {
"credits": 1,
"pages": 1
}
}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.