EU VAT Validator - VIES Check & Company Data
Pricing
from $1.10 / 1,000 vat validateds
EU VAT Validator - VIES Check & Company Data
Bulk-validate EU VAT numbers against the official VIES service (all 27 member states + Northern Ireland): valid/invalid status plus the registered company name and address where the country shares them. Local format pre-check, member-state availability, no API key.
Pricing
from $1.10 / 1,000 vat validateds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the European Commission or any government body. All trademarks mentioned are the property of their respective owners. "VIES" is referenced only to describe the public data source this Actor collects from.
Bulk-validate EU VAT numbers against the official VIES service (European Commission) across all 27 member states + Northern Ireland, and get back the registered company name and address where the country shares them. Paste a few or import thousands. No API key, no browser.
What you get per VAT number
| Field | Meaning |
|---|---|
vat / country / vatNumber | The normalized VAT, its country code and the number without prefix |
status | valid, invalid, malformed or unavailable (member state offline) |
isValid | Boolean - VIES confirmed the number is registered |
name / address | Registered company name and address (where the member state publishes them) |
formatValid | Did it match the country's VAT pattern (a local pre-check) |
memberStateAvailable | Was that country's VIES node online this run |
userError | VIES note (VALID, INVALID, MS_UNAVAILABLE...) |
Input
{ "vatNumbers": ["BE0417497106", "IE6388047V", "DE811907980"], "onlyValid": true }
- VAT numbers - one per line, with the country prefix (spaces/dots ignored). Or set a default country for un-prefixed numbers.
- Import from a file - paste a list, or link a public
.txt/.csv, a Google Sheet/Drive link, or an Apify key-value-store record. - Only valid - keep confirmed-valid rows only. Output fields - trim to the columns you need.
Leave everything empty and the run returns a small free sample so you can see the shape first.
Reliability
Reads the official VIES REST API - keyless, no anti-bot. A local format pre-check rejects obviously-malformed numbers without calling VIES (so they cost nothing), and the actor reads VIES's own per-country availability each run. Malformed input, empty runs and filtered rows all bill $0.
Honest limits
- Some member states do not return company name/address even for a valid VAT (Germany and Spain
withhold them by policy) - you still get the definitive valid/invalid result, with
name/addressnull. That is the country's choice, not a scraping gap. status: "unavailable"means that country's VIES node was temporarily offline (VIES proxies to each national system). Re-run those numbers later - they are billed like any other row because a call was made, but the row tells you to retry. (Germany was offline at build time, for example.)- This validates EU VAT via VIES only - it is not a UK VAT (HMRC) or a non-EU tax-ID checker.
Pricing
$0.002 per VAT number on the FREE tier (tiered pricing lowers it with volume). Only saved rows are billed; malformed numbers and empty runs cost nothing.
Output views
- VAT results - VAT, status, validity, company name, address, country.
Use with AI assistants (MCP)
Available through the Apify MCP server - an agent can verify a customer's VAT before invoicing, enrich a lead list with company names, or batch-check suppliers for tax compliance in one call.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready - AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 - an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server - no account, no API key.
- Skyfire - agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
Automate & schedule
Run this Actor on autopilot and pull results into your own stack:
- Apify API - start runs, fetch datasets and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python - official SDKs.
- Schedules - run it hourly, daily or weekly and keep your dataset current.
- Webhooks - trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/eu-vat-vies-validator').call({"vatNumbers": ["BE0417497106","IE6388047V","LU26375245"]});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} records`);
Integrate with any app
Connect the dataset to thousands of apps - no code required:
- Make - multi-step automation scenarios.
- Zapier - push new records straight into your CRM or spreadsheet.
- Slack - get notified when a scheduled run finds something new.
- Google Drive / Sheets - auto-export every run to a spreadsheet.
- Airbyte - pipe results into your data warehouse.
- GitHub - trigger runs from commits or releases.
FAQ
How is this Actor billed? Pay-per-event: you pay only for the results it delivers, with no monthly rental and no start fee. The per-event price is shown on the Pricing tab.
Can I schedule it and get results automatically? Yes - create a Schedule and add a webhook or an integration (Google Sheets, Slack, Make, Zapier) to push each run's dataset wherever you need it.
Which export formats are available? Every run's dataset can be downloaded as JSON, CSV, Excel (XLSX), XML, HTML or RSS from the Apify Console or the API.
Can I run it from code or an AI agent? Yes - through the Apify API and client libraries, or from Claude, ChatGPT and other assistants via the Apify MCP server.
Is it legal to scrape VIES? This Actor collects publicly available data only. You are responsible for using the output in compliance with applicable laws (including data-protection law where personal data is involved) and the source's terms. See the Disclaimer below.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the European Commission or any government body. All trademarks mentioned are the property of their respective owners.
"VIES" is referenced only in a descriptive, nominative sense - to identify the public data source this Actor collects from. This Actor is not an official product or service of the European Commission and is not authorised or certified by it. It collects only publicly available records; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the source's own terms of use or reuse conditions.
Need help?
Open an issue on the Actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this Actor is actively maintained.