EU VAT API

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).

Try it now

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.

Endpoints

EndpointMethodWhat it does
/validate?vat=DE123456789GETFormat pre-check + live VIES check with cached fallback. Returns validity, registered name/address when available, consultation number, source, checkedAt.
/rates?country=DEGETStandard / reduced / super-reduced / parking VAT rates for one country.
/ratesGETRates for all EU-27 (+ UK for reference).
/batchPOSTValidate up to 50 VAT numbers in one call.
/healthGETStatus, version, rates last-reviewed stamp.
/openapi.jsonGETMachine-readable OpenAPI 3.0 spec.

Pricing

PlanPriceQuota / month
BASIC$0500 requests
PRO$12/mo25,000 requests
ULTRA$39/mo250,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.

OpenAPI JSON · Health