EDGE ENGINE SUB-2MS DETERMINISTIC V8 EXECUTION • ZERO DATA RETENTION • EXPLORE API SPECS →

EU & UK VAT Validator API

Offline VAT number checksums & live rate engine for 28 countries

The EU & UK VAT Validator API checks VAT numbers for all 27 EU member states plus the United Kingdom — entirely offline. Every request validates the national format rules (length, letters, digits, special forms like UK government GD/HA codes and Irish-style letter suffixes) and, for eight jurisdictions including Belgium, Italy, the Netherlands, Poland, Portugal, Sweden, Denmark, and Finland, recomputes the national mathematical checksum in real time.

Built for e-commerce checkouts, invoicing systems, marketplaces, and ERP finance automation: stop mistyped VAT numbers before they cause rejected invoices, failed reverse-charge claims, or compliance remediation. Because validation is pure compute with zero external subrequests, responses are deterministic, cacheable, and delivered in under 15ms from 300+ Cloudflare edge locations — no VIES downtime, no rate limits, no data leaves the edge.

The rate engine returns the current standard and reduced VAT rates for every jurisdiction with an explicit effective-year stamp — everything needed to price correctly across the single market, from Germany's 19% to Hungary's 27% and Denmark's 25%.

Features

Endpoints

MethodPathDescriptionExample
GET/api/v1/vat/{country}/{number}Validate a VAT number offline and return applicable rates/api/v1/vat/IT/00743110157
GET/api/v1/vat/rates/{country}Get standard and reduced VAT rates for a country/api/v1/vat/rates/DE
GET/healthService health check/health

FAQ

Does the API call VIES or any external service?

No. Validation is entirely offline mathematical computation: national format rules plus real checksum recomputation for eight jurisdictions. That means no VIES downtime, no rate limits, no personal data leaving the edge, and deterministic sub-15ms responses.

Which countries have a real checksum implemented?

Belgium (mod-97), Denmark (mod-11), Finland (mod-11), Italy (Luhn-style), the Netherlands (mod-11), Poland (weighted mod-11), Portugal (weighted mod-11), and Sweden (Luhn with 01 suffix). For every other country the API validates the national format and reports checksumValid as null with verification level format-only — it never claims more certainty than it has.

Does a valid checksum mean the VAT number is registered?

No. A checksum pass proves the number is mathematically well-formed, which catches typos and fraud patterns like invented digits. Confirming active registration requires a VIES lookup, which you can layer on top for the small subset of numbers that pass offline checks.

Can I pass the number with the country prefix?

Yes. Inputs like NL004495445B01 and 004495445B01 both work — the API strips a redundant leading country code automatically, and accepts dots, spaces, and hyphens in any casing.

How current are the VAT rates?

Rates are a maintained snapshot with an explicit effectiveYear field (currently 2026) covering standard and reduced rates for all 28 jurisdictions, including recent statutory changes like Finland's 25.5% standard rate, Slovakia's 23% rate, and Czechia's unified 12% reduced rate.