VAT Verification
Validate and verify VAT numbers for EU countries, Switzerland, Norway, Iceland and United Kingdom.
Endpoints
The API is available as GET
and POST
endpoint.
GET/v1/vat-verification
curl -X GET https://api.apistax.io/v1/vat-verification?vatId=ATU16370905 \
-H 'Authorization: Bearer API_KEY_HERE'
POST/v1/vat-verification
curl -X POST https://api.apistax.io/v1/vat-verification \
-H 'Authorization: Bearer API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{ "vatId": "ATU16370905" }'
Response
Both endpoints return a application/json
response. For example, the response for the VAT number of the Austrian Red
Cross looks like this:
{
"valid": true,
"name": "Österreichisches Rotes Kreuz",
"address": "Wiedner Hauptstraße 32, AT-1040 Wien",
"countryCode": "AT"
}
The value valid
indicates whether the respective entity is listed in the associated state database and marked as
active. If the format of the VAT number is not correct, an error is returned. More about this in the
section Possible errors.
The name
and address
values are optional. If available, the official name and address where the company is
registered will be returned here.
As countryCode
the respective country with which the VAT number is associated is returned
as ISO 3166-1 alpha-2 code.
Caution: The Greek VAT number starts with EL
. However, the official ISO 3166-1 country code GR
is returned.
Parameter
vatId: String
VAT numbers for the following countries are supported in the specified formats:
Country | Code | VAT number formats | Description |
---|---|---|---|
Austria | AT | ATU99999999 | AT followed by a U and 8 digits |
Belgium | BE | BE9999999999 | BE followed by 10 digits |
Bulgaria | BG | BG999999999 BG9999999999 |
BG followed by 9 or 10 digits |
Cyprus | CY | CYCCCCCCCCC | CY followed by 9 characters |
Czech Republic | CZ | CZ99999999 CZ999999999 CZ9999999999 |
CZ followed by 8, 9 or 10 digits |
Germany | DE | DE999999999 | DE followed by 9 digits |
Denmark | DK | DK99999999 | DK followed by 8 digits |
Estonia | EE | EE999999999 | EE followed by 9 digits |
Greece | GR | EL999999999 | EL followed by 9 digits |
Spain | ES | ESC9999999C | ES followed by 1 character, 7 digits and 1 character |
Finland | FI | FI99999999 | FI followed by 8 digits |
France | FR | FRCC999999999 | FR followed by 2 characters and 9 digits |
Croatia | HR | HR99999999999 | HR followed by 11 digits |
Hungary | HU | HU99999999 | HU followed by 8 digits |
Ireland | IE | IECCCCCCCC IECCCCCCCCC |
IE followed by 8 or 9 characters |
Italy | IT | IT99999999999 | IT followed by 11 digits |
Lithuania | LT | LT999999999 LT999999999999 |
LT followed by 9 or 12 digits |
Luxembourg | LU | LU99999999 | LU followed by 8 digits |
Latvia | LV | LV99999999999 | LV followed by 11 digits |
Malta | MT | MT99999999 | MT followed by 8 digits |
The Netherlands | NL | NLCCCCCCCCCCCC | NL followed by 12 characters |
Poland | PL | PL9999999999 | PL followed by 10 digits |
Portugal | PT | PT999999999 | PT followed by 9 digits |
Romania | RO | RO99 RO999999999 |
RO followed by 2 to 10 digits |
Sweden | SE | SE999999999999 | SE followed by 12 digits |
Slovenia | SI | SI99999999 | SI followed by 8 digits |
Slovakia | SK | SK9999999999 | SK followed by 10 digits |
Northern Ireland | GB | XI999999999 XI999999999999 XICCCCC |
XI followed by 9 or 12 digits or 5 characters |
Switzerland | CH | CHE-999.999.999 TVA CHE-999.999.999.999 MWST |
CHE followed by 3 or 4 blocks of 3 digits suffixed with TVA , MWST or IVA |
Iceland | IS | 99999 999999 |
5 or 6 digits |
Norway | NO | 999999999MVA | 9 digits suffixed with MVA |
United Kingdom | GB | 999999999 999999999999 GB999999999 GB999999999999 |
9 or 12 digits Prefixed with GB for the legacy EU based VAT number |
Remarks:
9
: A digit between 0 and 9C
: A uppercase letter or a digit between 0 and 9
Possible errors
Identifier | Description |
---|---|
message.vatIdMustHaveValidFormat |
The vatId parameter must be specified in the correct format as described in the Parameter section. |
message.vatIdMustNotBeBlank |
Parameter vatId is required and must not be blank. |
message.stateDatabaseCurrentlyNotAvailable |
The corresponding state VAT database is currently unavailable. Please retry the request at a later time. |
It should be noted that there are a number of common error messages, which can be found in the "Possible errors" section of the general documentation.