VAT Validation API Comparison (2026)

If you need to validate EU VAT numbers via a REST API, you have several options. They commonly query VIES for the EU and HMRC for the UK, with different caching and fallback options, and differ in developer experience, pricing, reliability, SDK support, and non-EU coverage. This comparison covers Avatcado, VATstack, vatlayer, VATsense, vatapi.com, APIStax, and taxid.dev. Affected feature claims were reviewed in September 2026; pricing remains the August 13, 2026 snapshot. These are vendor-documented capabilities, not performance benchmarks.

Comparison table

FeatureAvatcadoVATstackvatlayerVATsensevatapi.comAPIStaxtaxid.dev
Free tier500/mo100/mo100/mo100/mo30-day trial100 credits (one-time)100/mo
Paid from€39/mo$15/mo$9.99/mo€5.99/moNot published€4.99/mo$19/mo
Non-EU countriesAU, CH, LI, NOAU, NO, SG, CHNoAU, NO, CH, ZA, BRNoCH, NO, ISAU, CH, NO
EU validationYes (27 + XI)YesYesYesYesYes (27)Yes (27)
UK (HMRC)YesYesNoYesYesYesYes
Batch validationYes (up to 50)Yes (API + CSV)NoNoNoNoYes (up to 25)
Consultation numbersYesYesNoYesYesNoNot published
Built-in cachingYes (with stale fallback)Historical records; async retriesNoSame-day; requester bypassNoNoYes (24-hour)
Stale cache fallbackYesNoNoNoNoNoNot published
Test modeYes (magic numbers)YesNoNoNoNoNot published
Typed SDKsTypeScript + PythonOpenAPI specNoYes (7 langs)NoJava, PHP, QuarkusNo
Structured errorsYes (codes + docs_url)PartialBasicBasicBasicBasicYes (Stripe-style codes)
Rate limit headersYesNot publishedNoNoNoNoNot published
OpenAPI specYesYesNoNoNoYesNot published
VAT rates endpointYes (free, unlimited)YesYesYesYesNoNot published
HTTPS on all tiersYesYesYesYesYesYesYes

Note on the "Paid from" row: Avatcado's €39/mo is the monthly-billing rate for the Pro tier, shown here on the same monthly basis as every other competitor's price in this table. Avatcado also offers annual billing at €29/mo (€348/year) for the same Pro tier, and €99/mo (€1,188/year) for Business, billed annually. Every other vendor's price above is that vendor's own list price as published; check each vendor's site for whether they also offer an annual discount.

Avatcado

Avatcado is a VAT validation API built for developers. It validates against all 27 EU member states plus Northern Ireland (via VIES), the UK (via HMRC), Switzerland and Liechtenstein (via BFS UID Register), Norway (via Bronnoysund Register), and Australia (via ABR) through a single endpoint. Every response follows a consistent envelope (data / error + meta) with machine-readable error codes and a docs_url that links to the relevant error documentation.

Avatcado's standout features: a test mode with magic VAT numbers that simulate valid, invalid, and error responses without hitting live services. Retries, eligible national register fallback on Pro and Business, and eligible cached results help during registry outages. If none can answer, validation returns a refunded 503; plan retries or review for that case. Batch validation for up to 50 numbers in a single request (Pro and Business tiers). Typed SDKs for TypeScript (@avatcado/node) and Python (avatcado) with a { data, error } pattern and typed error classes. And a free, unlimited VAT rates endpoint covering all 32 supported countries.

The free tier includes 500 validations per month. Pro (€39/mo, or €29/mo billed annually, 10k validations) and Business (€129/mo, or €99/mo billed annually, 50k validations) tiers unlock batch validation and higher rate limits.

The main limitation is that Avatcado is newer than some alternatives, so it has a smaller community and fewer third-party integrations. It covers EU + UK + CH + LI + NO + AU (32 countries). It doesn't offer EORI validation, invoice generation, or Stripe integration. For webhook-based async validation, see the async validation guide.

npm install @avatcado/node
import Avatcado from '@avatcado/node';

const avatcado = new Avatcado('avat_live_your_api_key');
const { data, error } = await avatcado.vat.validate({
  vatNumber: 'DE123456789',
});

if (error) {
  console.error(error.code, error.message);
} else {
  console.log(data.data.valid, data.data.company?.name);
}
pip install avatcado
from avatcado import Avatcado

avatcado = Avatcado("avat_live_your_api_key")
result = avatcado.vat.validate("DE123456789")

print(result.data.valid, result.data.company.name)

VATstack

VATstack is the most feature-rich option. Beyond validation, it offers webhooks (validation.succeeded events), Stripe auto-sync for transaction tracking, VAT OSS and EC Sales List reporting, batch validation via both the API and dashboard CSV upload, and IP geolocation. It supports EU, UK, AU, NO, SG, and CH.

VATstack has a test mode with dedicated test API keys and test VAT numbers, and provides an OpenAPI 3.0 spec on GitHub. The pricing jumps from $15/mo (500 validations) to $150/mo (15k validations) with no tier in between, which can be a pain point for growing teams. The free tier is limited to 100 validations per month.

There are no official typed SDKs, just the OpenAPI spec for client generation. Error responses include messages but not always machine-readable codes. VATstack is a good choice if you need a full VAT compliance platform with webhooks, Stripe sync, and reporting.

For a line-by-line head-to-head with Avatcado, see the VATstack alternatives page.

vatlayer

vatlayer (by APILayer) is one of the oldest VAT validation APIs. It offers validation, rate lookups, and price calculations. The Basic plan is $9.99/mo for 1,000 requests.

The downsides are significant: no UK support (EU only, a major gap post-Brexit), no test mode, no typed SDKs, no caching, and the API uses an access key query parameter instead of bearer token authentication. Error responses are minimal. The website and documentation haven't been updated in a while. The $9.99/mo Basic plan includes 1,000 requests for teams whose requirements fit its EU-only coverage and tooling.

Weighing a switch? The vatlayer alternatives page compares it with Avatcado line by line.

VATsense

VATsense documents non-EU country coverage, supporting AU, NO, CH, ZA, and BR alongside the EU and UK. Avatcado now covers AU, CH, LI, and NO as well, so VATsense's unique advantage is ZA and BR. It has a free tier (100/mo) and five paid tiers from €5.99/mo to €119.99/mo, making it easy to scale without overpaying.

VATsense recently published typed SDKs in 7 languages (Python, Node.js/TypeScript, PHP, Go, Ruby, C#/.NET, Java). Its VIES documentation describes same-day caching, bypassed when requester_vat_number is supplied, and two alternate VIES routes. These are not documented as national-register lookups. Unresolved upstream failures return an unbilled 412.

The API uses HTTP Basic Auth rather than bearer tokens. There's no test mode, no batch validation, no webhooks, and no OpenAPI spec. If you need broad country coverage at a granular price point, VATsense is worth evaluating.

The VATsense alternatives page has the full head-to-head with Avatcado.

vatapi.com

vatapi.com focuses on the UK market with HMRC-compliant invoice generation, sequential invoice numbering, multiple trading names per organization, and currency conversion using HMRC and ECB rates. It supports EU (VIES) and UK (HMRC) validation only.

There's no permanent free tier (30-day trial only). Pricing is sold through FastSpring checkout and not published on the site. Documentation is available via Postman collection only. There are no typed SDKs, no test mode, no batch validation, and no OpenAPI spec. vatapi.com may fit if you need UK-focused invoice features alongside validation.

The vatapi.com alternatives page compares it with Avatcado in detail.

APIStax

APIStax is a multi-API platform: VAT verification sits alongside roughly a dozen unrelated APIs (HTML-to-PDF, geocoding, barcode generation, QR codes) on a shared credit pool. If you already need one of those other APIs, bundling VAT validation onto the same credits and dashboard is convenient. If you only need VAT validation, it is a secondary feature on a generalist platform rather than a purpose-built product.

Pricing runs from a one-time 100 free credits at signup through €4.99/mo (500 credits) up to €39.99/mo (10,000 credits), with credits shared across every API on the platform. It supports the EU 27, the UK, Switzerland, Norway, and Iceland (31 countries), and ships SDKs for Java, PHP, and Quarkus plus an OpenAPI spec. There is no webhook support, no batch validation, and no built-in caching layer for VAT lookups, and server errors don't consume credits.

See the APIStax alternatives page for the full comparison with Avatcado.

taxid.dev

taxid.dev is a newer, single-purpose VAT validation API: a VIES wrapper with per-tier USD pricing and Stripe-style structured error codes (vat_invalid, service_unavailable) instead of raw SOAP faults. Its site states coverage of 31 countries and now names a registry source for each region: VIES for the EU, HMRC for the UK, ABR for Australia, the BFS UID register for Switzerland, and the Bronnoysund register for Norway.

Pricing starts at $0/mo for 100 validations, then $19/mo (1,000), $49/mo (10,000), and $149/mo (100,000), with a Scale plan at 1,000,000/month and custom pricing above 100,000 per month. It advertises Redis-backed caching with sub-10ms cached responses (not independently measured) and a public playground at taxid.dev/try (shared demo key, no account required), but its country API documentation now describes batches of up to 25 numbers per request. Webhooks, SDK packages and an OpenAPI spec were not found in the reviewed sources.

Who should use what

  • Developer tooling: Avatcado. Typed SDK, magic test numbers, structured errors with docs links, batch validation, stale cache fallback, free VAT rates, 32 countries across 5 regions, and 500/mo free tier.
  • VAT compliance workflows: VATstack. Webhooks, Stripe sync, OSS reporting, batch, geolocation. A platform to evaluate when you need these adjacent workflows.
  • EU-only option: vatlayer. $9.99/mo, but no UK support and dated DX.
  • South Africa and Brazil coverage: VATsense. AU, NO, CH, ZA, BR support, 7 SDKs, granular pricing from €5.99/mo.
  • UK invoicing focus: vatapi.com. HMRC-compliant invoicing, currency conversion, but limited developer tooling.
  • Already using other APIStax APIs: APIStax. Shared credits across PDF, geocoding, and barcode APIs, plus Java, PHP, and Quarkus SDKs, but VAT is a secondary feature with no batch or caching.
  • USD billing and small batches: taxid.dev. $19/mo entry tier and documented batches of up to 25; webhooks and SDK packages were not found in the reviewed sources.

Try it yourself

The best way to evaluate is to make a few requests. Avatcado's free tier gives you 500 validations per month, enough to build and test a complete integration before committing.

import Avatcado from '@avatcado/node';

const avatcado = new Avatcado('avat_test_your_api_key');
const { data, error } = await avatcado.vat.validate({
  vatNumber: 'DE123456789',
});
from avatcado import Avatcado

avatcado = Avatcado("avat_test_your_api_key")
result = avatcado.vat.validate("DE123456789")

Or with curl:

curl https://api.avatcado.com/v1/validate?vat_number=DE123456789 \
  -H "Authorization: Bearer avat_live_your_api_key"

Read the Avatcado documentation for the full API reference, SDK setup, and test mode guide.

Try Avatcado free →

How we verified these claims

Pricing below retains its 2026-08-13 verification date. The 2026-09-15 feature review corrects VATsense caching and alternate VIES routes, taxid.dev batch support, VATstack historical records and asynchronous retries, and Avatcado outage handling. APIStax sources could not be retrieved in this review, so its vendor claims retain their August evidence and source dates. Vendor claims describe documented behavior, not independent measurements. Re-check current terms before choosing a provider.

Frequently asked questions

How do the compared VAT APIs differ on free allowances?

Avatcado offers 500 free validations per month, with a hard monthly limit. VATstack, vatlayer, VATsense, and taxid.dev each offer 100 per month, APIStax gives a one-time allowance of 100 credits rather than a monthly refresh, and vatapi.com offers only a 30-day trial with no permanent free tier at all. Volume is not the only difference that matters, though. Avatcado's free tier runs on the same API as the paid plans, including the response cache with stale fallback, test mode with magic VAT numbers, and the free unlimited VAT rates endpoint, so the code you write on the free tier keeps working unchanged after an upgrade. Batch validation, async validation, webhooks and the national register fallback during VIES outages are the capabilities reserved for Pro and Business. For a side project or an early-stage SaaS, 500 checks per month typically covers real production traffic, not just evaluation.

Do all VAT APIs use the same data source?

Most providers use VIES for EU checks, but results can differ by timestamp, cache state and fallback source. Avatcado can use eligible national registers on Pro and Business, including snapshots for some countries. VATsense documents same-day cache and alternate VIES routes, which are not documented as national-register lookups. Compare source and freshness metadata, consultation-number support and outage errors when evaluating providers. A domestic register answer or an older cached result does not establish the same thing as a fresh VIES check.

Can I switch between VAT validation providers easily?

It depends on how tightly coupled your code is to the provider's SDK and response format. If you call the APIs over raw HTTP, switching is usually a contained change: every provider in this comparison accepts a VAT number and returns some flavor of valid or invalid result, so the work is mapping field names and error handling, not rearchitecting. Check the friction points before migrating: whether the new provider covers all the countries you validate (vatlayer, for example, has no UK support, and non-EU coverage varies widely), whether it returns consultation numbers if you store them as audit proof, how it behaves during VIES outages, and whether your test suite depends on a test mode the new provider lacks. A practical pattern is to wrap validation behind a small interface of your own so the provider stays an implementation detail. Avatcado's predictable response envelope and machine-readable error codes make writing that adapter straightforward.

Sources

Try it on a real VAT number

Check any VAT or GST number against the official registry for free, no account needed.

Related guides