EU VAT Validator — VIES Check with Official Proof
Pricing
$6.00 / 1,000 vat checkeds
EU VAT Validator — VIES Check with Official Proof
Bulk-validate EU VAT numbers against the official VIES service. Returns company name and address, an official consultation number as proof, and never confuses "not registered" with "could not check".
Pricing
$6.00 / 1,000 vat checkeds
Rating
0.0
(0)
Developer
SourceRow
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Validate EU VAT numbers in bulk against VIES, the European Commission's official VAT Information Exchange System. Returns the registered trader name and address, an official consultation number usable as proof, and a distinct answer when VIES could not be reached.
What it does
Each number supplied is checked against the VIES service run by the European Commission. One row per number, 11 fields per row, containing whether the number is registered, the trader's name and address as held by the member state, and the date of the check.
The Actor is built around one distinction: "not registered" and "could not be
checked" are different answers. VIES is a federation of 27 national databases
and individual countries go offline regularly. A tool that reports an
unreachable country as invalid states that a real customer does not exist, and
acting on that by charging domestic VAT is expensive. Every row is valid,
invalid, or unchecked, and the three are never collapsed.
What you get
11 fields per row: input, country_code, vat_number, status, source,
company_name, address, request_identifier, request_date, error,
issues.
request_identifier is the official consultation number issued by VIES. It is
the evidence a tax authority accepts that a customer was verified on a given
date, and it is required for reverse-charge invoicing. It is only issued when
your own VAT number is supplied with the request.
Input
| Field | Meaning |
|---|---|
vatNumbers | Numbers with the country prefix, for example IT00743110157. |
vatNumbersText | A pasted list instead, one per line; commas and semicolons also work. |
requesterVatNumber | Your own VAT number. Optional, but without it VIES issues no proof of consultation. |
maxNumbers | Stop after this many. 0 removes the cap. |
{"vatNumbersText": "IT00743110157\nBE0417497106\nPL5250005834","requesterVatNumber": "IT00743110157","maxNumbers": 100}
Sample output
One complete record:
{"input": "IT00743110157","country_code": "IT","vat_number": "00743110157","status": "valid","source": "vies","company_name": "MOTOROLA SOLUTIONS ITALIA SRL","address": "LARGO FRANCESCO RICHINI 6 20122 MILANO MI","request_identifier": "WAPIAAAAXXXXXXXX","request_date": "2026-08-25T22:02:59.247Z","error": null,"issues": ""}
source states how the answer was produced: vies when the service replied,
format when the number was rejected locally before asking, cache when the
same number appeared earlier in the same list.
Pricing
| Event | Per 1,000 | Notes |
|---|---|---|
| VAT checked | $6.00 | Only numbers VIES actually answered |
Rows marked unchecked are not charged: an unreachable member state is a
service failure, not a result. Duplicates within a list are answered from cache
and are not charged either. There is no start fee and no per-row dataset fee.
What it does not do
It does not tell you whether a company is solvent, active or trading. VIES answers one question: is this VAT number registered for intra-EU trade today.
Germany and Spain do not return trader names. Those member states do not
disclose names through VIES. The number is confirmed registered and
company_name is empty. This is national policy, not a limitation of this
Actor, and issues flags it as valid_without_name.
No proof without your own VAT number. The consultation number is issued by
VIES to an identified requester. Without requesterVatNumber the validation
result is correct but carries no evidence, and issues flags
no_official_proof.
Unchecked rows are not retried automatically. A member state that is down stays down for the length of a run. Re-run those rows later rather than treating them as invalid.
Notes
Supply your own VAT number whenever the check is for invoicing. Without it the answer is correct but not defensible during an audit.
Filter for status = unchecked after a run and schedule those again. They are
unanswered, not negative.
Formatting does not need cleaning. IT 00743110157 and it-00743110157 resolve
to the same number and the second is answered from cache.
Schedule monthly rather than validating once at signup. Registrations are revoked and VIES reflects that within days.
Support
Open the Issues tab, including the specific VAT number and the status and
error values from the row.
Licence and attribution
VAT numbers are checked against VIES, the official service of the European Commission. VIES is a search interface over 27 national databases, not a downloadable dataset: each check queries the member state's own tax authority in real time. Nothing is downloaded, stored, or redistributed. The European Commission does not warrant the accuracy of the national registers behind it.