27 EU member states · VIES-backed · <10ms cached

EU VAT Validation API
built for developers

One endpoint. Validate any European VAT number against VIES with aggressive Redis caching, structured JSON responses, and predictable pricing.

27
EU member states
<10ms
cached response
24h
response cache
free
to start

Quick start

One POST request. Pass the VAT number, get back the company name, address, and validation status in JSON.

Request
curl https://taxid.dev/api/v1/validate/DE/DE123456789 \
  -H "Authorization: Bearer vat_xxxxxxxxxxxx"
200 OK · 12ms (cached)
{
  "valid": true,
  "vat": "DE123456789",
  "country_code": "DE",
  "company_name": "Example GmbH",
  "address": "Musterstraße 1, 10115 Berlin",
  "cached": true,
  "request_id": "req_01j..."
}

What TaxID does

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.

Pricing

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
Get API key

Starter

$19/month

1,000 validations/month

  • All 27 EU countries
  • Sub-10ms cached
  • Stripe-style errors
  • Email support
Start free trial

Growth

$49/month

10,000 validations/month

  • All 27 EU countries
  • Sub-10ms cached
  • Priority support
  • Email support
Start free trial

Need more than 10,000 validations? Contact us for custom pricing.

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.dev