Check EU VAT numbers at VIES, with proof.

Check an EU VAT number at VIES, the European Commission's system. You get back whether it's valid, the name and address where the member state shares them, and a consultation number as proof.

Status
PreviewBuild on it now with a test key. While in preview, details may still change before it's generally available.
Price
price to follow
Operations
vat.validate

What it does

What it does

Send a VAT number with its country prefix, such as NL123456789B01. Spaces, dots and dashes are fine. We first check that the number has the format of its country. If it does, we ask VIES there and then. We never reuse an earlier answer.

The consultation number

For each check, VIES returns a consultation number: proof that you checked the number at that moment. Keep it with the invoice, for instance when you reverse-charge VAT to a customer in another EU country.

Good to know

  • A number in the wrong format is a 200 with valid: false and format_valid: false. VIES isn’t asked, and it costs nothing.
  • When VIES or a member state’s register is down, you get 503 provider_unavailable, also free of charge. Try again after Retry-After.
  • It covers the EU member states and Northern Ireland (XI). Numbers from outside the EU, such as GB, get 404 country_not_supported.
  • VAT rates per country aren’t in the API yet.

Example

Real calls with a test key. Replace ac_test_… with your own key.

A valid Dutch VAT number. Keep the consultation number with the invoice.
GET/v1/vat-numbers/NL999999990B01
Request
curl https://api.accountcloud.io/v1/vat-numbers/NL999999990B01 \
  -H "Authorization: Bearer ac_test_…"
Response200 OK
AccountCloud-Charged: 0.0000
{
  "object": "vat_number",
  "vat_number": "NL999999990B01",
  "country": "NL",
  "valid": true,
  "format_valid": true,
  "name": "TESTBEDRIJF B.V.",
  "address": "TESTSTRAAT 00001\n1234AB AMSTERDAM",
  "consultation_number": "WAPITEST00000001",
  "source": {
    "register": "vies",
    "name": "VIES (European Commission)",
    "retrieved_at": "2026-11-04T01:03:36Z"
  }
}

What it costs

VAT numbersprice to followchecked at VIES

Excluding VAT, from your prepaid balance. Test keys are free, and an error or invalid input costs nothing.

Until it has a price, a live key gets 503 operation_unavailable. Test keys work already.

Read more

Start with a test key. It's free.

Signing up takes a minute. The quickstart in the docs, five.