← APIs / VIES EU VAT Validation
Verified

VIES EU VAT Validation

Apiosk Basicsby Apiosk Basics · General

Validate EU and XI VAT numbers and inspect VIES service availability. Names and addresses depend on national availability.

financeapi
Price per request
$0.10
About

Validate EU and XI VAT numbers and inspect VIES service availability. Names and addresses depend on national availability.

Base URL
https://gateway.apiosk.com/vies
Technical Specs
Auth Methodnone
Response FormatJSON
Endpoints3
Endpoints
MethodPathDescriptionCost
GET /taxation_customs/vies/rest-api/check-status Inspect VIES and national VAT service availability
$0.10 default
View details
POST /taxation_customs/vies/rest-api/check-vat-number Check VAT registration with optional requester identification
$0.10 default
View details
GET /taxation_customs/vies/rest-api/ms/{cc}/vat/{nr} Validate a VAT number using VIES
$0.10 default
View details
Endpoint documentation
GET/taxation_customs/vies/rest-api/check-status
$0.10 default
Description

Inspect VIES and national VAT service availability

Documentation

Inspect VIES and national VAT service availability

Validate EU and XI VAT numbers and inspect VIES service availability. Names and addresses depend on national availability.

Pricing
$0.10 default
Parameters
{
  "properties": {},
  "required": [],
  "type": "object"
}
Request schema
{
  "properties": {},
  "required": [],
  "type": "object"
}
Response schema
{
  "properties": {
    "coverage": {
      "properties": {
        "complete": {
          "type": "boolean"
        },
        "scope": {
          "description": "Scope of the returned response",
          "maxLength": 2000,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "complete",
        "scope"
      ],
      "type": "object"
    },
    "data": {
      "properties": {
        "countries": {
          "items": {
            "properties": {
              "availability": {
                "description": "National service availability",
                "maxLength": 200,
                "minLength": 1,
                "type": "string"
              },
              "countryCode": {
                "description": "VIES member-state code; Greece EL, Northern Ireland XI.",
                "enum": [
                  "AT",
                  "BE",
                  "BG",
                  "CY",
                  "CZ",
                  "DE",
                  "DK",
                  "EE",
                  "EL",
                  "ES",
                  "FI",
                  "FR",
                  "HR",
                  "HU",
                  "IE",
                  "IT",
                  "LT",
                  "LU",
                  "LV",
                  "MT",
                  "NL",
                  "PL",
                  "PT",
                  "RO",
                  "SE",
                  "SI",
                  "SK",
                  "XI"
                ],
                "maxLength": 2,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "countryCode",
              "availability"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "vow": {
          "properties": {
            "available": {
              "type": "boolean"
            }
          },
          "required": [
            "available"
          ],
          "type": "object"
        }
      },
      "required": [
        "vow",
        "countries"
      ],
      "type": "object"
    },
    "notice": {
      "description": "Source limitations",
      "maxLength": 2000,
      "minLength": 1,
      "type": "string"
    },
    "source_url": {
      "description": "Exact upstream request URL",
      "maxLength": 20000,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "data",
    "source_url",
    "notice",
    "coverage"
  ],
  "type": "object"
}
Example request
{}
Example response
{
  "coverage": {
    "complete": false,
    "scope": "One bounded upstream response per purchased call"
  },
  "data": {
    "countries": [
      {
        "availability": "Available",
        "countryCode": "AT"
      },
      {
        "availability": "Available",
        "countryCode": "BE"
      },
      {
        "availability": "Available",
        "countryCode": "BG"
      },
      {
        "availability": "Available",
        "countryCode": "CY"
      },
      {
        "availability": "Available",
        "countryCode": "CZ"
      },
      {
        "availability": "Available",
        "countryCode": "DE"
      },
      {
        "availability": "Available",
        "countryCode": "DK"
      },
      {
        "availability": "Available",
        "countryCode": "EE"
      },
      {
        "availability": "Available",
        "countryCode": "EL"
      },
      {
        "availability": "Available",
        "countryCode": "ES"
      },
      {
        "availability": "Available",
        "countryCode": "FI"
      },
      {
        "availability": "Available",
        "countryCode": "FR"
      },
      {
        "availability": "Available",
        "countryCode": "HR"
      },
      {
        "availability": "Available",
        "countryCode": "HU"
      },
      {
        "availability": "Available",
        "countryCode": "IE"
      },
      {
        "availability": "Available",
        "countryCode": "IT"
      },
      {
        "availability": "Available",
        "countryCode": "LT"
      },
      {
        "availability": "Available",
        "countryCode": "LU"
      },
      {
        "availability": "Available",
        "countryCode": "LV"
      },
      {
        "availability": "Available",
        "countryCode": "MT"
      },
      {
        "availability": "Available",
        "countryCode": "NL"
      },
      {
        "availability": "Available",
        "countryCode": "PL"
      },
      {
        "availability": "Available",
        "countryCode": "PT"
      },
      {
        "availability": "Available",
        "countryCode": "RO"
      },
      {
        "availability": "Available",
        "countryCode": "SE"
      },
      {
        "availability": "Available",
        "countryCode": "SI"
      },
      {
        "availability": "Available",
        "countryCode": "SK"
      },
      {
        "availability": "Available",
        "countryCode": "XI"
      }
    ],
    "vow": {
      "available": true
    }
  },
  "notice": "VIES service availability at the request time; this does not validate a VAT number.",
  "source_url": "https://ec.europa.eu/taxation_customs/vies/rest-api/check-status"
}
POST/taxation_customs/vies/rest-api/check-vat-number
$0.10 default
Description

Check VAT registration with optional requester identification

Documentation

Check VAT registration with optional requester identification

Validate EU and XI VAT numbers and inspect VIES service availability. Names and addresses depend on national availability.

Pricing
$0.10 default
Parameters
{
  "properties": {},
  "required": [],
  "type": "object"
}
Request schema
{
  "properties": {
    "countryCode": {
      "description": "VIES member-state code; Greece EL, Northern Ireland XI.",
      "enum": [
        "AT",
        "BE",
        "BG",
        "CY",
        "CZ",
        "DE",
        "DK",
        "EE",
        "EL",
        "ES",
        "FI",
        "FR",
        "HR",
        "HU",
        "IE",
        "IT",
        "LT",
        "LU",
        "LV",
        "MT",
        "NL",
        "PL",
        "PT",
        "RO",
        "SE",
        "SI",
        "SK",
        "XI"
      ],
      "maxLength": 2,
      "minLength": 1,
      "type": "string",
      "x-parameter-location": "body"
    },
    "requesterMemberStateCode": {
      "description": "VIES member-state code; Greece EL, Northern Ireland XI.",
      "enum": [
        "AT",
        "BE",
        "BG",
        "CY",
        "CZ",
        "DE",
        "DK",
        "EE",
        "EL",
        "ES",
        "FI",
        "FR",
        "HR",
        "HU",
        "IE",
        "IT",
        "LT",
        "LU",
        "LV",
        "MT",
        "NL",
        "PL",
        "PT",
        "RO",
        "SE",
        "SI",
        "SK",
        "XI"
      ],
      "maxLength": 2,
      "minLength": 1,
      "type": "string",
      "x-parameter-location": "body"
    },
    "requesterNumber": {
      "description": "VAT number without country prefix or punctuation.",
      "maxLength": 14,
      "minLength": 1,
      "pattern": "^[A-Z0-9]{1,14}$",
      "type": "string",
      "x-parameter-location": "body"
    },
    "vatNumber": {
      "description": "VAT number without country prefix or punctuation.",
      "maxLength": 14,
      "minLength": 1,
      "pattern": "^[A-Z0-9]{1,14}$",
      "type": "string",
      "x-parameter-location": "body"
    }
  },
  "required": [
    "countryCode",
    "vatNumber"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "coverage": {
      "properties": {
        "complete": {
          "type": "boolean"
        },
        "scope": {
          "description": "Scope of the returned response",
          "maxLength": 2000,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "complete",
        "scope"
      ],
      "type": "object"
    },
    "data": {
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ]
        },
        "country_code": {
          "description": "VIES member-state code; Greece EL, Northern Ireland XI.",
          "enum": [
            "AT",
            "BE",
            "BG",
            "CY",
            "CZ",
            "DE",
            "DK",
            "EE",
            "EL",
            "ES",
            "FI",
            "FR",
            "HR",
            "HU",
            "IE",
            "IT",
            "LT",
            "LU",
            "LV",
            "MT",
            "NL",
            "PL",
            "PT",
            "RO",
            "SE",
            "SI",
            "SK",
            "XI"
          ],
          "maxLength": 2,
          "minLength": 1,
          "type": "string"
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "request_date": {
          "description": "Time reported by VIES",
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        },
        "upstream": {
          "type": "object"
        },
        "valid": {
          "type": "boolean"
        },
        "vat_number": {
          "description": "VAT number without country prefix or punctuation.",
          "maxLength": 14,
          "minLength": 1,
          "pattern": "^[A-Z0-9]{1,14}$",
          "type": "string"
        }
      },
      "required": [
        "country_code",
        "vat_number",
        "valid",
        "request_date",
        "name",
        "address",
        "upstream"
      ],
      "type": "object"
    },
    "notice": {
      "description": "Source limitations",
      "maxLength": 2000,
      "minLength": 1,
      "type": "string"
    },
    "source_url": {
      "description": "Exact upstream request URL",
      "maxLength": 20000,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "data",
    "source_url",
    "notice",
    "coverage"
  ],
  "type": "object"
}
Example request
{
  "countryCode": "NL",
  "vatNumber": "004495445B01"
}
Example response
{
  "coverage": {
    "complete": false,
    "scope": "One bounded upstream response per purchased call"
  },
  "data": {
    "address": "\nVOLDERSGRACHT 00001\n2611ET DELFT\n",
    "country_code": "NL",
    "name": "OPENJONGERENVERENIGING DE KOORNBEURS",
    "request_date": "2026-09-14T16:49:07.018Z",
    "upstream": {
      "address": "\nVOLDERSGRACHT 00001\n2611ET DELFT\n",
      "countryCode": "NL",
      "name": "OPENJONGERENVERENIGING DE KOORNBEURS",
      "requestDate": "2026-09-14T16:49:07.018Z",
      "requestIdentifier": "",
      "traderCity": "---",
      "traderCityMatch": "NOT_PROCESSED",
      "traderCompanyType": "---",
      "traderCompanyTypeMatch": "NOT_PROCESSED",
      "traderName": "---",
      "traderNameMatch": "NOT_PROCESSED",
      "traderPostalCode": "---",
      "traderPostalCodeMatch": "NOT_PROCESSED",
      "traderStreet": "---",
      "traderStreetMatch": "NOT_PROCESSED",
      "valid": true,
      "vatNumber": "004495445B01"
    },
    "valid": true,
    "vat_number": "004495445B01"
  },
  "notice": "VIES VAT registration validity at the request time; missing name/address is unknown. This is not a company register extract.",
  "source_url": "https://ec.europa.eu/taxation_customs/vies/rest-api/check-vat-number"
}
GET/taxation_customs/vies/rest-api/ms/{cc}/vat/{nr}
$0.10 default
Description

Validate a VAT number using VIES

Documentation

Validate a VAT number using VIES

Validate EU and XI VAT numbers and inspect VIES service availability. Names and addresses depend on national availability.

Pricing
$0.10 default
Parameters
{
  "properties": {
    "cc": {
      "description": "VIES member-state code; Greece EL, Northern Ireland XI.",
      "enum": [
        "AT",
        "BE",
        "BG",
        "CY",
        "CZ",
        "DE",
        "DK",
        "EE",
        "EL",
        "ES",
        "FI",
        "FR",
        "HR",
        "HU",
        "IE",
        "IT",
        "LT",
        "LU",
        "LV",
        "MT",
        "NL",
        "PL",
        "PT",
        "RO",
        "SE",
        "SI",
        "SK",
        "XI"
      ],
      "maxLength": 2,
      "minLength": 1,
      "type": "string",
      "x-parameter-location": "path"
    },
    "nr": {
      "description": "VAT number without country prefix or punctuation.",
      "maxLength": 14,
      "minLength": 1,
      "pattern": "^[A-Z0-9]{1,14}$",
      "type": "string",
      "x-parameter-location": "path"
    }
  },
  "required": [
    "cc",
    "nr"
  ],
  "type": "object"
}
Request schema
{
  "properties": {},
  "required": [],
  "type": "object"
}
Response schema
{
  "properties": {
    "coverage": {
      "properties": {
        "complete": {
          "type": "boolean"
        },
        "scope": {
          "description": "Scope of the returned response",
          "maxLength": 2000,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "complete",
        "scope"
      ],
      "type": "object"
    },
    "data": {
      "properties": {
        "address": {
          "type": [
            "string",
            "null"
          ]
        },
        "country_code": {
          "description": "VIES member-state code; Greece EL, Northern Ireland XI.",
          "enum": [
            "AT",
            "BE",
            "BG",
            "CY",
            "CZ",
            "DE",
            "DK",
            "EE",
            "EL",
            "ES",
            "FI",
            "FR",
            "HR",
            "HU",
            "IE",
            "IT",
            "LT",
            "LU",
            "LV",
            "MT",
            "NL",
            "PL",
            "PT",
            "RO",
            "SE",
            "SI",
            "SK",
            "XI"
          ],
          "maxLength": 2,
          "minLength": 1,
          "type": "string"
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "request_date": {
          "description": "Time reported by VIES",
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        },
        "upstream": {
          "type": "object"
        },
        "valid": {
          "type": "boolean"
        },
        "vat_number": {
          "description": "VAT number without country prefix or punctuation.",
          "maxLength": 14,
          "minLength": 1,
          "pattern": "^[A-Z0-9]{1,14}$",
          "type": "string"
        }
      },
      "required": [
        "country_code",
        "vat_number",
        "valid",
        "request_date",
        "name",
        "address",
        "upstream"
      ],
      "type": "object"
    },
    "notice": {
      "description": "Source limitations",
      "maxLength": 2000,
      "minLength": 1,
      "type": "string"
    },
    "source_url": {
      "description": "Exact upstream request URL",
      "maxLength": 20000,
      "minLength": 1,
      "type": "string"
    }
  },
  "required": [
    "data",
    "source_url",
    "notice",
    "coverage"
  ],
  "type": "object"
}
Example request
{
  "cc": "NL",
  "nr": "004495445B01"
}
Example response
{
  "coverage": {
    "complete": false,
    "scope": "One bounded upstream response per purchased call"
  },
  "data": {
    "address": "\nVOLDERSGRACHT 00001\n2611ET DELFT\n",
    "country_code": "NL",
    "name": "OPENJONGERENVERENIGING DE KOORNBEURS",
    "request_date": "2026-09-14T16:48:04.183Z",
    "upstream": {
      "address": "\nVOLDERSGRACHT 00001\n2611ET DELFT\n",
      "isValid": true,
      "name": "OPENJONGERENVERENIGING DE KOORNBEURS",
      "originalVatNumber": "004495445B01",
      "requestDate": "2026-09-14T16:48:04.183Z",
      "requestIdentifier": "",
      "userError": "VALID",
      "vatNumber": "004495445B01",
      "viesApproximate": {
        "city": "---",
        "companyType": "---",
        "matchCity": 3,
        "matchCompanyType": 3,
        "matchName": 3,
        "matchPostalCode": 3,
        "matchStreet": 3,
        "name": "---",
        "postalCode": "---",
        "street": "---"
      }
    },
    "valid": true,
    "vat_number": "004495445B01"
  },
  "notice": "VIES VAT registration validity at the request time; missing name/address is unknown. This is not a company register extract.",
  "source_url": "https://ec.europa.eu/taxation_customs/vies/rest-api/ms/NL/vat/004495445B01"
}