EU VAT validation API and batch checks
Use the free single-check endpoint below, or get one API key that validates EU VAT (VIES) and EORI (TAXUD) together — a live, self-serve product with a free tier.
Use the free single-check endpoint below, or get one API key that validates EU VAT (VIES) and EORI (TAXUD) together — a live, self-serve product with a free tier.
What is available today
The free endpoint below accepts one VAT number per request and returns a live VIES result. It has no API key, uptime SLA, or commercial support commitment.
For automation there is now a live, self-serve API: one key validates both EU VAT (VIES) and EORI (TAXUD), metered with a free tier (100 checks per month) and paid plans from €19/month for higher volume, CSV batch, and dated audit records. Keys issue instantly — no sales call.
No VAT numbers are retained longer than needed unless you explicitly opt into an audit-history product.
Building on the official VIES service
The official VIES technical service exposes VAT validation through a SOAP interface used by many VAT checker tools. A typical check sends a member-state country code and a VAT number, then receives valid, invalid, or error responses. It can also expose approximate checks for workflows that include requester details and may return a request identifier.
Build for downtime, member-state failures, timeouts, and concurrency limits from day one. Avoid storing VAT numbers unless you have a clear user-facing retention purpose and privacy controls.
The metered endpoints below already absorb that work: retries, normalized error states, and a 24-hour cache on upstream responses.
Single-check API quickstart
Send a VAT ID to the same validation route used by the free checker. A successful response reports valid or invalid; upstream or capacity failures return unavailable and should be retried later.
cURL
curl -X POST https://vatvalidate.eu/api/validate \
-H "Content-Type: application/json" \
-d '{"vatId":"DE123456789"}'Server-side JavaScript
const response = await fetch(
"https://vatvalidate.eu/api/validate",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ vatId: "DE123456789" })
}
);
const result = await response.json();Example response shape
{
"status": "valid",
"countryCode": "DE",
"vatNumber": "DE123456789",
"requestDate": "2026-07-16",
"name": "Example company",
"address": "Example address",
"source": "VIES",
"message": "VIES currently confirms this VAT number..."
}Example only. Company details depend on the member-state response. A VIES result is point-in-time evidence, not tax or legal advice.
Your first metered call
Already have a key? Make your first metered call here
The quickstart above uses the free endpoint, which takes no key. This one uses your key against the metered endpoint — the same route /bulk uses. Your key stays in this browser.
The same call, to take away
curl "https://eoricheck.com/v1/vat?number=NL822010690B01" \
-H "Authorization: Bearer ek_your_api_key"Check your remaining quota any time with curl "https://eoricheck.com/v1/usage" -H "Authorization: Bearer ek_...". A VIES result is point-in-time evidence, not tax or legal advice.
One key validates VAT and EORI
Automating VAT checks? The same VIES validation runs behind a metered API that also validates EU EORI numbers against TAXUD — one key does both. Start free, upgrade when you need batch volume and dated audit records.
- Free tier: 100 validations per month, no card
- One key validates VAT (VIES) and EORI (TAXUD)
- JSON responses with per-key quota and rate limits
- CSV batch and dated audit records on paid plans (€19 / €49 / €99)
Sold by Covo Franco Digital LLC, a Wyoming limited liability company, with its registered address at 30 N Gould St Ste N, Sheridan, WY 82801. It is the company that takes the payment and issues the invoice. Questions and cancellations: hello@vatvalidate.eu.
Need managed monitoring or a custom volume?
Prefer a managed pilot, VAT monitoring, or terms beyond the standard plans? Tell us the scope — this is a fit review, not a purchase.
Related VIES guides
- VIES VAT checkerCheck an EU VAT number in VIES and understand what the response means.
- EU VAT number validationValidate EU VAT IDs and learn when VAT checks matter for cross-border trade.
- VIES consultation numberLearn what a VIES consultation number is and when it can appear.
- VIES errors explainedMS_UNAVAILABLE, MS_MAX_CONCURRENT_REQ, TIMEOUT, INVALID_INPUT and SERVICE_UNAVAILABLE — what each VIES error actually means, whether to retry, and which member states are down right now.
- VIES service unavailableWhat to do when VIES or a national VAT registry is unavailable.
- Is VIES down?Live VIES status, country by country. See which EU member-state VAT registries are answering right now, read from the European Commission's own availability table every 15 minutes.