# ID & Tax Number Validator — IBAN, VAT, 85+ countries (`msserendipity/id-tax-number-validator`) Actor

Validate and format IBANs, VAT numbers, company IDs, tax IDs and national IDs from 85+ countries offline: check digits, length and structure, with a clear reason when invalid.

- **URL**: https://apify.com/msserendipity/id-tax-number-validator.md
- **Developed by:** [MsSerendipity](https://apify.com/msserendipity) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 number validateds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## ID & Tax Number Validator — IBAN, VAT, 236+ formats, 88+ countries

Check whether **IBANs, VAT numbers, company IDs, tax IDs and national ID numbers** are valid, and get them back cleanly formatted. Covers **236 number types from 88 countries**.

Use it to clean CRM and supplier data, check customer input at signup or checkout, prepare invoices, or screen large files before importing them.

### What it checks

For every number it verifies the **length, structure and check digits** using each format's official rules, and tells you **why** a number is invalid:

| reason | meaning |
|---|---|
| `invalid_checksum` | The check digit is wrong (typo or fake number) |
| `invalid_length` | Wrong number of characters |
| `invalid_format` | Invalid characters or wrong structure |
| `invalid_component` | A part is invalid (e.g. date of birth, region or country code) |
| `no_match` | (Auto mode) not valid for any format of that country |

> **Important:** this checks that a number is **correctly formed**. It does **not** confirm that the number is currently registered to a real company or person, which requires official government registries.

### Popular types

| Type code | What it is |
|---|---|
| `iban` | IBAN bank account number (all countries) |
| `bic` | BIC / SWIFT code |
| `eu.vat` | EU VAT number (all EU countries, auto-detects the country) |
| `gb.vat` | UK VAT number |
| `fr.siren` / `fr.siret` | French company IDs |
| `de.idnr` / `de.stnr` | German tax IDs |
| `es.nif` | Spanish tax ID |
| `it.codicefiscale` | Italian fiscal code |
| `br.cpf` / `br.cnpj` | Brazilian personal / company IDs |
| `in.pan` / `in.gstin` / `in.aadhaar` | Indian tax / GST / Aadhaar numbers |
| `us.ssn` / `us.ein` | US Social Security / Employer ID numbers |
| `ma.ice` | Moroccan company ID (ICE) |
| `isbn` / `ean` | Books / product barcodes |

Don't know the exact type? Set the type to **Auto** with a **country** (e.g. `FR`), and every format of that country is tried.

### Input

```json
{
  "numbers": [
    "GB82 WEST 1234 5698 7654 32",
    {"number": "FR40303265045", "type": "eu.vat"},
    {"number": "390.533.447-05", "country": "BR"}
  ],
  "type": "iban"
}
```

- Plain strings use the default **type** (or the default **country** when the type is Auto).
- Objects can set their own `type` or `country`, so you can mix them in one run.

### Output (one row per number)

```json
{
  "input": "GB82 WEST 1234 5698 7654 32",
  "type": "iban",
  "typeName": "IBAN (International Bank Account Number)",
  "country": "GB",
  "valid": true,
  "reason": null,
  "reasonText": null,
  "compact": "GB82WEST12345698765432",
  "formatted": "GB82 WEST 1234 5698 7654 32"
}
```

Invalid example: `"valid": false, "reason": "invalid_checksum", "reasonText": "The check digit is wrong (typo or fake number)."`

### Use it as an API

```bash
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~id-tax-number-validator/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"numbers": ["FR40303265045"], "type": "eu.vat"}'
```

Works from your backend, Excel/Power Automate, n8n, Make or Zapier.

### Pricing

Pay per number checked (valid or invalid). Input errors (an empty value or an unknown type) are not charged.

### Privacy

Everything is checked inside the run, and numbers are never sent to any outside service.

### All supported types

**International / multi-country**

- `bic` BIC (ISO 9362 Business identifier codes)
- `bitcoin` Bitcoin address
- `casrn` CAS RN (Chemical Abstracts Service Registry Number)
- `cfi` CFI (ISO 10962 Classification of Financial Instruments)
- `cusip` CUSIP number (financial security identification number)
- `ean` EAN (International Article Number)
- `eu.at_02` SEPA Identifier of the Creditor (AT-02)
- `eu.banknote` Euro banknote serial numbers
- `eu.ecnumber` EC Number (European Community number)
- `eu.eic` EIC (European Energy Identification Code)
- `eu.excise` European Excise Number
- `eu.nace` NACE (classification for businesses in the European Union)
- `eu.oss` OSS (European VAT on e-Commerce - One Stop Shop)
- `eu.vat` VAT (European Union VAT number)
- `figi` FIGI (Financial Instrument Global Identifier)
- `grid` GRid (Global Release Identifier)
- `gs1_128` GS1-128 (Standard to encode product information in Code 128 barcodes)
- `iban` IBAN (International Bank Account Number)
- `imei` IMEI (International Mobile Equipment Identity)
- `imo` IMO number (International Maritime Organization number)
- `imsi` IMSI (International Mobile Subscriber Identity)
- `isan` ISAN (International Standard Audiovisual Number)
- `isbn` ISBN (International Standard Book Number)
- `isil` ISIL (International Standard Identifier for Libraries)
- `isin` ISIN (International Securities Identification Number)
- `ismn` ISMN (International Standard Music Number)
- `isni` ISNI (International Standard Name Identifier)
- `iso11649` ISO 11649 (Structured Creditor Reference)
- `iso6346` ISO 6346 (International standard for container identification)
- `iso9362` BIC (ISO 9362 Business identifier codes)
- `isrc` ISRC (International Standard Recording Code)
- `issn` ISSN (International Standard Serial Number)
- `lei` LEI (Legal Entity Identifier)
- `mac` MAC address (Media Access Control address)
- `meid` MEID (Mobile Equipment Identifier)
- `vatin` VATIN (International value added tax identification number)

**AD**: `ad.nrt` NRT (Número de Registre Tributari, Andorra tax number)

**AL**: `al.nipt` NIPT, NUIS (Numri i Identifikimit për Personin e Tatueshëm, Albanian tax number)

**AR**: `ar.cbu` CBU (Clave Bancaria Uniforme, Argentine bank account number) · `ar.cuit` CUIT (Código Único de Identificación Tributaria, Argentinian tax number) · `ar.dni` DNI (Documento Nacional de Identidad, Argentinian national identity nr.)

**AT**: `at.businessid` Austrian Company Register Numbers · `at.postleitzahl` Postleitzahl (Austrian postal code) · `at.tin` Abgabenkontonummer (Austrian tax identification number) · `at.uid` UID (Umsatzsteuer-Identifikationsnummer, Austrian VAT number) · `at.vnr` VNR, SVNR, VSNR (Versicherungsnummer, Austrian social security number)

**AU**: `au.abn` ABN (Australian Business Number) · `au.acn` ACN (Australian Company Number) · `au.tfn` TFN (Australian Tax File Number)

**AZ**: `az.voen` VÖEN (Vergi ödəyicisinin eyniləşdirmə nömrəsi, Azerbaijan tax number)

**BE**: `be.bis` BIS (Belgian BIS number) · `be.eid` eID Number (Belgian electronic Identity Card Number) · `be.iban` Belgian IBAN (International Bank Account Number) · `be.nn` NN, NISS, RRN (Belgian national number) · `be.ogm_vcs` Belgian OGM-VCS · `be.ssn` SSN, INSZ, NISS (Belgian social security number) · `be.vat` BTW, TVA, NWSt, ondernemingsnummer (Belgian enterprise number)

**BG**: `bg.egn` EGN (ЕГН, Единен граждански номер, Bulgarian personal identity codes) · `bg.pnf` PNF (ЛНЧ, Личен номер на чужденец, Bulgarian number of a foreigner) · `bg.vat` VAT (Идентификационен номер по ДДС, Bulgarian VAT number)

**BR**: `br.cnpj` CNPJ (Cadastro Nacional da Pessoa Jurídica, Brazilian company identifier) · `br.cpf` CPF (Cadastro de Pessoas Físicas, Brazilian national identifier)

**BY**: `by.unp` УНП, UNP (Учетный номер плательщика, the Belarus VAT number)

**CA**: `ca.bc_phn` BC PHN (British Columbia Personal Health Number) · `ca.bn` BN (Canadian Business Number) · `ca.sin` SIN (Canadian Social Insurance Number)

**CH**: `ch.esr` ESR, ISR, QR-reference (reference number on Swiss payment slips) · `ch.ssn` Swiss social security number ("Sozialversicherungsnummer") · `ch.uid` UID (Unternehmens-Identifikationsnummer, Swiss business identifier) · `ch.vat` VAT, MWST, TVA, IVA, TPV (Mehrwertsteuernummer, the Swiss VAT number)

**CL**: `cl.rut` RUT (Rol Único Tributario, Chilean national tax number)

**CN**: `cn.ric` RIC No. (Chinese Resident Identity Card Number) · `cn.uscc` USCC (Unified Social Credit Code, 统一社会信用代码, China tax number)

**CO**: `co.nit` NIT (Número De Identificación Tributaria, Colombian identity code)

**CR**: `cr.cpf` CPF (Cédula de Persona Física, Costa Rica physical person ID number) · `cr.cpj` CPJ (Cédula de Persona Jurídica, Costa Rica tax number) · `cr.cr` CR (Cédula de Residencia, Costa Rica foreigners ID number)

**CU**: `cu.ni` NI (Número de identidad, Cuban identity card numbers)

**CY**: `cy.vat` Αριθμός Εγγραφής Φ.Π.Α. (Cypriot VAT number)

**CZ**: `cz.bankaccount` Czech bank account number · `cz.dic` DIČ (Daňové identifikační číslo, Czech VAT number) · `cz.rc` RČ (Rodné číslo, the Czech birth number)

**DE**: `de.handelsregisternummer` Handelsregisternummer (German company register number) · `de.idnr` IdNr (Steuerliche Identifikationsnummer, German personal tax number) · `de.leitweg` Leitweg-ID, a buyer reference or routing identifier for electronic invoices · `de.stnr` St.-Nr. (Steuernummer, German tax number) · `de.vat` Ust ID Nr. (Umsatzsteur Identifikationnummer, German VAT number) · `de.wkn` Wertpapierkennnummer (German securities identification code)

**DK**: `dk.cpr` CPR (personnummer, the Danish citizen number) · `dk.cvr` CVR (Momsregistreringsnummer, Danish VAT number)

**DO**: `do.cedula` Cedula (Dominican Republic national identification number) · `do.ncf` NCF (Números de Comprobante Fiscal, Dominican Republic receipt number) · `do.rnc` RNC (Registro Nacional del Contribuyente, Dominican Republic tax number)

**DZ**: `dz.nif` NIF, sometimes N.I.F. (Numéro d'Identification Fiscale, Algeria tax number)

**EC**: `ec.ci` CI (Cédula de identidad, Ecuadorian personal identity code) · `ec.ruc` RUC (Registro Único de Contribuyentes, Ecuadorian company tax number)

**EE**: `ee.ik` Isikukood (Estonian Personal ID number) · `ee.kmkr` KMKR (Käibemaksukohuslase, Estonian VAT number) · `ee.registrikood` Registrikood (Estonian organisation registration code)

**EG**: `eg.tn` Tax Registration Number (الرقم الضريبي, Egypt tax number)

**ES**: `es.cae` CAE (Código de Actividad y Establecimiento, Spanish activity establishment code) · `es.ccc` CCC (Código Cuenta Corriente, Spanish Bank Account Code) · `es.cif` CIF (Código de Identificación Fiscal, Spanish company tax number) · `es.cups` CUPS (Código Unificado de Punto de Suministro, Spanish meter point number) · `es.dni` DNI (Documento Nacional de Identidad, Spanish personal identity codes) · `es.iban` Spanish IBAN (International Bank Account Number) · `es.nie` NIE (Número de Identificación de Extranjero, Spanish foreigner number) · `es.nif` NIF (Número de Identificación Fiscal, Spanish VAT number) · `es.postal_code` Postcode (the Spanish postal code) · `es.referenciacatastral` Referencia Catastral (Spanish real estate property id)

**FI**: `fi.alv` ALV nro (Arvonlisäveronumero, Finnish VAT number) · `fi.associationid` Finnish Association Identifier · `fi.hetu` HETU (Henkilötunnus, Finnish personal identity code) · `fi.veronumero` Veronumero (Finnish individual tax number) · `fi.ytunnus` Y-tunnus (Finnish business identifier)

**FO**: `fo.vn` V-number (Vinnutal, Faroe Islands tax number)

**FR**: `fr.accise` n° d'accise (French number to identify taxpayers of excise taxes) · `fr.nif` NIF (Numéro d'Immatriculation Fiscale, French tax identification number) · `fr.nir` NIR (French personal identification number) · `fr.rcs` RCS (French trade registration number for commercial companies) · `fr.siren` SIREN (a French company identification number) · `fr.siret` SIRET (a French company establishment identification number) · `fr.tva` n° TVA (taxe sur la valeur ajoutée, French VAT number)

**GB**: `gb.nhs` NHS (United Kingdom National Health Service patient identifier) · `gb.sedol` SEDOL number (Stock Exchange Daily Official List number) · `gb.upn` UPN (English Unique Pupil Number) · `gb.utr` UTR (United Kingdom Unique Taxpayer Reference) · `gb.vat` VAT (United Kingdom (and Isle of Man) VAT registration number)

**GH**: `gh.tin` TIN (Taxpayer Identification Number, Ghana tax number)

**GN**: `gn.nifp` NIFp (Numéro d'Identification Fiscale Permanent, Guinea tax number)

**GR**: `gr.amka` AMKA (Αριθμός Μητρώου Κοινωνικής Ασφάλισης, Greek social security number) · `gr.vat` FPA, ΦΠΑ, ΑΦΜ (Αριθμός Φορολογικού Μητρώου, the Greek VAT number)

**GT**: `gt.nit` NIT (Número de Identificación Tributaria, Guatemala tax number)

**HR**: `hr.oib` OIB (Osobni identifikacijski broj, Croatian identification number)

**HU**: `hu.anum` ANUM (Közösségi adószám, Hungarian VAT number)

**ID**: `id.nik` NIK (Nomor Induk Kependudukan, Indonesian identity number) · `id.npwp` NPWP (Nomor Pokok Wajib Pajak, Indonesian VAT Number)

**IE**: `ie.pps` PPS No (Personal Public Service Number, Irish personal number) · `ie.vat` VAT (Irish tax reference number)

**IL**: `il.hp` Company Number (מספר חברה, or short ח.פ. Israeli company number) · `il.idnr` Identity Number (Mispar Zehut, מספר זהות, Israeli identity number)

**IN**: `in.aadhaar` Aadhaar (Indian personal identity number) · `in.epic` EPIC (Electoral Photo Identity Card, Indian Voter ID) · `in.gstin` GSTIN (Goods and Services Tax identification number, Indian VAT number) · `in.pan` PAN (Permanent Account Number, Indian income tax identifier) · `in.vid` VID (Indian personal virtual identity number)

**IS**: `is.kennitala` Kennitala (Icelandic personal and organisation identity code) · `is.vsk` VSK number (Virðisaukaskattsnúmer, Icelandic VAT number)

**IT**: `it.aic` AIC (Italian code for identification of drugs) · `it.codicefiscale` Codice Fiscale (Italian tax code for individuals) · `it.iva` Partita IVA (Italian VAT number)

**JP**: `jp.cn` CN (法人番号, hōjin bangō, Japanese Corporate Number) · `jp.in` IN (個人番号, kojin bangō, Japanese Individual Number)

**KE**: `ke.pin` PIN (Personal Identification Number, Kenya tax number)

**KR**: `kr.brn` BRN (사업자 등록 번호, South Korea Business Registration Number) · `kr.rrn` RRN (South Korean resident registration number)

**LI**: `li.peid` PEID (Liechtenstein tax code for individuals and entities)

**LT**: `lt.asmens` Asmens kodas (Lithuanian, personal numbers) · `lt.pvm` PVM (Pridėtinės vertės mokestis mokėtojo kodas, Lithuanian VAT number)

**LU**: `lu.tva` TVA (taxe sur la valeur ajoutée, Luxembourgian VAT number)

**LV**: `lv.pvn` PVN (Pievienotās vērtības nodokļa, Latvian VAT number)

**MA**: `ma.ice` ICE (Identifiant Commun de l’Entreprise, التعريف الموحد للمقاولة, Morocco tax number)

**MC**: `mc.tva` n° TVA (taxe sur la valeur ajoutée, Monacan VAT number)

**MD**: `md.idno` IDNO (Moldavian company identification number)

**ME**: `me.iban` Montenegro IBAN (International Bank Account Number) · `me.pib` PIB (Poreski Identifikacioni Broj, Montenegro tax number)

**MK**: `mk.edb` ЕДБ (Едниствен Даночен Број, North Macedonia tax number)

**MT**: `mt.vat` VAT (Maltese VAT number)

**MU**: `mu.nid` ID number (Mauritian national identifier)

**MX**: `mx.curp` CURP (Clave Única de Registro de Población, Mexican personal ID) · `mx.rfc` RFC (Registro Federal de Contribuyentes, Mexican tax number)

**MY**: `my.nric` NRIC No. (Malaysian National Registration Identity Card Number)

**MZ**: `mz.nuit` NUIT (Número Único de Identificação Tributaria, Mozambique tax number)

**NL**: `nl.brin` BRIN number (the Dutch school identification number) · `nl.bsn` BSN (Burgerservicenummer, the Dutch citizen identification number) · `nl.btw` Btw-identificatienummer (Omzetbelastingnummer, the Dutch VAT number) · `nl.identiteitskaartnummer` Identiteitskaartnummer, Paspoortnummer (the Dutch passport number) · `nl.onderwijsnummer` Onderwijsnummer (the Dutch student identification number) · `nl.postcode` Postcode (the Dutch postal code)

**NO**: `no.fodselsnummer` Fødselsnummer (Norwegian birth number, the national identity number) · `no.iban` Norwegian IBAN (International Bank Account Number) · `no.kontonr` Konto nr. (Norwegian bank account number) · `no.mva` MVA (Merverdiavgift, Norwegian VAT number) · `no.orgnr` Orgnr (Organisasjonsnummer, Norwegian organisation number)

**NZ**: `nz.bankaccount` New Zealand bank account number · `nz.ird` IRD number (New Zealand Inland Revenue Department (Te Tari Tāke) number)

**PE**: `pe.cui` CUI (Cédula Única de Identidad, Peruvian identity number) · `pe.ruc` RUC (Registro Único de Contribuyentes, Peruvian company tax number)

**PK**: `pk.cnic` CNIC number (Pakistani Computerised National Identity Card number)

**PL**: `pl.nip` NIP (Numer Identyfikacji Podatkowej, Polish VAT number) · `pl.pesel` PESEL (Polish national identification number) · `pl.regon` REGON (Rejestr Gospodarki Narodowej, Polish register of economic units)

**PT**: `pt.cc` CC (Número de Cartão de Cidadão, Portuguese Identity number) · `pt.nif` NIF (Número de identificação fiscal, Portuguese VAT number)

**PY**: `py.ruc` RUC number (Registro Único de Contribuyentes, Paraguay tax number)

**RO**: `ro.cf` CF (Cod de înregistrare în scopuri de TVA, Romanian VAT number) · `ro.cnp` CNP (Cod Numeric Personal, Romanian Numerical Personal Code) · `ro.cui` CUI or CIF (Codul Unic de Înregistrare, Romanian company identifier) · `ro.onrc` ONRC (Ordine din Registrul Comerţului, Romanian Trade Register identifier)

**RS**: `rs.pib` PIB (Poreski Identifikacioni Broj, Serbian tax identification number)

**RU**: `ru.inn` ИНН (Идентификационный номер налогоплательщика, Russian tax identifier) · `ru.ogrn` ОГРН, OGRN, PSRN, ОГРНИП, OGRNIP (Russian Primary State Registration Number)

**SE**: `se.orgnr` Orgnr (Organisationsnummer, Swedish company number) · `se.personnummer` Personnummer (Swedish personal identity number) · `se.postnummer` Postcode (the Swedish postal code) · `se.vat` VAT (Moms, Mervärdesskatt, Swedish VAT number)

**SG**: `sg.uen` UEN (Singapore's Unique Entity Number)

**SI**: `si.ddv` ID za DDV (Davčna številka, Slovenian VAT number) · `si.emso` Enotna matična številka občana (Unique Master Citizen Number) · `si.maticna` Matična številka poslovnega registra (Corporate Registration Number)

**SK**: `sk.dph` IČ DPH (IČ pre daň z pridanej hodnoty, Slovak VAT number) · `sk.rc` RČ (Rodné číslo, the Slovak birth number)

**SM**: `sm.coe` COE (Codice operatore economico, San Marino national tax number)

**SN**: `sn.ninea` NINEA (Numéro d'Identification Nationale des Entreprises et Associations, Senegal tax number)

**SV**: `sv.nit` NIT (Número de Identificación Tributaria, El Salvador tax number)

**TH**: `th.moa` MOA (Thailand Memorandum of Association Number) · `th.pin` PIN (Thailand Personal Identification Number) · `th.tin` TIN (Thailand Taxpayer Identification Number)

**TN**: `tn.mf` MF (Matricule Fiscal, Tunisia tax number)

**TR**: `tr.tckimlik` T.C. Kimlik No. (Turkish personal identification number) · `tr.vkn` VKN (Vergi Kimlik Numarası, Turkish tax identification number)

**TW**: `tw.ubn` UBN (Unified Business Number, 統一編號, Taiwanese tax number)

**UA**: `ua.edrpou` ЄДРПОУ, EDRPOU (Identifier for enterprises and organizations in Ukraine) · `ua.rntrc` РНОКПП, RNTRC (Individual taxpayer registration number in Ukraine)

**US**: `us.atin` ATIN (U.S. Adoption Taxpayer Identification Number) · `us.ein` EIN (U.S. Employer Identification Number) · `us.itin` ITIN (U.S. Individual Taxpayer Identification Number) · `us.ptin` PTIN (U.S. Preparer Tax Identification Number) · `us.rtn` RTN (Routing transport number) · `us.ssn` SSN (U.S. Social Security Number) · `us.tin` TIN (U.S. Taxpayer Identification Number)

**UY**: `uy.rut` RUT (Registro Único Tributario, Uruguay tax number)

**VE**: `ve.rif` RIF (Registro de Identificación Fiscal, Venezuelan VAT number)

**VN**: `vn.mst` MST (Mã số thuế, Vietnam tax number)

**ZA**: `za.idnr` ID number (South African Identity Document number) · `za.tin` TIN (South African Tax Identification Number)

# Actor input Schema

## `numbers` (type: `array`):

Numbers to check. Strings use the default type/country below, or objects like {"number": "FR40303265045", "type": "eu.vat"} or {"number": "390.533.447-05", "country": "BR"}.

## `type` (type: `string`):

What kind of number to check, e.g. IBAN, EU VAT, a country's tax or company ID. Choose 'Auto (by country)' to try every format of the country below.

## `country` (type: `string`):

Two-letter country code (e.g. FR, MA, BR, IN) used when the type is 'Auto'.

## Actor input object example

```json
{
  "numbers": [
    "GB82 WEST 1234 5698 7654 32",
    {
      "number": "FR40303265045",
      "type": "eu.vat"
    },
    {
      "number": "390.533.447-05",
      "country": "BR"
    }
  ],
  "type": "iban"
}
```

# Actor output Schema

## `results` (type: `string`):

All results (JSON).

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "numbers": [
        "GB82 WEST 1234 5698 7654 32",
        {
            "number": "FR40303265045",
            "type": "eu.vat"
        },
        {
            "number": "390.533.447-05",
            "country": "BR"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("msserendipity/id-tax-number-validator").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "numbers": [
        "GB82 WEST 1234 5698 7654 32",
        {
            "number": "FR40303265045",
            "type": "eu.vat",
        },
        {
            "number": "390.533.447-05",
            "country": "BR",
        },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("msserendipity/id-tax-number-validator").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "numbers": [
    "GB82 WEST 1234 5698 7654 32",
    {
      "number": "FR40303265045",
      "type": "eu.vat"
    },
    {
      "number": "390.533.447-05",
      "country": "BR"
    }
  ]
}' |
apify call msserendipity/id-tax-number-validator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,msserendipity/id-tax-number-validator"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/rSvH2d8nyYJby6rhZ/builds/BTBrZsZxSSRt7MCed/openapi.json
