VAT Validation API Comparison: Vatly vs VATstack vs vatlayer vs VATsense (2026)

If you need to validate EU VAT numbers via a REST API, you have several options. They all query the same underlying data sources (VIES for the EU, HMRC for the UK), but differ significantly in developer experience, pricing, reliability, SDK support, and non-EU coverage. This comparison covers Vatly, VATstack, vatlayer, VATsense, and vatapi.com, verified as of March 2026.

Comparison table

FeatureVatlyVATstackvatlayerVATsensevatapi.com
Free tier500/mo100/mo100/mo (HTTP only)100/mo30-day trial
Paid from€29/mo$15/mo$9.99/mo€5.99/mo€14.50/mo
Non-EU countriesAU, CH, LI, NOAU, NO, SG, CHNoAU, NO, CH, ZA, BRNo
EU validationYes (27 + XI)YesYesYesYes
UK (HMRC)YesYesNoYesYes
Batch validationYes (up to 50)Yes (CSV + API)NoNoNo
Consultation numbersYesYesNoYesYes
Built-in cachingYes (24h + stale fallback)Automatic retriesNoSame-day on outageNo
Stale cache fallbackYesNoNoNoNo
Test modeYes (magic numbers)YesNoNoNo
Typed SDKsTypeScript + PythonOpenAPI specNoYes (7 langs, Stainless)No
Structured errorsYes (codes + docs_url)PartialBasicBasicBasic
Rate limit headersYesYesNoNoNo
OpenAPI specYesYesNoNoNo
VAT rates endpointYes (free, unlimited)YesYesYesYes
HTTPS on all tiersYesYesPaid onlyYesYes

Vatly

Vatly 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 Bronnysund 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.

Vatly's standout features: a test mode with magic VAT numbers that simulate valid, invalid, and error responses without hitting live services. Built-in 25-day caching with stale fallback when VIES or HMRC is down, so your validation calls never fail due to upstream outages. Batch validation for up to 50 numbers in a single request (Pro and Business tiers). Typed SDKs for TypeScript (@vatly/node) and Python (vatly) with a { data, error } pattern and typed error classes. And a free, unlimited VAT rates endpoint covering all 32 supported countries.

The free tier is the most generous in the market at 500 validations per month. Pro (€29/mo, 10k validations) and Business (€99/mo, 50k validations) tiers unlock batch validation and higher rate limits.

The main limitation is that Vatly 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 webhooks, EORI validation, invoice generation, or Stripe integration.

npm install @vatly/node
import Vatly from '@vatly/node';

const vatly = new Vatly('vtly_live_your_api_key');
const { data, error } = await vatly.vat.validate({
  vatNumber: 'DE123456789',
});

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

vatly = Vatly("vtly_live_your_api_key")
result = vatly.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 (CSV upload and API-based), and MaxMind 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.

vatlayer

vatlayer (by APILayer) is one of the oldest VAT validation APIs. It offers validation, rate lookups, and price calculations. Pricing starts at $9.99/mo, making it one of the cheapest paid options.

The downsides are significant: no UK support (EU only, a major gap post-Brexit), no HTTPS on the free tier, 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. vatlayer is the cheapest option for basic EU-only validation where DX isn't a priority.

VATsense

VATsense offers the broadest non-EU country coverage, supporting AU, NO, CH, ZA, and BR alongside the EU and UK. Vatly 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 the most granular paid pricing with six 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), generated via Stainless. It also returns consultation numbers and has same-day caching on upstream outages (412 errors don't count against your quota).

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.

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 in EUR, starting at €14.50/mo for 5k requests. Documentation is available via Postman collection only. There are no typed SDKs, no test mode, no batch validation, and no OpenAPI spec. vatapi.com is best if you need UK-focused invoice features alongside validation.

Who should use what

  • Best for developers: Vatly. 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.
  • Best for full VAT compliance: VATstack. Webhooks, Stripe sync, OSS reporting, batch, geolocation. The most complete platform, at a higher price.
  • Cheapest EU-only option: vatlayer. $9.99/mo, but no UK support and dated DX.
  • Best country coverage on a budget: 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.

Try it yourself

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

import Vatly from '@vatly/node';

const vatly = new Vatly('vtly_test_your_api_key');
const { data, error } = await vatly.vat.validate({
  vatNumber: 'DE123456789',
});
from vatly import Vatly

vatly = Vatly("vtly_test_your_api_key")
result = vatly.vat.validate("DE123456789")

Or with curl:

curl https://api.vatly.dev/v1/validate?vat_number=DE123456789 \
  -H "Authorization: Bearer vtly_live_your_api_key"

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

Try Vatly free →

Frequently asked questions

Which VAT validation API has the best free tier?

Vatly offers 500 free validations per month, the most generous free tier among VAT validation APIs. VATstack, vatlayer, and VATsense each offer 100 per month. vatapi.com only offers a 30-day trial with no permanent free tier.

Do all VAT APIs use the same data source?

Yes, for EU validation. All VAT APIs query the same underlying VIES system operated by the European Commission. The differences are in reliability (caching, retry logic), developer experience (response formats, SDKs, error handling), and additional features like UK support via HMRC.

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 use raw HTTP calls, switching is straightforward since most APIs accept a VAT number and return a valid/invalid result. Vatly's response envelope and error codes are designed to be predictable, making migration simpler.