Skip to content
  • There are no suggestions because the search field is empty.

Real-Time IRS US TIN Matching

Taxbit's Real-Time IRS US TIN Matching feature allows you to validate a name and U.S. TIN combination against the IRS records via API. Referencing Taxbit’s associated API doc (Real-Time TIN Validation), the endpoint for this workflow is POST /v1/validation/us-tin, and it uses tenant-scoped authentication.

The results from the IRS typically take 2 - 3 seconds, however, there are instances where a result may not be available immediately. The IRS has limitations around the number of times you can send the same name and/or TIN within a 24-hour period. They do this in order to prevent users from abusing the system to identify someone’s TIN. As a result, checking TINs for common names (e.g., John Smith) can be delayed by several days. If validation cannot be completed immediately, such as when the IRS is unavailable or rate limits apply, the request is queued for asynchronous processing instead of failing immediately.


Submitting a Real-Time IRS US TIN Validation Request via API

To submit a real-time TIN validation request, send a JSON body with the following:

Field

Definition

Example

legal_name

Required; must be the full legal name of the individual or entity. It cannot be an empty string.

John Doe

tin

Required; must be a string containing exactly 9 digits, with no hyphens, symbols, or punctuation.

987654321

Please note: You can also pass the optional use_async query parameter. When use_async=true, Taxbit immediately returns a PENDING status and an identifier that can be used to retrieve the result later. This is useful when you want to avoid waiting for IRS response latency during the initial request.


Reviewing the Results

The response includes the following:

  • id
  • legal_name
  • tin
  • status
  • validation_date

If the request is handled asynchronously, there are two supported ways to receive the final result:

  • Poll the GET /v1/validations/us-tin/{tin_validation_id} endpoint using the id returned by the original request. The GET response has the same shape as the POST response. If the status is still PENDING, continue polling until it resolves.
  • Configure webhooks so Taxbit can send a notification after the request is processed. The real-time TIN validation webhook event is RTTM_TIN_VALIDATION and includes the validation_id, status, and validation_date.

The real-time TIN validation endpoint can return the following statuses:

Status

Definition

PENDING

The request was submitted and has not yet been validated.

VALID_SSN_MATCH

The SSN matches IRS records.

VALID_EIN_MATCH

The EIN matches IRS records.

VALID_SSN_EIN_MATCH

Both the SSN and EIN match IRS records.

MISMATCH

The name and TIN do not match IRS records.

TIN_NOT_ISSUED

The TIN has not been issued by the IRS.

INVALID_DATA

The submitted data is malformed or incomplete for validation.

FOREIGN

The TIN is foreign and is not validated against the IRS.

ERROR

An error occurred during IRS validation.


Using this with the React SDK

If you are using the Tax Documentation React SDK for W-9 collection, you can enable this behavior with the realTimeTinValidation prop on W-FORM. This prop is W-9 only, requires RTT configuration, and attempts TIN matching at submission so mismatches can be surfaced inline rather than only later in the process.

Please note: If realTimeTinValidation is not enabled, W-9 submissions default to batch processing.

When using the SDK, note that onSuccess confirms Taxbit received the submission, not that IRS validation is complete. Final validation results should be read from tinStatus or received through webhook-driven status updates.