EU VAT Validator — VIES Check with Official Proof avatar

EU VAT Validator — VIES Check with Official Proof

Pricing

$6.00 / 1,000 vat checkeds

Go to Apify Store
EU VAT Validator — VIES Check with Official Proof

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

SourceRow

Maintained by Community

Actor 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

FieldMeaning
vatNumbersNumbers with the country prefix, for example IT00743110157.
vatNumbersTextA pasted list instead, one per line; commas and semicolons also work.
requesterVatNumberYour own VAT number. Optional, but without it VIES issues no proof of consultation.
maxNumbersStop 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

EventPer 1,000Notes
VAT checked$6.00Only 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.