Skip to main content

Tin

Description

A Taxpayer Identification Number (TIN) is an identification number assigned by the IRS for tax administration. TIN data is available on Legal Entities and is commonly used in business verification and KYB workflows to confirm that a business is who they claim to be.

Both EINs (Employer Identification Numbers) and SSNs (Social Security Numbers) are types of TIN. All businesses that have a non-person legal structure have an EIN. Many sole proprietorships also acquire an EIN, but some may use the owner's SSN as well. See the tinType field below for the full list of TIN types. Note that we do not provide SSN to protect PII.

Data Sources

Our TIN data comes directly from authoritative government sources like SoS registrations and IRS forms.

Currently, TIN coverage is approximately 4.5% of brands. Florida-registered businesses are overrepresented as Florida is the only state that publishes federal EIN data on its Secretary of State registrations.

Methodology

We routinely validate our data against the IRS directly to ensure data quality is maintained. Our entity resolution process further reconciles records across sources to surface the most accurate TIN for each legal entity. For absolute confidence in a specific business and EIN combination, you can submit another request with the TIN, legal name, and address as inputs to verify directly against the IRS in realtime. Below is an example:

query TinExample {
search(
searchInput: {
name: "LOFTY COFFEE INC.",
tin: { tin: "464362767"},
address: { state: "CA" }
}
) {
... on LegalEntity {
names {
edges {
node {
name
}
}
}
tins {
edges {
node {
tin
tinType
validity
}
verificationResult
verificationStatus
}
}
}
}
}
{
"data": {
"search": [
{},
{
"names": {
"edges": [
{
"node": {
"name": "LOFTY COFFEE INC."
}
}
]
},
"tins": {
"edges": [
{
"node": {
"tin": "464362767",
"tinType": "EIN",
"validity": "valid"
},
"verificationResult": "tin_verified",
"verificationStatus": "Success"
}
]
}
}
]
}
}
type Tin implements NodeFunctions {
id: UUID!
tin: String
tinType: String
validity: String
firstObservedDate: String
lastObservedDate: String
internalId: String
internalTinId: String
legalEntities(
first: Int = 100
last: Int
after: String
before: String
conditions: ConnectionConditions
): TinLegalEntityConnection
count(
field: String!
conditions: Conditions
): Int
countDistinct(
field: String!
conditions: Conditions
): Int
has(
field: String!
conditions: Conditions
): Boolean
sum(
field: String!
conditions: Conditions
): Int
min(
field: String!
conditions: Conditions
): Int
max(
field: String!
conditions: Conditions
): Int
avg(
field: String!
conditions: Conditions
): Float
collect(
field: String!
separator: String
conditions: Conditions
): String
minDateTime(
field: String!
conditions: Conditions
): DateTime
maxDateTime(
field: String!
conditions: Conditions
): DateTime
_fn: JSON
}

Fields

Tin.id ● UUID! non-null scalar

Tin.tin ● String scalar

The taxpayer identification number. A 9-digit number assigned by the IRS.

Tin.tinType ● String scalar

This field indicates the type of TIN on record. It may contain the following values:

  • **EIN**: Employer Identification Number, the primary identifier for businesses such as corporations, partnerships, LLCs, and nonprofits.
  • **SSN**: Social Security Number, assigned to individuals. This may appear for sole proprietorships.
  • **ITIN**: Individual Taxpayer Identification Number, issued to individuals who need a U.S. taxpayer ID but are not eligible for an SSN.
  • **ATIN**: Adoption Taxpayer Identification Number.
  • **PTIN**: Preparer Tax Identification Number, issued to paid tax return preparers.

In practice, we only provide EIN data currently.

Tin.validity ● String scalar

A special-purpose field that is null in most cases. We populate validity only when a request is made to verify a specific business and TIN combination against live IRS records. To do so, include the business name and TIN you are verifying in the request and ask for verificationResult and verificationStatus in the output.

Possible values:

  • **issued**: The TIN is valid and issued by the IRS.
  • **not_issued**: The TIN has not been issued by the IRS.
  • **invalid**: The TIN is invalid.
  • **null**: The validity has not been confirmed.

Tin.firstObservedDate ● String scalar

Tin.lastObservedDate ● String scalar

Tin.internalId ● String scalar

Tin.internalTinId ● String scalar

Tin.legalEntities ● TinLegalEntityConnection object

Tin.legalEntities.first ● Int scalar
Tin.legalEntities.last ● Int scalar
Tin.legalEntities.after ● String scalar
Tin.legalEntities.before ● String scalar
Tin.legalEntities.conditions ● ConnectionConditions input

Tin.count ● Int scalar

Tin.count.field ● String! non-null scalar
Tin.count.conditions ● Conditions input

Tin.countDistinct ● Int scalar

Tin.countDistinct.field ● String! non-null scalar
Tin.countDistinct.conditions ● Conditions input

Tin.has ● Boolean scalar

Tin.has.field ● String! non-null scalar
Tin.has.conditions ● Conditions input

Tin.sum ● Int scalar

Tin.sum.field ● String! non-null scalar
Tin.sum.conditions ● Conditions input

Tin.min ● Int scalar

Tin.min.field ● String! non-null scalar
Tin.min.conditions ● Conditions input

Tin.max ● Int scalar

Tin.max.field ● String! non-null scalar
Tin.max.conditions ● Conditions input

Tin.avg ● Float scalar

Tin.avg.field ● String! non-null scalar
Tin.avg.conditions ● Conditions input

Tin.collect ● String scalar

Tin.collect.field ● String! non-null scalar
Tin.collect.separator ● String scalar
Tin.collect.conditions ● Conditions input

Tin.minDateTime ● DateTime scalar

Tin.minDateTime.field ● String! non-null scalar
Tin.minDateTime.conditions ● Conditions input

Tin.maxDateTime ● DateTime scalar

Tin.maxDateTime.field ● String! non-null scalar
Tin.maxDateTime.conditions ● Conditions input

Tin._fn ● JSON scalar

Interfaces

NodeFunctions interface

Member Of

LegalEntityTinEdge object