Skip to content
Constaia
us_i94

US Arrival/Departure Record (Form I-94)

Form I-94 (CBP printout or paper) with admission number, class of admission and admit-until date; for Form I-9 it is presented with the foreign passport (List A).

Category
Residence
Country
United States
Extracted fields
9 fields
Cost
1 credit
us_i94specimen
Admission number
First name
Last name
Date of birth
Passport number
Country of issuance
Arrival date
Class of admission
Admit until date

What it checks

  • 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.A

Extracted fields

  • Admission numberadmission_number
  • First namefirst_name
  • Last namelast_name
  • Date of birthbirth_date
  • Passport numberpassport_number
  • Country of issuancecountry_of_issuance
  • Arrival datearrival_date
  • Class of admissionclass_of_admission
  • Admit until dateadmit_until_date

Sample request

curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@document.pdf" \
  -F 'options={
    "expect": "us_i94",
    "checks": {
      "not_expired": true,
      "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_i94",
    "label": "US Arrival/Departure Record (Form I-94)",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "us_i94"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "The document is: US Arrival/Departure Record (Form I-94)."
      }
    ]
  },
  "fields": {
    "admission_number": {
      "value": "12345678901",
      "confidence": 0.99,
      "validated": true
    },
    "first_name": {
      "value": "RAVI",
      "confidence": 0.98,
      "validated": null
    },
    "last_name": {
      "value": "SPECIMEN",
      "confidence": 0.97,
      "validated": null
    },
    "birth_date": {
      "value": "1990-02-11",
      "confidence": 0.96,
      "validated": null
    },
    "passport_number": {
      "value": "Z1234567",
      "confidence": 0.99,
      "validated": null
    },
    "country_of_issuance": {
      "value": "INDIA",
      "confidence": 0.98,
      "validated": null
    },
    "arrival_date": {
      "value": "2025-08-20",
      "confidence": 0.97,
      "validated": null
    },
    "class_of_admission": {
      "value": "H1B",
      "confidence": 0.96,
      "validated": null
    },
    "admit_until_date": {
      "value": "2028-09-30",
      "confidence": 0.99,
      "validated": null
    }
  },
  "checks": [],
  "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.