Global Tax ID Validation API
built for developers
One endpoint. Validate VAT and company IDs across 31 countries — 27 EU member states via VIES, plus UK, Switzerland, Norway, and Australia.
No credit card required · Free forever
- 31
- countries supported
- <10ms
- cached response
- 24h
- response cache
- $0
- to start
Quickstart
Validate EU VAT in One API Call
One POST request. Pass the VAT number, get back the company name, address, and validation status in JSON.
curl https://taxid.dev/api/v1/validate/DE/DE123456789 \
-H "Authorization: Bearer vat_xxxxxxxxxxxx"{
"valid": true,
"vat": "DE123456789",
"country_code": "DE",
"company_name": "Example GmbH",
"address": "Musterstraße 1, 10115 Berlin",
"cached": true,
"request_id": "req_01j..."
}Features
EU VAT Validation API Features
A thin, reliable wrapper around VIES — without the SOAP, the downtime surprises, or the cryptic error messages.
VIES-backed
Every validation hits the EU Commission's official VIES system. You get the same authoritative data used by tax authorities across all 27 member states.
Sub-10ms cached
Valid numbers are cached in Redis for 24 hours. Repeat lookups for the same VAT number resolve in under 10ms — no VIES roundtrip required.
27 EU member states
Full coverage from Austria to Sweden. Each country endpoint validates format locally before hitting VIES, saving quota on malformed numbers.
Company name & address
Every successful response includes the registered company name and address as returned by the national tax authority — ready to print on invoices.
Stripe-style errors
Machine-readable error codes like vat_invalid, service_unavailable, and country_not_supported. Never parse a human-readable string to branch your logic.
Format validation first
Each VAT number is checked against a country-specific regex before the VIES call. Invalid formats fail instantly without consuming your monthly quota.
Integration guides
Integrate in your stack
Step-by-step guides for the most common EU VAT integration patterns. Browse all use cases →
Node.js VAT validation
Validate EU VAT numbers in Express or Fastify — handle active, invalid, and VIES downtime correctly.
PythonPython VAT validation
requests or httpx integration with full error handling for Django and FastAPI.
B2BB2B invoice validation
Automate VAT checks before generating zero-rate invoices for EU business customers.
ReactReact checkout VAT
Inline VAT validation in your React checkout form with real-time status feedback.
Pricing
VAT API Pricing — Start Free
Start free. No credit card required. Upgrade when you need more.
Free
$0forever
100 validations/month
- All 27 EU countries
- Company name + address
- JSON responses
- No credit card
Starter
$19/month
1,000 validations/month
- All 27 EU countries
- Sub-10ms cached
- Stripe-style errors
- Email support
Growth
$49/month
10,000 validations/month
- All 27 EU countries
- Sub-10ms cached
- Priority support
- Email support
Need more than 10,000 validations? Contact us for custom pricing.
Alternatives
How TaxID compares
Evaluating EU VAT APIs? We've written honest side-by-side comparisons with migration guides. See all comparisons →
TaxID vs Avalara
Enterprise compliance vs. developer-first API. No sales call required.
TaxID vs Vatstack
Vatstack caps the free tier at 20/month. TaxID gives 100, scales to 1M.
TaxID vs Vatlayer
Vatlayer charges extra for HTTPS. TaxID includes it on the free plan.
TaxID vs VATCheck API
VATCheckAPI maxes at 5k/month. TaxID scales 200x further.
TaxID vs LookupTax
LookupTax is global. For EU-only VAT, TaxID starts at $0.
FAQ
Frequently asked questions
Is TaxID free to use?
Yes. The free plan includes 100 EU VAT validations per month with no credit card required. Paid plans start at $19/month.
How does TaxID handle VIES downtime?
When VIES is unavailable, TaxID returns a structured service_unavailable error code. Previously cached results remain accessible during outages so your app never hard-fails on validated numbers.
What data does the API return?
valid, vat, country_code, company_name, address, cached, and request_id. Company name and address come directly from the national tax authority's VIES record.
Which EU countries are supported?
All 27 EU member states — Austria through Sweden. Each country validates format locally before hitting VIES.
How does TaxID compare to calling VIES directly?
VIES is SOAP-based, frequently unavailable, and has no caching. TaxID wraps it in a REST/JSON API with Redis caching, structured error codes, and sub-10ms cached responses.
Something else on your mind?
hello@taxid.devStart validating in 60 seconds
Free API key. No credit card. 100 validations per month on the free plan.
Get started free