Which country identifiers we actually check (checksum vs live vs nothing)
Country-by-country IBAN, tax ID, VIES and GLEIF coverage. Checksum is not a company registry. No exclusivity. Best-effort, no SLA.
This is the coverage matrix for identifier checks on this gateway. Cells are generated from the same tables the endpoints use — if a country is missing here, the API does not pretend to support it.
No exclusivity. Best-effort, no SLA. A green checksum means the number is
well-formed. It does not query a tax authority, company register, or bank, and it does not prove
the identifier was issued to anyone. The only live registry lookups are EU VIES (VAT) and GLEIF (LEI).
Both can return unknown when the upstream is down.
How to read a cell
- checksum — format plus check digit (IBAN mod-97, TIN algorithm, LEI mod-97-10).
- format — pattern only. Germany USt-IdNr, US EIN, UK UTR and similar: no check digit applied.
- live — we call a public registry (VIES SOAP or GLEIF REST), cached, honest
unknown. - — — not covered. Empty is better than a guessed country.
Counts (from the live tables)
- IBAN structure + mod-97: 69 countries.
- Tax ID: 27 countries (18 checksum, 9 format-only).
- EU VAT via VIES: 28 prefixes (EU-27; Greece as GR / VIES prefix EL; Northern Ireland as XI). Great Britain (GB) is not in VIES.
- IBAN
bankNamefilled: BE, NL, TR only. Every other country returnsnull.
Global (not a country column)
| Check | Depth | Endpoint |
|---|---|---|
| LEI format | checksum | /v1/id/lei |
| LEI record (legal name, status) | live (GLEIF) | /v1/id/lei/lookup |
| Passport / ID MRZ (ICAO 9303) | checksum | /v1/id/mrz |
| Sanctions name screen (OFAC, EU, UN, UK) | local index — not a civil registry | /v1/sanctions/screen |
| Phone E.164 | format (no HLR) | /v1/phone/validate |
By country
| CC | Country | IBAN | Tax ID | Bank name | VAT (VIES) |
|---|---|---|---|---|---|
| AD | Andorra | checksum | — | — | — |
| AE | United Arab Emirates | checksum | — | — | — |
| AL | Albania | checksum | — | — | — |
| AT | Austria | checksum | format uid | — | live |
| AU | Australia | — | checksum abn | — | — |
| AZ | Azerbaijan | checksum | — | — | — |
| BA | Bosnia and Herzegovina | checksum | — | — | — |
| BE | Belgium | checksum | checksum enterprise | yes | live |
| BG | Bulgaria | checksum | — | — | live |
| BH | Bahrain | checksum | — | — | — |
| BR | Brazil | checksum | checksum cpf, cnpj | — | — |
| CA | Canada | — | format bn | — | — |
| CH | Switzerland | checksum | checksum uid | — | — |
| CR | Costa Rica | checksum | — | — | — |
| CY | Cyprus | checksum | — | — | live |
| CZ | Czechia | checksum | checksum ico | — | live |
| DE | Germany | checksum | format steuernummer, ustid | — | live |
| DK | Denmark | checksum | checksum cvr | — | live |
| DO | Dominican Republic | checksum | — | — | — |
| EE | Estonia | checksum | — | — | live |
| EG | Egypt | checksum | — | — | — |
| ES | Spain | checksum | checksum nif, nie | — | live |
| EU | European Union | — | format eori | — | — |
| FI | Finland | checksum | checksum ytunnus | — | live |
| FO | Faroe Islands | checksum | — | — | — |
| FR | France | checksum | checksum siren, siret | — | live |
| GB | United Kingdom | checksum | format utr, vat | — | — |
| GE | Georgia | checksum | — | — | — |
| GI | Gibraltar | checksum | — | — | — |
| GL | Greenland | checksum | — | — | — |
| GR | Greece | checksum | checksum afm | — | live |
| GT | Guatemala | checksum | — | — | — |
| HR | Croatia | checksum | checksum oib | — | live |
| HU | Hungary | checksum | — | — | live |
| IE | Ireland | checksum | format pps | — | live |
| IL | Israel | checksum | — | — | — |
| IN | India | — | format pan, gstin | — | — |
| IS | Iceland | checksum | — | — | — |
| IT | Italy | checksum | checksum codice_fiscale | — | live |
| JO | Jordan | checksum | — | — | — |
| KW | Kuwait | checksum | — | — | — |
| KZ | Kazakhstan | checksum | — | — | — |
| LB | Lebanon | checksum | — | — | — |
| LI | Liechtenstein | checksum | — | — | — |
| LT | Lithuania | checksum | — | — | live |
| LU | Luxembourg | checksum | — | — | live |
| LV | Latvia | checksum | — | — | live |
| MC | Monaco | checksum | — | — | — |
| MD | Moldova | checksum | — | — | — |
| ME | Montenegro | checksum | — | — | — |
| MK | North Macedonia | checksum | — | — | — |
| MT | Malta | checksum | — | — | live |
| MU | Mauritius | checksum | — | — | — |
| MX | Mexico | — | format rfc | — | — |
| NL | Netherlands | checksum | checksum bsn | yes | live |
| NO | Norway | checksum | checksum orgnr | — | — |
| PK | Pakistan | checksum | — | — | — |
| PL | Poland | checksum | checksum nip | — | live |
| PS | Palestine | checksum | — | — | — |
| PT | Portugal | checksum | checksum nif | — | live |
| QA | Qatar | checksum | — | — | — |
| RO | Romania | checksum | — | — | live |
| RS | Serbia | checksum | — | — | — |
| SA | Saudi Arabia | checksum | — | — | — |
| SE | Sweden | checksum | checksum personnummer | — | live |
| SI | Slovenia | checksum | — | — | live |
| SK | Slovakia | checksum | — | — | live |
| SM | San Marino | checksum | — | — | — |
| TN | Tunisia | checksum | — | — | — |
| TR | Türkiye | checksum | checksum tckn, vkn | yes | — |
| UA | Ukraine | checksum | — | — | — |
| US | United States | — | format ein | — | — |
| VA | Vatican City | checksum | — | — | — |
| VG | Virgin Islands, British | checksum | — | — | — |
| XI | Northern Ireland | — | — | — | live |
| XK | Kosovo | checksum | — | — | — |
Docs and this page stay in English. The UI does not switch language from IP geolocation. Where a response can name a bank, that label is local (today: Turkish, Dutch, Belgian bank names).
Frequently asked
Does a valid TIN or IBAN mean the company or person exists?
No. Checksum and format checks do not query a tax authority or company register. The only live lookups are EU VIES for VAT numbers and GLEIF for LEI records.
Why is Germany tax ID listed as format, not checksum?
German Steuernummer check digits are Land-specific; USt-IdNr issued in Germany is confirmed via VIES (the VAT column), not via the TIN endpoint.
Will the docs switch language from my IP address?
No. This page is English. The catalogue can be English or Turkish via ?lang= or Accept-Language. Geolocation does not pick a language.
Endpoints used here
Open the reference, run it in the browser, no key required.
/v1/id/tinOpen the reference, run it in the browser, no key required.
/v1/eu/vat/validateOpen the reference, run it in the browser, no key required.
/v1/id/leiOpen the reference, run it in the browser, no key required.
/v1/id/lei/lookupOpen the reference, run it in the browser, no key required.
/v1/sanctions/screenOpen the reference, run it in the browser, no key required.