Automatic Federal EIN Verification

How Check verifies company name and Federal EIN

Triggering Federal EIN Verification

  1. Create a company with the correct legal name
  2. Set the Federal EIN value for that company

Whenever Check has a legal name and Federal EIN for a company, we will automatically begin processing on the verification of those values. We will only begin processing if we have both of these values. When either one of these values is updated, processing will begin automatically.

Testing in Sandbox

In our Sandbox environment all Federal EIN Verifications are successfully verified by default. You can test out the rejection flow by using specific legal name and FEIN values. A company whose legal name starts with reject-fein-verification AND whose FEIN starts with 12-345678 (for example, 12-3456789) will always be rejected.

Federal EIN Verification Processing

After triggering automatic processing, details and status of this processing are exposed in our Federal EIN Verification objects.

For example:

    "id": "fev_D3FeAyR6Ao3LZiO3j6d2",
    "company": "com_097YZQgrXZQb8VHtI76S",
    "legal_name": "Stark Industries, Inc.",
    "federal_ein": "12-3456785",
    "status": "processing",
    "start_time": "2022-07-11T19:37:31.589206Z",
    "end_time": null,
    "error": null

Note that Check supports exactly three (3) attempts to verify a company legal name and FEIN. After that, if the final verification is still rejected, the status will show as final_rejected to indicate that no further attempts to automatically verify FEIN will be attempted.

When a company's FEIN verification moves to the final_rejected status, a ZenDesk ticket will be opened automatically to request supplementary documentation to verify the FEIN.

processingThe verification is currently processing.

Please continue to poll for up to 10 seconds while waiting for the processing to finish.
verifiedProcessing is complete and the FEIN has been verified.
rejectedProcessing is complete and the FEIN has been rejected. You may attempt another verification process by correcting the company's legal name or Federal EIN.
final_rejectedThe maximum number of verifications has been reached. Please follow up with the relevant documentation.

Processing FEIN verification occurs automatically. So for example, if we first create a new company with the Create a company API, and then set its FEIN value using the Update tax parameters API. At that time, Check will automatically begin the verification process for this company's FEIN.

To see a list of the currently processing verification and any previous verifications for a company, use the List federal EIN verifications API. These results are returned in descending order of last updated, so the most relevant result should be the first one listed.

Then begin polling on the relevant entity (the most recent one) using the Get a federal EIN verification API. Under ideal circumstances this process should take no longer than 10 seconds. After that amount of time, please stop polling. Check the status of the Federal EIN Verification object to see if the FEIN was successfully verified or else rejected.

Also expect a webhook on the federal_ein_verification topic for any change events related for Federal EIN Verifications. For verification processing that takes longer than expected, this is the usual method for notification that the verification process has completed.

Sample Federal EIN Verification Flow

  • Create a new company
  • Set the Federal EIN for the company
  • List the FederalEINVerifications for the company
  • Poll on the most recent one for up to 10 seconds for an immediate status update
  • After 10 seconds fallback to waiting for the webhook status update instead


Check cannot verify the legal name and FEIN if the IRS is unavailable. When the IRS is unavailable, the error field in the response will be "irs_unavailable". The Federal EIN Verification object status will be rejected, but the legal name and FEIN could be valid.

Additionally, you may see a "duplicate request" error. Duplicate requests means that we have submitted the same request to the IRS. The Federal EIN Verification object will also have a rejected status in this case.

If the error field is empty, the status of the object is the correct status of that legal name and FEIN.