Validate EU VAT numbers against VIES — and keep validating when VIES is down. Format pre-checks for all EU-27 + Northern Ireland (XI), live VIES registration checks with automatic cached fallback, and a maintained table of current EU VAT rates (last reviewed 2026-07).
curl "https://eu-vat-api.pages.dev/validate?vat=DE811907980"
curl "https://eu-vat-api.pages.dev/rates?country=FR"
curl -X POST "https://eu-vat-api.pages.dev/batch" -H "Content-Type: application/json" \
-d '{"vats":["DE811907980","FR40303265045","IE6388047V"]}'
Every validation response tells you where the answer came from:
"source": "vies-live" | "cache" | "format-only" — no silent staleness.
| Endpoint | Method | What it does |
|---|---|---|
/validate?vat=DE123456789 | GET | Format pre-check + live VIES check with cached fallback. Returns validity, registered name/address when available, consultation number, source, checkedAt. |
/rates?country=DE | GET | Standard / reduced / super-reduced / parking VAT rates for one country. |
/rates | GET | Rates for all EU-27 (+ UK for reference). |
/batch | POST | Validate up to 50 VAT numbers in one call. |
/health | GET | Status, version, rates last-reviewed stamp. |
/openapi.json | GET | Machine-readable OpenAPI 3.0 spec. |
| Plan | Price | Quota / month |
|---|---|---|
| BASIC | $0 | 500 requests |
| PRO | $12/mo | 25,000 requests |
| ULTRA | $39/mo | 250,000 requests |
Get a key: RapidAPI (link coming soon) · Gumroad (link coming soon)
Rates sourced from the European Commission's published member-state VAT rates (via Tax Foundation, January 2026), cross-checked against a second source. VIES is the authority for registration status; this API never invents a validity answer — when both VIES and the cache are unavailable you get an honest 503.