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.
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 Mini at €9/month: 500 shared EORI + VAT validations, 10 requests/minute and daily monitoring of one EORI. VAT monitoring starts at Starter. Starter €19, Growth €49 and Scale €99 remain available for higher volume, CSV batch and dated audit records. The Free key is shown once on EORICheck and is not emailed. A first paid purchase delivers a separate key by email; the published target is within 10 minutes after payment confirmation, not instant activation. Your original Free key stays Free.
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();Read the result before acting
- Status
- Valid in this sample
- Source
- VIES
- Request date
The sample shows a positive response at the date of the request. An unavailable response is unresolved, not invalid: retry later. Keep the date and source with your record.
The same sample as JSON
{
"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)
Mini · €9/month
500 validations per month shared between EORI and VAT, with 10 requests per minute. Includes daily monitoring of one EORI on EORICheck. VAT monitoring starts at Starter.
One subscription and one shared quota — not 500 checks on each site. Free stays at 100 validations/month; Starter €19, Growth €49 and Scale €99 remain available.
Checking checkout availability…Renews monthly. Your first paid purchase delivers a separate key by email; the target is within 10 minutes after payment confirmation. Your Free key stays Free. Review the renewal and cancellation terms on the shared plan page before paying.
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 checker: check an EU VAT numberCheck an EU VAT number against VIES, see a valid, invalid or unavailable result, and download a dated record. Review company details when the member state provides them.
- 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.