EU VAT validation – 27 EU member states + Northern Ireland

vatnode – VIES API for EU VAT Validation
with Consultation Numbers

Validate EU VAT numbers in a single REST call. Set your own VAT as requester once in dashboard Account details and every check of a valid VAT number returns the VIES consultation number automatically – or fails with an explicit error, never a silent null on a successful response. Automatic fallback to the national VAT register for covered countries when VIES is unavailable, and enriched company data from national registers in the same response – plus VAT rates for 45 European VAT jurisdictions.

Built for the engineers who ship the integration – and the finance teams who need to defend the check later. EU-hosted: data processed and stored in the EU.

$ curl -s https://vatnode.dev/SKILL.md
100 free requests/monthNo credit card required<50ms cached
Request
curl "https://api.vatnode.dev/v1/vat/IE6388047V" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response200 OK
{
  "valid": true,
  "vatId": "IE6388047V",
  "countryCode": "IE",
  "countryName": "Ireland",
  "companyName": "GOOGLE IRELAND LIMITED",
  "companyAddress": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4",
  "companyRegistrationDate": null,
  "companyForm": null,
  "industryDescription": null,
  "registryCode": null,
  "registryCodeName": null,
  "taxId": null,
  "taxIdName": null,
  "countryVat": {
    "vatName": "Value Added Tax",
    "vatAbbr": "VAT",
    "currency": "EUR",
    "standardRate": 23,
    "reducedRates": [
      13.5,
      9
    ],
    "vatNumberFormat": "IE + 7 digits + 1–2 letters, or IE + 1 digit + letter/+/* + 5 digits + 1 letter",
    "vatNumberPattern": "^IE\\d{7}[A-W][AH]?$|^IE\\d[A-Z+*]\\d{5}[A-W]$"
  },
  "checkId": "019d2a89-a5d9-7b97-b710-57b84604de2b",
  "verifiedAt": "2026-03-26T14:25:57.209Z",
  "consultationNumber": "WAPIAAAAZ27qPadm",
  "source": "VIES"
}

Used to validate VAT at checkout, invoicing, and B2B onboarding.

910,450+VAT numbers validated
468,569+EU companies checked
27EU member states
<50msCache response time

vatnode is a VIES API – a REST layer over the European Commission's official VIES register – that validates EU VAT numbers, with automatic fallback to the national VAT register for covered countries when VIES is unavailable. Each response returns the validity result, the trader's company details, a VIES consultation number for qualified checks, and that country's current VAT rates – in one call.

Since 1 January 2020, under Council Directive (EU) 2018/1910, a valid customer VAT number is a substantive condition for zero-rating intra-EU B2B goods supplies – alongside correct EC Sales List reporting. It is no longer a formality. vatnode checks the number against VIES at invoice time and, on qualified checks, returns the EU consultation number as audit evidence.

Not tax advice – see Terms.

Why this matters

Boolean VAT Validation Is Not Enough for Audits

During a tax audit the burden of proof is yours: you have to show the customer's VAT number was valid at the time you invoiced, not that it is valid today. A boolean sitting in your own database proves nothing to a tax authority – it is your word for it.

vatnode returns the official VIES consultation number — a verifiable reference that shows the check was performed, when, and what the result was. vatnode returns it as part of every qualified validation response.

Everything You Need for EU VAT Compliance

One API call returns validated status, enriched company data, VAT rates, and an audit trail – ready for checkout, invoicing, and B2B onboarding.

Real-time + Resilient

When a country node is temporarily unavailable, covered countries are answered from the national VAT register instead – a domestic-registration answer, not a VIES confirmation. Cache hits return in <50ms; live checks in 200–800ms.

Audit-Ready Evidence

Set your own VAT as requester once in dashboard Account details and every validation of a valid VAT number returns the VIES consultation number automatically — it shows the check happened at a specific time. Store it alongside your invoices as evidence of the check.

Know Before You Invoice

Subscribe to your customers' and suppliers' VAT IDs. Get a webhook the moment one de-registers — so you fix the next invoice before it goes out wrong, instead of finding out at audit time.

Enriched Company Data

Registration date, legal form (GmbH, SAS, AB…), and industry code from national registries — beyond a basic VAT lookup. Local VAT name, abbreviation, all rate tiers, and currency — in every response.

Where a VAT number belongs to a sole trader, some fields may constitute personal data under GDPR.

Developer-First

Clean REST API over HTTPS. Works with any language — curl, JavaScript, Python, PHP, Ruby, Go. Up and running in minutes.

MCP Server for AI Agents

Plug Claude Desktop, Cursor, ChatGPT — anything that speaks Model Context Protocol — straight into vatnode. Your AI assistant validates VAT IDs and looks up rates in the chat, with your key staying on your machine. Open source.

Set up MCP →

Up and Running in Minutes

No SDK. No infrastructure. Just one HTTP call.

1

Create Your Account

Sign up and get an API key instantly. Free plan, no credit card required.

vat_test_••••••••••••••••
vat_live_••••••••••••••••

2

Make a Request

One HTTP call. Works with any language – curl, JavaScript, Python, PHP.

GET /v1/vat/IE6388047V

Authorization: Bearer vat_live_…

3

Get Structured Data

Company name, address, validity, and VAT rates for the country – all in one response.

‘valid’: true,

‘companyName’: ‘GOOGLE…’,

Built for Real B2B Workflows

vatnode handles VAT validation wherever your business touches an EU counterparty.

Checkout

Validate a customer's VAT number at checkout to apply the correct reverse charge or tax rate — without blocking the buy button when a country source is temporarily unavailable.

Invoicing

Verify VAT before generating zero-rated intra-EU invoices. Store the consultationNumber alongside your invoice — it's the VIES reference that proves the check happened at invoice time.

B2B Onboarding

Confirm a new business customer is registered. Enrich the record with legal form and industry from national registries, plus the register number where one applies.

Monitoring

Track VAT IDs of active customers and get webhook alerts when a registration becomes invalid between billing cycles — before it surfaces in an audit.

Pricing Tied to What It Prevents

Failed B2B invoices, wrong reverse-charge VAT decisions, and audits you cannot defend — every plan stops all three. Pick a tier based on volume and how often you re-check existing customers.

Prevents

Failed B2B invoices

VAT ID validated at checkout and invoice time, before the transaction commits.

Prevents

Wrong reverse-charge VAT

Country code + validity returned, so your tax engine applies the right B2B treatment.

Prevents

Audit exposure

VIES consultation number once you set your own VAT as requester – checkId and verifiedAt on every response for internal reference.

Free

€0/month

For testing and small projects

  • 100 requests/month
  • VAT validation
  • VAT rates API
  • Community support
Get Free API Key

Starter

€19/monthexcl. VAT

Monitoring and webhooks bundled in — some cheaper metered APIs gate them behind a higher tier or leave them out.

  • 1,000 requests/month
  • Everything in Free
  • Daily monitoring
  • Webhooks
  • Email support
Get Free API Key
Most Popular

Pro

€49/monthexcl. VAT

For high-volume needs

  • 10,000 requests/month
  • Everything in Starter
  • Monitor 250 VAT IDs
  • Priority support
Get Free API Key

View full pricing details →

Why a yes/no result is not enough

Boolean true Is Not Audit Evidence

A Raw VIES Check

  • ×Returns valid/invalid — no proof the check happened
  • ×No official reference to attach to an invoice
  • ×Fails during country-level VIES outages
  • ×No enriched company data from national registries

vatnode

  • ✓VIES consultation number — proof the check was performed
  • ✓checkId + verifiedAt — internal reference for support lookups
  • ✓National registry fallback for covered EU countries
  • ✓Legal form, registration date, industry — in one call

See the full VIES API reference for the request/response contract, error codes, and coverage.

What vatnode Adds Beyond a Basic VAT Lookup

The official VIES API returns a valid/invalid signal and basic company details. vatnode adds national registry fallback, enriched company data, audit trail, and VAT rates – all in a single REST call. Read the full EU VAT validation API overview.

Interface
Other EU source
SOAP web service
XML envelopes over SOAP, requires a SOAP client
vatnode
REST JSON over HTTPS
Standard HTTP — curl, fetch, any library, any language
Reliability
Other EU source
Single point of failure
Country node down = validation fails
vatnode
National registry fallback + enrichment
Falls back to the national VAT register for covered countries when VIES is unavailable
Company data
Other EU source
Name + address only
No structured enrichment available
vatnode
Registration date, legal form, industry code
GmbH, SAS, AB — legal form and NACE industry code from national registries
Audit trail
Other EU source
No logging
You must build your own storage layer
vatnode
checkId + verifiedAt + VIES consultation number
VIES consultation number — a reference proving the check was made against VIES at a given date and time — once you set your own VAT as requester in dashboard Account details; checkId (UUID) and an ISO timestamp on every call for your own internal record
VAT rate data
Other EU source
Separate call needed
No rate data — you maintain your own lookup
vatnode
All rate tiers bundled in every response
Standard, reduced, super-reduced, parking — plus local name and abbreviation

All of the above arrives in a single REST call. See the full response schema

Looking at other VAT API providers? See how vatnode compares →

On a non-Stripe billing stack? See the comparison →

Built for the People Who Sign the Contract – and the People Who Ship the Code

Finance picks the vendor. Engineering does the integration. vatnode is the rare tool both sides agree on.

For Finance & Compliance

Audit Evidence You Can Keep, Not Best-Effort Lookups

  • • Wrong VAT on an invoice means tax exposure.A VIES check that isn't logged is a check that didn't happen as far as auditors are concerned.
  • • VIES consultation number on every qualified check (valid VAT number, requester configured) – proof the check took place on a specific date against the official EU VAT system.
  • • Monitoring catches de-registrations before the next invoice — not at audit time, when the fine has already accrued.
  • • EU-hosted, EU-operated. Data processed and stored in the EU.
For the engineers integrating it

The API Your Team Actually Enjoys Using

  • • One REST call. JSON over HTTPS. No SOAP, no SDK, no vendor runtime. curl works.
  • • Predictable error contract. Documented codes, real requestId on every response, no surprise 200s wrapping failures.
  • • Resilient by default. National-registry fallback when a VIES member node is down – so your job queue keeps moving instead of paging someone.
  • • Test mode without rituals.Test keys return deterministic fixtures, don't hit VIES, don't count toward quota.

Just need VAT rates? The dataset is free and open-source.

Current standard, reduced, super-reduced and parking rates for 45 European VAT jurisdictions – via GET /v1/rates (no API key) or the open-source npm/pip/Composer package. Checked daily against the European Commission TEDB service and updated on any change.

See the data

Frequently Asked Questions

Everything you need to know before integrating

What is vatnode?▾

vatnode is an EU VAT number validation API. It checks a VAT ID in real time against the official EU VIES system and returns the validity result, company details, VAT rates and a timestamped audit reference as JSON.

Read the full answer →
Why do I need to validate EU VAT numbers for B2B sales?▾

Zero-rating an intra-EU B2B supply depends on the customer having a valid EU VAT number at the time of supply, and on you being able to evidence the check. Without that evidence the tax authority can assess the VAT against you.

Read the full answer →
How accurate is the validation?▾

vatnode queries VIES in real time, so accuracy is that of the EU system: a valid result means the number was registered and active at the moment of the check. Valid results are cached for 15 minutes, and the source field tells you which you got.

Read the full answer →
Which countries are supported?▾

Live validation covers the 27 EU member states plus Northern Ireland (XI), all through VIES. Greece uses EL, as in VIES.

Read the full answer →
What happens when VIES is temporarily unavailable?▾

vatnode first tries a national-registry fallback for supported countries, and otherwise returns HTTP 503 with VIES_UNAVAILABLE. That is not an invalid result, so retry later instead of rejecting the customer.

Read the full answer →
What plans are available?▾

Free, Starter, Pro and Enterprise. Free is 100 requests a month with no card; Starter is €19/month and Pro €49/month, each with more requests and VAT monitoring with webhooks. Enterprise limits are on request.

Read the full answer →

Ready to Validate VAT Numbers?

Start validating in minutes. Free plan, no credit card – test your full integration before you upgrade.

Built by Iurii Rogulia for EU compliance.