EU VAT validation APIs compared (2026): price per 1,000, free tier, consultation numbers, outages, residency

Eight ways to validate an EU VAT number on VIES by API, read from each vendor’s public pages on 2026-10-28 and compared on the five things that decide the choice: the price per 1,000 validations at full use, the free tier, whether the answer carries the VIES consultation number an audit asks for, what the API returns when VIES or a member state is down, and where the data is processed. VIES itself is free and needs no key; every product below is a layer on it, including ours, and the table says what each layer adds. A cell that reads « not stated » means the vendor’s page does not say; we did not guess.

The comparison, vendor by vendor

Prices are what each vendor’s public page said on 2026-10-28 (linked in the sources); they exclude VAT where the vendor says so, and Veriport’s include it. Per-1,000 figures assume full use of the included volume. Nothing here is benchmarked: uptime, latency and support are not measured by us.

VendorEntry paid planPer 1,000 at full useFree tierConsultation numberWhen VIES is downData residency
VatstackSmall Business $15/mo, 500 validations$30.00 (Small Business) → $10.00 (Enterprise $150/mo, 15,000); overage $0.09 / $0.03 / $0.01Launch: 100 validations at $0, then $0.09 each; a Developer plan with dummy validationsYes: consultation_number once your own VAT ID is saved in the dashboardHTTP 202 SERVICE_UNAVAILABLE with valid: null, automatic re-validation later, webhooksEU data centre on every plan (pricing page)
vatlayer (apilayer)Basic $9.99/mo, 1,000 requests$9.99 (Basic) → $7.50 (Professional $29.99, 4,000) → $5.00 (Enterprise $99.99, 20,000)100 requests a month, non-commercial use onlyNot mentioned on the product pageNot stated; the response carries valid, format_valid, company_name, company_addressNot stated
Abstract APIStandard $99/mo$19.80 if the 60,000 requests are per year as one block says, $1.65 if per month as the other says100 requests at 1 request a secondNot mentionedNot stated; VIES named as the primary source, « supplemented with additional data »Not stated (« global architecture », SOC 2 Type II)
VATSenseStarter $6.99/mo, 500 requests$13.98 (Starter) → $7.00 (Basic $13.99, 2,000) → $4.00 (Standard $39.99, 10,000) → $2.60 (Premium $129.99, 50,000)100 requests a month, no cardYes: requester_vat_number → consultation_number (OpenAPI)« Two fallback services »; a 412 when VIES is unavailable, not countedNot stated
vatcheckapiSmall $9.99/mo, 2,000 validations$5.00 (Small) → $3.60 (Medium $35.99, 10,000) → $2.40 (Large $95.99, 40,000)150 validations a month, 10 requests a minute, no cardYes: requester_vat_number → consultation number (docs; sandbox returns a fixed one)A 503 when a register is down; 5xx not counted; no cache statedServers in Germany (Everapi GmbH, Austria)
VIES API (viesapi.eu)Startup €8/mo billed annually (€10 monthly), 1,000 requests€8–10 (Startup) → €4.80–6.00 (Business €24–30, 5,000) → €4.00–5.00 (Professional €40–50, 10,000); overage €0.03 / €0.02 / €0.01; requests valid for the calendar monthNo free plan listed; a test environmentNot stated on the offer pageNot stated; a 99.9 % SLA is advertisedNot stated (NETCAT, Warsaw)
Stripe TaxTax Basic: 0.5 % per transaction, or $0.50 per transaction via the API (10 calculation calls included)Not a per-validation price: validation comes with the customer’s tax ID in Billing or TaxNone for Tax; a tax ID can be saved on any customerNot mentioned; the Dashboard shows the registered name and address« Stripe automatically handles VIES downtime and attempts retries »: status pending → verified / unverified / unavailableStripe’s infrastructure (not stated per region on these pages)
Veriport$9 once for 2,000 calls (12 months)$4.50 (2,000 pack) → $3.00 (plan) → $2.90 (10,000 pack); tax included100 calls a month with a key, 20 a day without, no card, no expiryYes: requester → consultationNumber on the paid tiers, live answers onlyThe answer of the last 30 days, dated and marked stale; else a 503 that is not counted; a public per-member-state recordFunctions and database in Paris, France (EU); publisher in the US

How to read the price column

A subscription price per 1,000 is only reached at full use of the tier; a team that validates 300 numbers a month on a 2,000-request plan pays the plan, not the per-1,000 figure. Prepaid packs invert that: the per-1,000 price is fixed and the calls wait twelve months. Overage prices (Vatstack $0.09 → $0.01, viesapi.eu €0.03 → €0.01) matter more than tier prices for a seasonal business. Abstract’s page shows its Standard quota both per year and per month, which moves the per-1,000 figure from $19.80 to $1.65; ask them before buying.

What « when VIES is down » means for your code

VIES is a relay in front of 27 national registers, and one of them is unavailable far more often than the relay itself (the measured record shows which, for how long). The vendors answer that moment in four different ways: an asynchronous queue with a webhook (Vatstack), private fallback sources (VATSense), silent retries inside a billing flow (Stripe), or a dated answer from a cache that says it is cached (Veriport). None of them can make a member state answer; the question to ask is what your invoice run or checkout does with each of those four answers, and whether the evidence you keep says which one you got.

When to pick which

  • Vatstack when you want a hosted dashboard your finance team logs into, webhooks that tell you when a pending validation resolved, or your volume is above 5,000 a month with budget for $150.
  • vatlayer (apilayer) when you already hold an apilayer account for other APIs and want one invoice, or you need their price-calculation endpoint next to the validation.
  • Abstract API when you want several utility APIs from one vendor with an enterprise contract, or your legal team needs the SOC 2 report more than the provenance of each answer.
  • VATSense when you need UK and EORI numbers validated by the same call today, or you run more than 25,000 checks a month on a subscription.
  • vatcheckapi when you want the cheapest subscription at 10,000 to 40,000 checks a month, a sandbox for your test suite, or a European operator with servers in Germany on the invoice.
  • VIES API (viesapi.eu) when your users check VAT numbers from a spreadsheet or a desktop tool rather than from code, or you want Zapier and make.com integrations ready-made.
  • Stripe Tax when you bill through Stripe already: saving the customer’s VAT number on the Customer object validates it on VIES for nothing more, and Stripe Tax applies the reverse charge from it.
  • Veriport when you want to pay for what you use (a few hundred validations a quarter is the common case for a small SaaS), need the IBAN and French-company checks on the same key, want the degraded path explicit and documented in the response, or want the consultation number over REST without a dashboard.

Questions

Why not call VIES directly and skip all of them?
You can, and the VIES API guide shows how. What you build yourself then: the structural pre-check, the cache for the hours a member state is down, bounded retries that respect the concurrency codes, and the storage of the consultation number. Every vendor above sells some subset of those four; the roundup says which.
Are these prices current?
They were read on 2026-10-28 from the pages linked below; vendors change tiers without notice. Each alternative page carries the same date; a price that looks wrong is worth a minute on the vendor’s page before deciding.
Which one is the cheapest?
Below 100 checks a month: any free tier. Below 2,000 a month: a prepaid pack or vatcheckapi Small. Above 40,000 a month on a subscription: vatcheckapi Large or VATSense Premium. Above that, Vatstack Enterprise with its SLA or a negotiated contract.
Is Stripe Tax really a VAT validation API?
No, which is why it is in the table: many teams already validate through it without knowing. Saving an EU VAT number on a Stripe Customer validates it on VIES and the Dashboard shows the registered name; what you do not get is a per-call API with a consultation number, and the reverse charge is applied on the format regardless of the verification result.

Free tier now; packs and plan when checkout opens.

See the pricing

Sources