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" }
各実行で、型が揃ったきれいなレコードを返します。CRM・スプレッドシート・データベースにそのまま使えます。
- 結果ごとに 1 レコード、重複排除・正規化済み
- JSON・CSV・Excel の安定したスキーマ、または Apify API で読み取り
- クラウドで従量課金。インストールも保守も不要
実際の 1 レコード例。受け取る形そのままです。
| 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" }
よくある質問
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).