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
| Feature | Avatcado | VATstack | vatlayer | VATsense | vatapi.com | APIStax | taxid.dev |
|---|---|---|---|---|---|---|---|
| Free tier | 500/mo | 100/mo | 100/mo | 100/mo | 30-day trial | 100 credits (one-time) | 100/mo |
| Paid from | €39/mo | $15/mo | $9.99/mo | €5.99/mo | Not published | €4.99/mo | $19/mo |
| Non-EU countries | AU, CH, LI, NO | AU, NO, SG, CH | No | AU, NO, CH, ZA, BR | No | CH, NO, IS | AU, CH, NO |
| EU validation | Yes (27 + XI) | Yes | Yes | Yes | Yes | Yes (27) | Yes (27) |
| UK (HMRC) | Yes | Yes | No | Yes | Yes | Yes | Yes |
| Batch validation | Yes (up to 50) | Yes (API + CSV) | No | No | No | No | Yes (up to 25) |
| Consultation numbers | Yes | Yes | No | Yes | Yes | No | Not published |
| Built-in caching | Yes (with stale fallback) | Historical records; async retries | No | Same-day; requester bypass | No | No | Yes (24-hour) |
| Stale cache fallback | Yes | No | No | No | No | No | Not published |
| Test mode | Yes (magic numbers) | Yes | No | No | No | No | Not published |
| Typed SDKs | TypeScript + Python | OpenAPI spec | No | Yes (7 langs) | No | Java, PHP, Quarkus | No |
| Structured errors | Yes (codes + docs_url) | Partial | Basic | Basic | Basic | Basic | Yes (Stripe-style codes) |
| Rate limit headers | Yes | Not published | No | No | No | No | Not published |
| OpenAPI spec | Yes | Yes | No | No | No | Yes | Not published |
| VAT rates endpoint | Yes (free, unlimited) | Yes | Yes | Yes | Yes | No | Not published |
| HTTPS on all tiers | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
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/nodeimport 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 avatcadofrom 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.
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.
- VATstack pricing and general documentation, checked 2026-08-13: vatstack.com/pricing and vatstack.com/docs. Historical records and asynchronous retries checked 2026-09-15: VATstack validation documentation
- vatlayer, verified 2026-08-13: vatlayer.com and vatlayer.com/product
- VATsense, verified 2026-08-13: vatsense.com and vatsense.com/documentation
- vatapi.com, verified 2026-08-13: vatapi.com
- APIStax, verified 2026-08-13: apistax.io and apistax.io/pricing
- taxid.dev, verified 2026-08-13: taxid.dev and taxid.dev/pricing
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
- VATstack validation retries and records VATstack, accessed September 15, 2026
- taxid.dev batch validation documentation taxid.dev, accessed September 15, 2026
- VAT Sense VIES caching and alternate routes VAT Sense, accessed September 15, 2026
- Vatstack pricing Vatstack, accessed August 13, 2026
- vatlayer subscription plans APILayer, accessed August 13, 2026
- VAT Sense pricing VAT Sense, accessed August 13, 2026
- APIstax pricing APIstax, accessed August 13, 2026
- taxid.dev pricing taxid.dev, accessed August 13, 2026
Try it on a real VAT number
Check any VAT or GST number against the official registry for free, no account needed.
Related guides
Validate EU VAT Numbers via API: Developer Guide
Learn how to validate EU VAT numbers, plus UK, Swiss, Norwegian, and Australian VAT/GST, via REST API. Covers VIES, HMRC, TypeScript, Python, and test mode.
VIES API Guide: REST Endpoint, SOAP & Integration
Use the official VIES REST API from Node.js, handle HTTP 200 faults, preserve consultation evidence, compare SOAP, and plan for member-state downtime.
How to Validate VAT Numbers in TypeScript
Validate EU, UK, Swiss, Norwegian, and Australian VAT/GST numbers in TypeScript with @avatcado/node. Covers error handling, batch validation, and test mode.