VIES VAT Validator: Check EU VAT Numbers (Bulk)
Pricing
$5.00 / 1,000 vat number validateds
VIES VAT Validator: Check EU VAT Numbers (Bulk)
Validate EU VAT numbers in bulk via the official VIES API. Get valid/invalid, registered company name & address, and an official consultation number (proof). No API key. $0.005/check.
Pricing
$5.00 / 1,000 vat number validateds
Rating
0.0
(0)
Developer
Walid
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
VIES VAT Validator: Check EU VAT Numbers in Bulk
⭐ Bookmark this actor — the Apify Store ranks actors by bookmarks, so it's the single strongest signal to keep this VIES VAT Validator visible and maintained.
Validate EU VAT numbers at scale against the official VIES service (the EU Commission's VAT Information Exchange System). For every number you get a clean JSON record: valid / invalid, the registered company name and address (where the member state discloses them), and — optionally — the official consultation number that proves you checked a counterparty on a given date. No API key, no login.
What this VIES VAT Validator does
Manually checking VAT numbers on the VIES website is one-at-a-time and can't be automated cleanly. This actor turns it into a bulk API:
- Bulk validation — pass a list of VAT numbers and get one structured result each.
- Company name & address — VIES returns the registered trader details for most member states.
- Official consultation number — set your own VAT number as the requester and VIES issues a
requestIdentifierper check: legal proof of validation for your VAT records / reverse-charge invoices. - Robust — country-code normalization (Greece
EL/GR, Northern IrelandXI), whitespace/format cleanup, retries and per-number error surfacing (e.g.MS_UNAVAILABLE) so one flaky member-state service never fails the whole run.
Who uses it
- Finance & accounting teams validating supplier/customer VAT before reverse-charge invoicing.
- E-commerce & SaaS verifying B2B customers at checkout (VAT-exempt intra-EU sales).
- Compliance & onboarding (KYB) checks on EU counterparties.
- Data teams cleaning and enriching B2B contact lists with valid VAT + company name.
Input
{"vatNumbers": ["DE811569869", "FR40303265045", "IT00743110157"],"requesterVatNumber": "FR40303265045"}
| Field | Type | Description |
|---|---|---|
vatNumbers | array | EU VAT numbers with country prefix. Spaces/dots/dashes ignored. |
requesterVatNumber | string | Optional — your VAT number; returns the official consultation number per check. |
concurrency | int | Parallel VIES requests, 1–8 (default 4). |
proxyConfig | object | Optional Apify proxy. |
Output
{"input": "DE811569869","country_code": "DE","vat_number": "811569869","valid": true,"name": "GOOGLE GERMANY GMBH","address": "ABC-STRASSE 19, 20354 HAMBURG","consultation_number": "WAPIAAAAX...","error": null}
valid is true/false for a definitive answer, or null with an error code when the member-state service was temporarily unavailable.
Pricing
| Event | Price | What you get |
|---|---|---|
vat-validated | $0.005 | One VAT number checked against VIES: validity, company name & address, and the official consultation number when a requester is provided. |
FAQ
Do I need an API key? No. This uses the free official EU Commission VIES REST API.
Why is name/address sometimes blank? A few member states (e.g. Germany, Spain) return only the valid/invalid flag and do not disclose the trader name/address over VIES. The valid field is still authoritative.
What is the consultation number for? When you supply your own VAT as requesterVatNumber, VIES issues a unique identifier proving you validated the counterparty on that date — useful evidence for VAT audits and reverse-charge invoices.
Does it cover non-EU VAT (UK, CH)? VIES covers EU member states plus Northern Ireland (XI). Great Britain (GB) left VIES after Brexit and is not covered.
What if VIES is down for one country? That number gets valid: null and an error like MS_UNAVAILABLE; the rest of your batch still completes. Re-run the failed ones later.