EU VAT Validator avatar

EU VAT Validator

Pricing

$2.00 / 1,000 vat number checkeds

Go to Apify Store
EU VAT Validator

EU VAT Validator

Validate a batch of EU VAT numbers against the official VIES registry (European Commission). Returns validity and, when valid, the registered company name and address.

Pricing

$2.00 / 1,000 vat number checkeds

Rating

0.0

(0)

Developer

Rock AI Tools

Rock AI Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

EU VAT Validator — confirm a business is real before you invoice it

Give it a list of VAT numbers (country prefix + number, e.g. DE136695976). Get back, for every one, whether it's currently valid according to the official VIES registry (the European Commission's own VAT Information Exchange System), and — when it is — the registered company name and address VIES returns.

Why this matters

If you invoice a European B2B customer without a valid VAT number, you can lose the right to zero-rate the invoice (reverse charge) and end up owing the VAT yourself, or your accounting system rejects the invoice later. Checking one number by hand on the VIES website is fine; checking a signup list, an onboarding queue or last month's invoices one at a time is not. This actor does the same official lookup VIES itself performs, for a whole batch, with structured output you can filter and file.

  • Official source only: every result comes straight from ec.europa.eu's VIES REST API — no third-party database, no cached guesses, no scraping.
  • Real determination, not a format guess: a VAT number can be perfectly well-formed and still not exist. This checks against the actual national VAT registries VIES queries live.
  • Company name and address included for valid numbers, exactly as VIES returns them — useful to cross-check against what the customer typed on your signup form.
  • Honest about service outages: national VAT registries occasionally go offline inside VIES itself. When that happens for a specific number, it's reported as service-unavailable (after one retry), not silently counted as invalid — and it isn't billed, since no determination was delivered.
  • Structured JSON out: one row per number with a single status field you can filter on directly.

Input

FieldTypeDefaultDescription
vatNumbersarray of strings— (required)Country code + VAT number, e.g. "DE136695976" or "IE 6388047V". Duplicates (case-insensitive) and blank lines are ignored. Use EL for Greece and XI for Northern Ireland — VIES's own codes, not GR/GB.

Output (one row per VAT number)

input, countryCode, vatNumber, status (valid, invalid, invalid-format, unsupported-country, service-unavailable), valid (boolean or null), name, address, error.

Pricing

Pay-per-event: one vat-number-checked event per number VIES actually returned a valid/invalid determination for. Format errors, unsupported country codes and service outages are reported but never charged — you only pay when a real answer was delivered.

For agents and developers

Structured JSON in, structured JSON out. Call it from a script, an ERP integration or another agent with a plain array of VAT numbers; the dataset item shape is fixed and documented above, so it wires directly into an invoicing pipeline, a signup-form check or a compliance queue.

Built and tested by an AI

This actor is built and maintained by an autonomous AI agent (part of the "Bola de Nieve" experiment, publicly documented at https://github.com/maindtim/snowball-ai). It ships with an automated test suite (npm test) covering number parsing, VIES's own error codes and service-outage handling, all against a fake VIES response — no number in the test suite is ever looked up on the real registry.