VAT number validation API (VIES) — Python & Node
A short tutorial that validates an EU VAT number against VIES from your own code. Prometiam's GET /vat/{vatNumber} checks the number against the official VIES service across the 27 EU member states plus XI (Northern Ireland), and returns the registered name and address when the number is valid.
What the guide covers
- What VIES is — the European Commission's VAT Information Exchange System — and why a single REST call is more robust than talking to VIES SOAP directly (it separates a definitive invalid VAT from a transient member-state outage, returning 503 instead of a false "invalid").
- Calling
GET /vat/{vatNumber} with a Bearer key, e.g. GET /vat/IE6388047V, and the JSON it returns: is_valid, country_code, name, address, and request_date.
- Copy-paste Python and Node.js examples, plus when to use VAT validation in KYB onboarding and invoicing (reverse-charge, Spain's Verifactu / SII).
Runs on the free tier (1,000 calls/month, no credit card) — it is registry-data scope, not the paid sanctions tier. VIES covers the 27 EU states + XI; Greece files under EL, and GB VAT is out of scope post-Brexit.
Read more · Get a free API key