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.
- Price per 1,000 ranges from about $2.40 (vatcheckapi Large, 40,000 a month) and $2.60 (VATSense Premium, 50,000) to $30 (Vatstack Small Business); prepaid packs sit at $2.90–4.50 and never renew. Below 500 checks a month, every vendor’s free tier covers it.
- Consultation numbers: Vatstack, VATSense, vatcheckapi and Veriport return one when you identify yourself with your own VAT number; vatlayer, Abstract and viesapi.eu do not say; Stripe shows the registered name in its Dashboard but no number.
- When VIES is down: Vatstack queues and re-validates asynchronously (202, webhooks); VATSense routes to two fallback services and does not count a 412; Stripe retries behind the scenes; Veriport serves the dated answer of the last 30 days marked stale, or a 503 that is not counted, and publishes the per-member-state record; the others do not say.
- Data residency: Vatstack states an EU data centre on every plan, vatcheckapi servers in Germany, Veriport functions and database in Paris; the others do not state a region on the pages read.
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.
| Vendor | Entry paid plan | Per 1,000 at full use | Free tier | Consultation number | When VIES is down | Data residency |
|---|---|---|---|---|---|---|
| Vatstack | Small Business $15/mo, 500 validations | $30.00 (Small Business) → $10.00 (Enterprise $150/mo, 15,000); overage $0.09 / $0.03 / $0.01 | Launch: 100 validations at $0, then $0.09 each; a Developer plan with dummy validations | Yes: consultation_number once your own VAT ID is saved in the dashboard | HTTP 202 SERVICE_UNAVAILABLE with valid: null, automatic re-validation later, webhooks | EU 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 only | Not mentioned on the product page | Not stated; the response carries valid, format_valid, company_name, company_address | Not stated |
| Abstract API | Standard $99/mo | $19.80 if the 60,000 requests are per year as one block says, $1.65 if per month as the other says | 100 requests at 1 request a second | Not mentioned | Not stated; VIES named as the primary source, « supplemented with additional data » | Not stated (« global architecture », SOC 2 Type II) |
| VATSense | Starter $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 card | Yes: requester_vat_number → consultation_number (OpenAPI) | « Two fallback services »; a 412 when VIES is unavailable, not counted | Not stated |
| vatcheckapi | Small $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 card | Yes: requester_vat_number → consultation number (docs; sandbox returns a fixed one) | A 503 when a register is down; 5xx not counted; no cache stated | Servers 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 month | No free plan listed; a test environment | Not stated on the offer page | Not stated; a 99.9 % SLA is advertised | Not stated (NETCAT, Warsaw) |
| Stripe Tax | Tax 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 Tax | None for Tax; a tax ID can be saved on any customer | Not mentioned; the Dashboard shows the registered name and address | « Stripe automatically handles VIES downtime and attempts retries »: status pending → verified / unverified / unavailable | Stripe’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 included | 100 calls a month with a key, 20 a day without, no card, no expiry | Yes: requester → consultationNumber on the paid tiers, live answers only | The answer of the last 30 days, dated and marked stale; else a 503 that is not counted; a public per-member-state record | Functions 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 pricingSources
- Vatstack pricing: Launch $0 (100 validations, then $0.09), Small Business $15/mo (500, $0.03 over), Enterprise $150/mo (15,000, $0.01 over, 99.95 % SLA); EU data centre on every plan; prices exclude VAT — Vatstack, consulted 2026-10-28
- Vatstack docs — Validations: consultation_number when your own VAT ID is saved in the dashboard; VIES unavailable → HTTP 202 SERVICE_UNAVAILABLE with valid: null, automated re-validation and webhooks (validation.succeeded / validation.failed) — Vatstack, consulted 2026-10-28
- vatlayer (apilayer) — product and pricing: Free $0 (100 requests/month, non-commercial), Basic $9.99 (1,000), Professional $29.99 (4,000), Enterprise $99.99 (20,000); response: valid, format_valid, company_name, company_address; « EU Commission » databases as source; no consultation number, hosting and VIES fallback not stated — apilayer (Idera), consulted 2026-10-28
- Abstract API — VAT Validation & Rates API: Free 100 requests (1 request/s), Standard $99/month (3 requests/s; the quota is shown as 60,000 per year in one block and 60,000 per month in another), Enterprise custom (99.99 % SLA); VIES as primary source; no consultation number, hosting region not stated — Abstract API, consulted 2026-10-28. The page contradicts itself on the Standard quota (per year vs per month); both readings are given where the figure is used.
- VATSense pricing: Free 100 requests/month, Starter $6.99 (500), Basic $13.99 (2,000), Standard $39.99 (10,000), Plus $79.99 (25,000), Premium $129.99 (50,000); « VIES fallbacks: two fallback services »; validations that fail because VIES is unavailable are not counted — VATSense, consulted 2026-10-28. The page’s FAQ markup quotes GBP figures (£4.99 → £99.99) while the visible table is in USD; plans are payable in GBP, USD or EUR.
- VATSense OpenAPI — /validate: requester_vat_number → consultation_number; company_name and company_address; 412 when VIES is temporarily unavailable, not counted against the quota — VATSense, consulted 2026-10-28
- vatcheckapi pricing (Everapi GmbH): Free 150 validations/month (10 requests/min), Small $9.99 (2,000), Medium $35.99 (10,000), Large $95.99 (40,000), annual = two months free; prices exclude VAT; servers in Germany; sandbox keys on Medium and above; requester_vat_number → consultation number (docs); 5xx not counted — Everapi GmbH (vatcheckapi), consulted 2026-10-28
- VIES API (viesapi.eu, NETCAT, Warsaw) — offer: Startup €8/month billed annually (€10 monthly) for 1,000 requests (€0.03 over), Business €24 (€30) for 5,000 (€0.02), Professional €40 (€50) for 10,000 (€0.01); requests valid during the calendar month; net prices; no free plan (a test environment); 99.9 % SLA advertised; consultation number and VIES fallback not stated — NETCAT – IT Systems (viesapi.eu), consulted 2026-10-28
- Stripe Tax pricing: Tax Basic 0.5 % per transaction (no-code) or $0.50 per transaction with 10 calculation calls included ($0.05 each above) for the API; Tax Complete from $90/month; VAT ID formatting validated, no separate price — Stripe, Inc., consulted 2026-10-28
- Stripe docs — Customer tax IDs: EU VAT numbers validated with VIES, « Stripe automatically handles VIES downtime and attempts retries »; verification status pending / verified / unverified / unavailable; registered name and address shown in the Dashboard; validation not repeated over time; the reverse charge applied on the format regardless of the verification result — Stripe, Inc., consulted 2026-10-28
- VIES REST API — check-vat-number, check-status (technical information) — European Commission, DG TAXUD, consulted 2026-10-24
- VIES — help page: what the consultation number proves, member-state availability — European Commission, DG TAXUD, consulted 2026-10-24