EU VAT validation API

VIES goes down.
Your checkout shouldn't.

One call: the authoritative VIES answer when it's available, the last known good answer when it isn't, and national-registry company data VIES never gives you. No SOAP, no 5xx, no silent failures.

The problem, measured live

measuring…
average across probed member states
200
HTTP status we return when VIES is down

We query each member state's real VIES backend every 10 minutes with a live VAT number. The Commission's own status endpoint reports Available for member states that are in fact refusing most requests — only a real call tells the truth. This table is free and needs no account.

Member stateNowUptime (24 h)Last error
loading…

Try it — no signup

Try: FR59542051180 · CZ45274649 · RO14399840 · FI01120389 · a bad checksum
→ response appears here

Hit a VIES error in production? Every VIES error code explained — what it means, whose fault it is, and how to stop it breaking your checkout.

What you actually get

API

curl -H "X-API-Key: $KEY" \
  "https://vat.ouvamataxe.fr/v1/check/FR59542051180"
loading sample response…

GET /v1/check/{vat}?enrich=0 skip registry · ?fresh=1 bypass cache · ?requester=FR… audit proof
POST /v1/batch {"vat_numbers":[…]} · GET /v1/uptime · GET /v1/status — both free, no key

Get a free key

100 checks a day, full enrichment. No email, no account.

Pricing

Free
€0
100 checks/day · full enrichment
Starter
€9/mo
10 000 checks/mo · batch · audit proof
Business
€39/mo
100 000 checks/mo · batch · audit proof