VAT Number Validation & EU rates API

VAT Number Validation & EU rates API

Simplify compliance with our VAT Number Validation API – seamless verification for accurate business transactions

Overview

AnyAPI’s VAT Validation API is a fast, lightweight, modern, and RESTful JSON API that allows you to stay compliant for all your domestic and cross-border sales.

Supported Countries

  • EU Countries: Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden and Northern Ireland
  • Non-EU Countries: United Kingdom (GB), Switzerland (CH, CHE), Norway (NO)

Features

  • VAT number and format validation: VAT validation API can validate the format and structure of a VAT number to ensure it is valid.
  • Real-time Company name and address validation: The API can retrieve and validate the company name and address associated with a VAT number.
  • Country code results: The API provides the country name and ISO country codes (short, long, and numeric) for the VAT number.
  • High availability and ultra-low latency for the best user experience: VAT number check API is designed to provide a seamless user experience with high availability and ultra-low latency.

Getting Started

To access the VAT Validation API , you need to obtain an API key from AnyAPI.io. The API key is used for authentication and should be included in the request URL as a query parameter.

Let’s Try Sign In.

Supported Countries List with Rates

Below is the list of countries supported by the VAT validation endpoints:

CountryStandard RateCurrencyType
AE0.05%AEDvat
AI0.13%XCDgst
AL0.20%ALLvat
AM0.20%AMDvat
AO0.14%AOAvat
AR0.21%ARSvat
AT0.20%EURvat
AU0.10%AUDgst
AW0.13%AWGvat
AZ0.18%AZNvat
BA0.17%BAMvat
BB0.17%BBDvat
BE0.21%EURvat
BG0.20%BGNvat
BH0.05%BHDvat
BO0.15%BOBvat
BR0.17%BRLvat
BS0.12%BSDvat
BW0.14%BWPvat
BY0.20%BYNvat
CA0.05%CADgst
CH0.08%CHFvat
CL0.19%CLPvat
CN0.13%CNYvat
CO0.19%COPvat
CR0.13%CRCvat
CW0.06%ANGvat
CY0.19%EURvat
CZ0.21%CZKvat
DE0.19%EURvat
DK0.25%DKKvat
DO0.18%DOPvat
DZ0.19%DZDvat
EC0.12%USDvat
EE0.22%EURvat
EG0.14%EGPvat
ER0.05%ERNvat
ES0.21%EURvat
FI0.24%EURvat
FR0.20%EURvat
GB0.20%GBPvat
GE0.18%GELvat
GH0.15%GHSvat
GR0.24%EURvat
GT0.12%GTQvat
HN0.15%HNLvat
HR0.25%EURvat
HU0.27%HUFvat
ID0.11%IDRvat
IE0.23%EURvat
IL0.17%ILSvat
IM0.20%GBPvat
IN0.18%INRgst
IS0.24%ISKvat
IT0.22%EURvat
JE0.05%GBPvat
JO0.16%JODvat
JP0.10%JPYvat
KE0.16%KESvat
KR0.10%KRWvat
KW0.05%KWDvat
KZ0.12%KZTvat
LB0.11%LBPvat
LC0.13%XCDvat
LI0.08%CHFvat
LK0.12%LKRvat
LT0.21%EURvat
LU0.17%EURvat
LV0.21%EURvat
MA0.20%MADvat
MC0.20%EURvat
MD0.20%MDLvat
MG0.20%MGAvat
MK0.18%MKDvat
MM0.05%MMKvat
MN0.10%MNTvat
MT0.18%EURvat
MU0.15%MURvat
MV0.08%MVRgst
MX0.16%MXNvat
MY0.10%MYRvat
NA0.15%NADvat
NG0.07%NGNvat
NI0.15%NIOvat
NL0.21%EURvat
NO0.25%NOKvat
NZ0.15%NZDgst
OM0.05%OMRvat
PA0.07%USDvat
PE0.18%PENvat
PG0.10%PGKvat
PH0.12%PHPvat
PK0.17%PKRvat
PL0.23%PLNvat
PR0.12%USDvat
PT0.23%EURvat
PY0.10%PYGvat
QA0.05%QARvat
RO0.19%RONvat
RS0.20%RSDvat
RU0.20%RUBvat
RW0.18%RWFvat
SA0.15%SARvat
SC0.15%SCRvat
SE0.25%SEKvat
SG0.09%SGDgst
SI0.22%EURvat
SK0.20%EURvat
SR0.15%SRDvat
SV0.13%USDvat
TH0.10%THBvat
TN0.19%TNDvat
TR0.20%TRYvat
TT0.13%TTDvat
TW0.05%TWDvat
TZ0.18%TZSvat
UA0.20%UAHvat
UG0.18%UGXvat
US0.00%USDnone
UY0.22%UYUvat
UZ0.12%UZSvat
VE0.16%VESvat
VN0.10%VNDvat
XK0.18%EURvat
ZA0.15%ZARvat
ZM0.16%ZMWvat
ZW0.15%USDvat

Process the price including sales tax endpoint

Send a GET request to the following URL to Process the price including sales tax

curl --request GET \
  --url 'https://anyapi.io/api/v1/vat/calculate?country_code=FR&vat_number=FR50833085806&amount=100&state_code=null&apiKey=YOUR_API_KEY'
{
  "type": "vat",
  "rate": 0.2,
  "currency": "EUR",
  "area": "national",
  "exchange": "business",
  "price": 100,
  "total": 120,
  "charge": {
    "direct": true,
    "reverse": false
  },
  "details": [
    {
      "type": "vat"
    },
    {
      "rate": 0.2
    }
  ]
}

Request parameters

Use the parameters listed below to customize your request. Mandatory parameters are indicated

country_codestringRequired
The country code (e.g., "US", "FR") where the tax is applicable.
vat_numberstringOptional
The VAT ID.
amountnumberRequired
The original amount before tax.
state_codestringOptional
The postal code to refine the tax calculation, especially for regions with specific rates.
apiKeystringRequired
Your unique API key, which is required to authenticate your requests.

Response parameters

The API returns its response in a simple, lightweight JSON format.

typestring
Indicates the tax type is VAT.
ratenumber
The VAT rate applicable is 0%, due to a reverse charge.
currencystring
The currency code of country.
areastring
Defines the geographical scope, such as "worldwide" or "regional".
exchangestring
Specifies the transaction type, like "consumer" or "business".
pricenumber
The original price before tax.
totalnumber
The total amount including sales tax.

Get the latest VAT rates endpoint

Send a GET request to the following URL to Get the latest VAT rates

curl --request GET \
  --url 'https://anyapi.io/api/v1/vat/rates?country_code=FR&vat_number=FR50833085806&apiKey=YOUR_API_KEY'
{
  "type": "vat",
  "rate": 0.2,
  "currency": "EUR",
  "area": "national",
  "exchange": "business",
  "charge": {
    "direct": true,
    "reverse": false
  },
  "details": [
    {
      "type": "vat"
    },
    {
      "rate": 0.2
    }
  ]
}

Request parameters

Use the parameters listed below to customize your request. Mandatory parameters are indicated

country_codestringRequired
The country code (e.g., "US", "FR") where the tax is applicable.
vat_numberstringOptional
The VAT ID.
apiKeystringRequired
Your unique API key, which is required to authenticate your requests.

Response parameters

The API returns its response in a simple, lightweight JSON format.

typestring
Indicates the tax type is VAT.
rateboolean
The VAT rate applicable is 0%, due to a reverse charge.
currencystring
The currency code of country.
areastring
Defines the geographical scope, such as "worldwide" or "regional".
exchangestring
Specifies the transaction type, like "consumer" or "business".

VAT number validation endpoint

Send a GET request to the following URL to VAT number validation

curl --request GET \
  --url 'https://anyapi.io/api/v1/vat/validate?vat_number=NL853746333B01&apiKey=YOUR_API_KEY'
{
  "valid": true,
  "validFormat": true,
  "vatNumber": "NL853746333B01",
  "country": {
    "name": "Netherlands",
    "isoCode": {
      "short": "NL",
      "long": "NLD",
      "numeric": "528"
    }
  },
  "company": {
    "name": "NETFLIX INTERNATIONAL B.V.",
    "address": ", KARPERSTRAAT 00010, 1075KZ AMSTERDAM, "
  }
}

Request parameters

Use the parameters listed below to customize your request. Mandatory parameters are indicated

vat_numberstringRequired
VAT Number
apiKeystringRequired
Your unique API key, which is required to authenticate your requests.

Response parameters

The API returns its response in a simple, lightweight JSON format.

validboolean
Is true if the submitted VAT number is valid.
validFormatboolean
Is true if the submitted VAT number format is valid.
vatNumberstring
The VAT number to validate.
countryobject
The name and iso code of the country associated with the VAT number.
companyobject
The name and address of the company associated with the VAT number.

Response and error codes

Whenever you make a request that fails for some reason, an error is returned also in the JSON format. The errors include an error code and description, which you can find in detail below.

Status CodeTypeDetails
200OKThe request was successful.
400Bad RequestThe request was invalid or cannot be otherwise served.
401UnauthorizedAuthentication credentials were missing or incorrect.
422Quota reachedThe request cannot be served due to the application's rate limit having been exhausted for the resource.
404Not FoundThe requested resource could not be found.
429Too Many RequestsThe request cannot be served due to the application's rate limit having been exhausted for the resource.
500Internal Server ErrorSomething went wrong on the server.
503Service UnavailableThe service is temporarily unavailable.