Skip to content
Constaia
us_w2

IRS Form W-2

Employer, EIN, wages and withholding from a W-2.

Category
Tax
Country
United States
Extracted fields
15 fields
Cost
1 credit
us_w2specimen
Tax year
Employer EIN
Employer
Employee SSN
Employee name
Employee address
Wages, tips, other compensation
Federal income tax withheld
Social Security wages

W-2s show up in rental applications, loan files and income checks. Constaia extracts the tax year, employer, EIN and box amounts, checks the EIN and SSN formats and compares the employee name with the one you expect.

  • If you do not need the SSN, leave it out of extract and ask applicants for a masked copy.

What it checks

  • National identifiers. Official checksum or format of the number (NIF, CPF, CURP, RUT, SSN…).us_ein, us_ssn
  • Holder. Name, number or date of birth match what you expect.

Extracted fields

  • Tax yeartax_year
  • Employer EINemployer_ein
  • Employeremployer
  • Employee SSNemployee_ssn
  • Employee nameemployee_name
  • Employee addressemployee_address
  • Wages, tips, other compensationwages
  • Federal income tax withheldfederal_income_tax_withheld
  • Social Security wagessocial_security_wages
  • Social security tax withheldsocial_security_tax_withheld
  • Medicare wagesmedicare_wages
  • Medicare tax withheldmedicare_tax_withheld
  • Statestate
  • State wagesstate_wages
  • State income taxstate_income_tax

Sample request

curl https://api.constaia.com/v1/analyze \
  -H "Authorization: Bearer $CONSTAIA_API_KEY" \
  -F "file=@us_w2_specimen.pdf" \
  -F 'options={
    "expect": "us_w2",
    "checks": {
      "holder": {
        "full_name": "Jordan Specimen"
      },
      "require_fields": [
        "wages",
        "tax_year"
      ]
    },
    "storage": "none"
  }'

Try it for free with a ck_test_ key and the file us_w2_specimen.pdf.

Sample response

Fictitious data. Shortened response.

200 OK · application/json
{
  "id": "an_01J9Z3K8QW4T6Y2B7N5M1R0PXC",
  "object": "analysis",
  "status": "completed",
  "livemode": false,
  "document": {
    "type": "us_w2",
    "label": "IRS Form W-2",
    "confidence": 0.97
  },
  "verdict": {
    "expected": [
      "us_w2"
    ],
    "match": true,
    "status": "valid",
    "reasons": [
      {
        "code": "type_match",
        "severity": "info",
        "message": "The document is: IRS Form W-2."
      }
    ]
  },
  "fields": {
    "tax_year": {
      "value": 2025,
      "confidence": 0.99,
      "validated": true
    },
    "employee_name": {
      "value": "JORDAN L SPECIMEN",
      "confidence": 0.98,
      "validated": null
    },
    "employee_ssn": {
      "value": "XXX-XX-6789",
      "confidence": 0.97,
      "validated": null
    },
    "employer_name": {
      "value": "EXAMPLE LOGISTICS INC",
      "confidence": 0.96,
      "validated": null
    },
    "employer_ein": {
      "value": "12-3456789",
      "confidence": 0.99,
      "validated": null
    },
    "wages": {
      "value": 58240.5,
      "confidence": 0.98,
      "validated": null
    },
    "federal_tax_withheld": {
      "value": 6120,
      "confidence": 0.97,
      "validated": null
    },
    "state": {
      "value": "IL",
      "confidence": 0.96,
      "validated": null
    }
  },
  "checks": [
    {
      "code": "ein_format",
      "passed": true,
      "message": "The EIN has a valid format."
    },
    {
      "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": 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.