EU VIES VAT

Finance API · Works in EU · VAT number validation · No API key

TL;DR

The EU VIES (VAT Information Exchange System) API validates VAT identification numbers issued by any European Union member state. Submit a country code and VAT number to check if it's registered, active, and valid. The response confirms validity, provides the registered business name and address, and the last validation date. SOAP and JSON endpoints available. No API key. Essential for B2B compliance, invoice validation, and EU business verification.

Quick start: https://ec.europa.eu/taxation_customs/vies/rest-api/ms/DE/vat/123456789

No API key needed — just make a request!

How to Use This API

1. Validate a VAT Number (REST API)

https://ec.europa.eu/taxation_customs/vies/rest-api/ms/DE/vat/123456789

2. JavaScript — Validate and Display

fetch('https://ec.europa.eu/taxation_customs/vies/rest-api/ms/DE/vat/123456789')
  .then(r => r.json())
  .then(data => {
    console.log(`Valid: ${data.isValid}`);
    console.log(`Name: ${data.businessName}`);
    if (data.isValid) {
      console.log(`Address: ${data.businessAddress}`);
    }
  });

3. Python — Batch VAT Validation

import requests

vats_to_check = [
    ('DE', '123456789'),
    ('FR', '12345678901'),
    ('IT', '12345678901'),
    ('ES', '12345678A'),
]
for country, vat in vats_to_check:
    data = requests.get(
        f'https://ec.europa.eu/taxation_customs/vies/rest-api/ms/{country}/vat/{vat}'
    ).json()
    status = 'VALID' if data.get('isValid') else 'INVALID'
    name = data.get('businessName', 'N/A')
    print(f"{country}{vat}: {status} — {name}")
Validate a DE VAT: https://ec.europa.eu/taxation_customs/vies/rest-api/ms/DE/vat/123456789

Frequently Asked Questions

What EU countries are covered?
All 27 EU member states: 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.
What format should the VAT number be in?
VAT numbers should be without the country prefix (just the numeric/alphanumeric portion). For example, for German VAT DE123456789, send 123456789 with country code DE.
What data is returned for a valid VAT?
Validity status, business name, business address, country code, VAT number, request date, and validation timestamp.
Is there a SOAP endpoint as well?
Yes, the legacy SOAP WSDL is available at https://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl for older integrations.
How current is the data?
VIES data is updated in real-time from national VAT databases. Each validation returns the current status from the issuing member state's system.
Are there API usage limits?
The EU VIES service is a public government resource. Reasonable usage is permitted. For very high-volume validation, cached/batch approaches are recommended.

API Details

API URL
https://ec.europa.eu/taxation_customs/vies/rest-api
Documentation
EU VIES VAT Validation
Category
Finance
Authentication
Not Required
Geographic Coverage
European Union (all 27 member states)

What You Can Build