EU VAT Number Validation Scraper (VIES): Company Name & Address
Validate EU VAT numbers against the European Commission VIES service. For each VAT number get the validity flag, request date and, where the member state provides them, the registered company name and address. Export to JSON, CSV or Excel.
{ "countryCode": "IE", "vatNumber": "IE6388047V", "vatNumberLocal": "6388047V", "valid": true, "userError": "VALID", "requestDate": "2026-07-25T13:31:58.916Z", "traderName": "GOOGLE IRELAND LIMITED", "traderAddress": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4", "requestIdentifier": "WAPIAAAAZ-Zebf2u" }
Every run returns clean, typed records, ready for your CRM, spreadsheet or database.
- One clean record per result, deduped and normalized
- Stable schema in JSON, CSV or Excel, or read it via the Apify API
- Pay per use in the cloud, nothing to install or maintain
A real example record, exactly the shape you receive.
| Country Code | Vat Number | Vat Number Local | Valid |
|---|---|---|---|
| IE | IE6388047V | 6388047V | true |
| LU | LU26375245 | 26375245 | true |
| DE | DE811193231 | 811193231 | true |
{ "countryCode": "IE", "vatNumber": "IE6388047V", "vatNumberLocal": "6388047V", "valid": true, "userError": "VALID", "requestDate": "2026-07-25T13:31:58.916Z", "traderName": "GOOGLE IRELAND LIMITED", "traderAddress": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4", "requestIdentifier": "WAPIAAAAZ-Zebf2u" }
Frequently asked questions
Why is the company name or address empty for some valid numbers?
Several member states (for example Germany and Spain) return a valid or invalid answer but do not disclose the trader name and address. The **valid** flag is still authoritative in those cases.
How should I format Greek or Northern Irish numbers?
Greece uses the code `EL` inside the system; you can enter `EL` or `GR`. Northern Ireland uses `XI`. Spaces, dots and dashes in a VAT number are ignored.
Do you charge for invalid numbers?
Every VAT number that returns a definitive valid or invalid answer is one result. Runs that produce no answer (empty input or a temporary service outage) are not charged for those entries.
How fresh is the result?
Each number is checked live at run time, so the answer reflects the registry at the moment of the run (see observedAt).
Ready when you are.
Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.