← Blog

A Reliable VIES Alternative: What to Look For (and What to Avoid)

#vat#api#saas#architecture

Search for "VIES alternative" and you'll find a lot of services promising to replace the EU's VAT Information Exchange System. Before you pick one, it helps to be clear about what an "alternative" can and can't be.

There is no alternative source of truth

VAT registration data lives in 27 national tax administrations. VIES is the official, free gateway to all of them. Any service that tells you whether an EU VAT number is valid is, at some point, asking VIES (or the national system directly, which is the same data).

So a "VIES alternative" that claims its own independent database is either:

Both are dangerous for tax decisions. A number can be perfectly well-formed and still deregistered last month.

What you actually want isn't an alternative to VIES. It's VIES without the pain.

The pain points worth solving

If you've integrated VIES directly, you've probably hit some of these:

  1. Member state outages. Individual countries go offline regularly for maintenance, often evenings and weekends. VIES returns MS_UNAVAILABLE.
  2. Central outages and throttling. SERVICE_UNAVAILABLE, GLOBAL_MAX_CONCURRENT_REQ, timeouts.
  3. No UK coverage. Since Brexit, GB numbers need HMRC's separate API with OAuth.
  4. Inconsistent data. Some countries return name and address, some return ---, some return multi-line addresses.
  5. Format quirks. EL vs GR, Belgian numbers with and without the leading 0, Dutch B01 suffixes.
  6. Legacy SOAP. Many examples online still use the old SOAP interface.

A checklist for a reliable VIES alternative

When evaluating a VAT validation API, ask:

Does it still use the official source? Look for a source field (vies, hmrc) in responses. If the provider can't tell you where an answer came from, walk away.

Does it tell you when an answer is cached, and how old it is? Caching is great for speed and reliability, but you need cached, stale and a checked_at timestamp to make your own compliance decisions.

What happens during an outage? The right behaviour: serve the last known good result clearly flagged as stale, or return an explicit "unavailable" error. The wrong behaviour: returning valid: false, or hanging for 30 seconds.

Are errors machine-readable? You want distinct codes like invalid_format, member_state_unavailable, service_unavailable, rate_limited, not a generic 500.

Does it cover the UK? XI (Northern Ireland) via VIES, and GB via HMRC, ideally with the same response shape. Ask whether GB is actually live.

Do you pay for failures? Many APIs bill every request, including ones that failed because the upstream was down. You should only pay for successful validations, and cached repeats should be free.

Is the pricing predictable? Monthly quotas with a visible "remaining" counter beat surprise overage bills.

How we built ours

We built the VAT & IBAN Validation API around that checklist:

curl -X POST https://vatpulse1.p.rapidapi.com/validate \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: vatpulse1.p.rapidapi.com" \
  -H "Content-Type: application/json" \
  -d '{"vat": "NL004495445B01"}'

When you should just call VIES directly

To be fair: if you check a handful of numbers a month by hand, use the official VIES web form. If you have the engineering time to build caching, retries, outage handling, HMRC OAuth and per-country formats yourself, the VIES REST API is free.

A wrapper earns its keep when VAT checks sit in a critical path like checkout, onboarding or invoicing, and you'd rather not be paged because Germany's tax system is down on a Saturday night.

Pricing

Get a free API key on RapidAPI · Docs · OpenAPI

Try it free

100 validations/month. Get a free key on RapidAPI · Docs