API Integration

TIN Comply's API provides accurate, real-time validation to help businesses reduce administrative burdens and meet compliance requirements. By integrating this automated verification into your workflows, you can enhance data integrity, streamline vendor and employee onboarding, and strengthen your compliance efforts, all while minimizing manual effort and associated costs.

Quickstart

Your first IRS TIN match takes about a minute.

  1. Get an API key. In the portal, go to Admin › API Key Management and add a key with the Validate permission. No account yet? Create one.
  2. Send a TIN and a name. Replace YOUR_API_KEY and run:
    curl -X POST https://www.tincomply.com/api/v1/validate/irs-tin-name-matching \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "tin": "123-12-1234", "name": "JOHN SMITH" }'
  3. Read the result. The response carries the IRS result code:
    "irsTinNameMatchingResult": {
        "message": "TIN and Name combination does not match IRS records",
        "result": 3,
        "completed": true
    }
    0, 6, 7 or 8 is a match. 3 means the name and TIN do not match, so request a corrected W-9. Every code and what to do about it is on the IRS TIN Name Matching page.

To try every endpoint without writing code, import the Postman collection or the OpenAPI spec.

Simple REST API Using JSON

TIN Comply's API follows a RESTful architecture and uses JSON for requests and responses.

  • Send an HTTP POST request to the API endpoint.
  • Include your API key in the X-API-Key header.
  • Send the request body as JSON with a Content-Type: application/json header.
  • All communication is encrypted over HTTPS.

Base URL: https://www.tincomply.com/api/v1/

Keys, permissions and authentication errors are covered on the Authentication page.

Always send Content-Type: application/json (and ideally Accept: application/json). Without one of them the same URL responds with an HTML page instead of JSON.

REST Endpoints

TIN Comply offers 11 validation services, each with its own endpoint, plus a multi-service validate endpoint and endpoints for request details and history.

Each endpoint is designed to offer fast, reliable and compliant validation, so you can automate verification inside the systems you already use.

List of API Endpoints

EndpointDescription
validate/irs-tin-name-matching Checks a TIN and name combination against IRS records in real time and returns the IRS result code.
validate/company-name-lookup-by-ein Submit an EIN and get back the registered business name associated with it.
validate/company-ein-lookup-by-name Submit a company name and receive candidate EINs ranked by name-match confidence.
request-details/reveal-ein Step two of an EIN lookup: unmasks the EIN of the candidate you choose from the company-ein-lookup-by-name results.
validate/address-validation Verifies and standardizes a US mailing address against USPS records, adds the ZIP+4, county and congressional district, and lists every correction made to your input.
validate/company-details-lookup-by-name-address Look up a business by legal name, by address, or both.
validate/list-sanctions Screens a person or business name against more than 330 sanctions and watchlists, including OFAC SDN, the Consolidated Screening List, SAM exclusions, FinCEN, BIS, EU and UN, with fuzzy matching and alias detection.
validate/fatca-giin Checks a GIIN against the IRS FATCA Foreign Financial Institution (FFI) list and returns the registered institution name and country.
validate/legal-entity-identifier Validates a Legal Entity Identifier against the Global LEI Foundation (GLEIF) register and returns the registered entity's name, address, legal form, jurisdiction and status.
validate/npi-registry Looks up a National Provider Identifier in the CMS NPPES registry and returns its status, the registered provider name, specialty, license and practice address.
validate/medicare-enrollment Checks a provider's Medicare status by NPI: enrolled privileges (Part B, DME, home health, power mobility, hospice), opt-out status with its effective and end dates, and Care Compare profile details.
validate/fmcsa-carrier Looks up a motor carrier by USDOT number and returns whether it is allowed to operate, its operating authority by type (common, contract, broker), insurance filings, out-of-service status and fleet size.
validate Runs one or more validation services against a single record in one call.
request-details Returns the complete stored result of one earlier validation request: the original request and every result object, in the same shape as the validate response.
history Lists your previous validation requests, newest first, with a summary result for each service.
status Current operating status of each validation service. No API key required.

Service identifiers

Use these values in requestedServices on validate, and in the per-service endpoint URLs.

IdentifierService
irs-tin-name-matchingIRS TIN and name matching
company-name-lookup-by-einCompany name lookup by EIN
company-ein-lookup-by-nameEIN lookup by company name
address-validationUSPS address validation and standardization
company-details-lookup-by-name-addressCompany details lookup by name and address
list-sanctionsSanctions and watchlist screening (330+ lists)
fatca-giinFATCA GIIN validation
legal-entity-identifierLegal Entity Identifier (LEI) validation
npi-registryNPI registry lookup
medicare-enrollmentMedicare enrollment and opt-out check
fmcsa-carrierFMCSA motor carrier verification

Setting Up a Simple IRS TIN Matching Request

Follow these steps to send a basic IRS TIN matching request using the API.

Step 1: Generate an API Key

In the portal, go to Admin › API Key Management and add a new key with the Validate permission.

Step 2: Create an HTTP POST Request

Include your API key in the X-API-Key header and set Content-Type: application/json.

Step 3: Set Request Parameters in JSON

{
    "tin": "123-12-1234",
    "name": "JOHN SMITH"
}

Step 4: Send the Request

Send the request to the IRS TIN matching endpoint: https://www.tincomply.com/api/v1/validate/irs-tin-name-matching

Step 5: Handle the JSON Response

{
    "id": "BG5CF5Z2q0SwIBmhZylJggxp",
    "request": {
        "tin": "XXXXX1234",
        "name": "JOHN SMITH",
        "requestDate": "2026-10-01T20:23:41Z",
        "requestedServices": "irs-tin-name-matching"
    },
    "irsTinNameMatchingResult": {
        "message": "TIN and Name combination does not match IRS records",
        "result": 3,
        "completed": true
    }
}

The result value is the IRS result code: 0, 6, 7 and 8 are matches; 1 through 5 are failures. The full table is on the IRS TIN Name Matching page.

Example Setup in Postman

The fastest way to try the API in Postman is to import our collection, which has a ready-made request for every endpoint.

Download the Postman collection

1. Import the collection

In Postman, choose Import and select the downloaded file. The requests are grouped the same way as this reference.

2. Add your API key

Open the collection's Variables tab and paste your key into apiKey. Every request sends it as the X-API-Key header automatically.

3. Send a request

Each request comes with a sample JSON body. Edit the values and send; the response appears below the request, as in this IRS TIN matching example.

Postman showing an IRS TIN matching request body and its JSON response

With this Postman setup you can quickly test requests before building them into your own systems.

Using another tool?

The OpenAPI 3 spec describes every endpoint, field and sample. Import it into Insomnia, Bruno, Swagger or your API gateway, or generate a typed client library in your language.

Before You Go Live

  • Authentication: create a key for each integration with only the permissions it needs.
  • Errors & service status: the status codes to handle, and how to check whether a source is down.
  • Checks & pending results: how calls are counted, and what to do when a result is not ready yet.
  • OpenAPI & client libraries: import the spec into your tools, or generate a typed client in your language.
  • Each endpoint page has a What to do with this result table for turning results into actions.

Prefer an AI assistant? The same validations are available to Claude, ChatGPT and other MCP-compatible assistants, with OAuth sign-in instead of an API key. See AI Connections.