EU VAT Validator (VIES): Verify & Bulk-Check VAT IDs logo

EU VAT Validator (VIES): Verify & Bulk-Check VAT IDs

by Howth Technology FactoryOfficialGitHubWebsiteUpdated Jul 29, 2026

Validate EU and Northern Ireland VAT numbers against the official free VIES service — single and bulk, with business name/address and a down-vs-invalid distinction.

vat-validation
vies-lookup
eu-vat-number-check
+7
|

How to pay

Pick whichever fits your workflow — you can switch any time.

Subscribe

Monthly billing

$19/month

Predictable monthly cost with included usage. Best for steady, high-volume traffic.

  • Unlimited tools within plan limits
  • One API key, billed once a month
  • Cancel any time

Pay-per-call

Agent-native

$0.01 – $0.50 per call

Charge agents in USDC the moment they call a tool. No subscriptions, no signup — pay only for what you use.

  • 3 priced tools available
  • Settled in USDC on Base
  • No account or API key required

EU VAT Validator (VIES): Verify & Bulk-Check VAT IDs

Validate any EU VAT number — plus Northern Ireland (XI) — straight against the official, free VIES (VAT Information Exchange System) service. Get a real valid/invalid answer, the registered company name and address when the country exposes them, and bulk-check up to 100 VAT IDs in one call.

What it does

Checks any EU or Northern Ireland VAT number against the live European Commission VIES service and tells you three things a naive checker cannot: whether the number is currently valid, the registered business name and address when the member state publishes them, and — critically — whether a failed check means the number is genuinely invalid or the member state's own system is just temporarily unavailable. Most VAT checkers collapse those last two into one generic "failed" result. This one does not, because for compliance and invoicing decisions the difference matters.

Who it's for

Finance teams. Before filing a VAT return, check the customer VAT column and get a per-number valid / invalid / temporarily-unavailable verdict, so a zero-rated intra-EU sale is defensible if the return is queried.

Accountants. Re-check a client's supplier ledger each quarter and catch numbers deregistered since onboarding — the ones that fail an audit two years later, not today.

E-commerce and marketplace platforms. Verify the buyer's VAT ID at checkout to correctly apply or withhold reverse-charge treatment.

Developers and AI agents. Call validate_vat inside an onboarding flow, branch on the three states, and escalate to a human only when VIES says the number is genuinely invalid.

When to use it, and when not to

Use it to confirm a VAT number is registered for intra-EU trade, to bulk-clean a customer or supplier list, and to obtain a consultation number as audit evidence.

Do not use it to determine VAT treatment. A valid result confirms registration, not entitlement to any particular rate or relief, and it is not tax advice. It does not cover Great Britain (GB) numbers, which are not in VIES.

Why it's built this way

  • Official VIES data, not a guess — every check hits the European Commission's own VIES REST API. No scraping, no third-party VAT database, no stale cache.
  • Free, no API key — VIES is a free public EU service and this server needs no credentials to use it.
  • Company name and address lookup — when a member state publishes it, validate_vat returns the registered business name and address, not just true/false.
  • Down vs. invalid, correctly separated — VIES member states go offline often. This tool reads VIES's own error codes so MS_UNAVAILABLE (retry later) is never confused with INVALID (the number does not exist).
  • Bulk-ready — check up to 100 VAT IDs in one call, processed 5 at a time so one slow member state never stalls the batch, with a pass/fail summary.
  • EU + Northern Ireland (XI) — covers all 27 EU member states plus the XI prefix used for Northern Ireland VAT numbers post-Brexit.
  • Nothing stored — VAT IDs and results are never logged or retained beyond the response.

Tools

validate_vat — verify one EU/XI VAT number; returns validity, company name and address, and a status separating invalid from temporarily-unavailable.

{ "vat_id": "IE6388047V" }
{
  "input": "IE6388047V",
  "countryCode": "IE",
  "valid": true,
  "status": "VALID",
  "businessName": "GOOGLE IRELAND LIMITED",
  "businessAddress": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4"
}

bulk_check_vat — verify up to 100 VAT numbers in one call, 5 at a time, with a pass/fail summary. A single bad id never fails the batch.

{ "vat_ids": ["IE6388047V", "DE811569869"] }

check_vies_status — report each member state's current VIES availability, so you can tell whether an MS_UNAVAILABLE result is worth retrying right now. Takes no input.

Use cases

  • Invoicing — confirm a customer's VAT number before issuing a zero-rated intra-EU invoice.
  • Reverse-charge B2B — verify the buyer's VAT ID at checkout.
  • Onboarding / KYB — check a new counterparty's VAT registration and registered address.
  • Bulk list cleaning — run a CRM or billing export through bulk_check_vat to find dead, mistyped or deregistered numbers.

FAQ

What if VIES is down or a member state is not responding? You get status: "MS_UNAVAILABLE" (that country's system is down) or "SERVICE_UNAVAILABLE" (VIES itself unreachable) instead of a false "invalid." Call check_vies_status to see which countries are reachable before retrying.

Does it return the company name? Yes, when the member state publishes it via VIES. Some member states do not expose this data; in that case both fields are null even though the number is valid.

Does it work for UK VAT numbers? Only Northern Ireland (XI) numbers — the rest of the UK left VIES after Brexit.

Do I need an API key? No. VIES is a free official EU service and this server calls it directly with no credentials.

Configuration (optional)

requesterVatId — your own EU VAT number. When set, it is sent to VIES as the requester identity so responses include an official consultationNumber, a proof-of-check reference useful for audit trails. Leave it unset and everything else works exactly the same; consultationNumber is simply returned as null.

Trust & compliance

Checks against the official European Commission VIES service only — no third-party VAT database, no scraping, no aggregation. Nothing is stored: VAT IDs and results are never logged or retained beyond the response. This is a verification aid, not legal or tax advice — the compliance decision is yours.