EU VAT Number Validator (VIES): Bulk Check, Name & Address
Pricing
from $1.10 / 1,000 vat number checkeds
EU VAT Number Validator (VIES): Bulk Check, Name & Address
Bulk-validate EU VAT numbers against the official EU VIES service: valid/invalid, registered name and address, consultation number for audit proof and name match. Forgiving input, free format pre-check, retries for busy member states. Outages and bad formats free. From $1.10 per 1k.
Pricing
from $1.10 / 1,000 vat number checkeds
Rating
0.0
(0)
Developer
William Jin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
Check thousands of EU VAT numbers against the European Commission's official VIES service. For each number you get valid or invalid, the registered company name and address, and an optional VIES consultation number that you can keep as audit proof. If you supply names, you also get a name match against your own records.
Built for finance, accounts-payable, e-commerce and marketplace teams that need to apply the EU reverse charge, onboard B2B customers or clean a supplier list.
What can EU VAT Number Validator do?
- Bulk validation in one run. Paste numbers or chain from another Actor's dataset. Duplicates are checked once.
- Forgiving input.
de 811.128.135,VAT No: FR40303265045,GR…(converted toEL) and numbers without a prefix (withdefaultCountry) all work. - Free local format check. Numbers that can't be valid are caught before they reach VIES and returned as free
invalid_formatrows. - Handles VIES outages. National databases go offline for maintenance and reject request bursts. The Actor limits requests per country, retries with backoff, and returns free
service_unavailablerows instead of failing. - Audit proof. Set
requesterVatNumberto your own EU VAT number and VIES issues a consultation number for each check. - Name match. Add
| Expected nameto a number, or setnameFieldfor a dataset, to getexact,close,partialormismatch.
What data does it return?
| Field | Example |
|---|---|
vatId, status, valid | IE6388047V, valid, true |
name, address, addressLines | GOOGLE IRELAND LIMITED, 3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4 |
countryCode, countryName, vatNumber | IE, Ireland, 6388047V |
expectedName, nameMatch | Google Ireland, exact |
consultationNumber, requestDate | WAPI…, 2026-10-24T02:27:55Z |
Statuses:
- Charged:
valid, andinvalid(not registered for intra-EU trade). - Free:
invalid_format,unsupported_country(for example GB or CH),service_unavailable,invalid_input,errorandskipped_charge_limit.
Some countries, Germany and Spain among them, never return a name or address through VIES. In that case name is null and nameMatch is not_available.
How much does it cost?
You pay only for numbers that VIES actually answered (valid or invalid):
| Plan | Per 1,000 numbers |
|---|---|
| Free | $2.00 |
| Bronze | $1.70 |
| Silver | $1.40 |
| Gold | $1.10 |
Format errors, non-EU numbers and VIES outages are free. There is also a tiny Apify start fee of $0.00005 per run.
Input example
{"vatNumbers": ["IE6388047V | Google Ireland", "BE0403448140", "DE 811 128 135"],"requesterVatNumber": ""}
Output example
{"vatId": "IE6388047V", "status": "valid", "valid": true, "name": "GOOGLE IRELAND LIMITED","address": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4", "countryCode": "IE","expectedName": "Google Ireland", "nameMatch": "exact", "consultationNumber": null, "source": "EU VIES"}
{"vatId": "DE12", "status": "invalid_format", "valid": false, "error": "Wrong format for Germany (DE). Not sent to VIES."}
Use cases
- Reverse charge and invoicing: confirm a B2B customer's VAT number before you zero-rate an invoice.
- Supplier and customer onboarding: validate a whole vendor master or CRM export, and flag name mismatches.
- Marketplaces: check seller VAT IDs in bulk.
- Periodic re-checks: schedule the Actor monthly so you know when a customer's number stops being valid.
Use with AI agents (MCP, ChatGPT, Claude, Cursor, n8n)
AI agents can run this Actor through the Apify MCP server:
{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=swillz/eu-vat-validator"}}}
Or run it locally with npx -y @apify/actors-mcp-server --tools swillz/eu-vat-validator and APIFY_TOKEN set.
Example prompts:
- "Is IE6388047V a valid EU VAT number, and who is it registered to?"
- "Validate the VAT numbers in this supplier list and flag the ones whose name doesn't match."
Minimal input: {"vatNumbers": ["IE6388047V"]}. To cap the cost, pass maxTotalChargeUsd. Numbers left unchecked come back as free skipped_charge_limit rows.
Integrations and API
Run it from the Apify API, the clients, Make, Zapier or n8n. To chain it, pass {"datasetId": "...", "vatField": "vat"}. The OUTPUT record holds a run summary (byStatus, memberStatesUnavailable, zeroResultsReason, nextSteps).
FAQ
Is this the official source? Yes. Every answer comes live from the European Commission's VIES REST service. Nothing is cached.
What about UK VAT numbers? Since Brexit, GB numbers are not in VIES. They return unsupported_country (free). Northern Ireland XI numbers are supported.
Why is a number service_unavailable? The member state's database was offline or busy. Run it again later. Those rows are free.
Related tools
More tools from the same developer, built to work together:
- Career Site Jobs Scraper: jobs from Greenhouse, Lever, Ashby, Workable and Recruitee boards, with salary fields, as a jobs API or CSV.
- Workday Jobs Scraper: every job from any myworkdayjobs.com career site, past the 2,000-result cap.
- Company Website Enrichment: turn a list of domains into company name, emails, phones, social links and tech stack.
- AI Extract: structured JSON from any web page with a plain-English prompt or a JSON schema. AI included.
- Google Sheets Import & Export: send any Apify dataset to a Google Sheet (append, replace or dedupe) or read a sheet as JSON.
- XML Sitemap URL Extractor & Sitemap to CSV: every URL from a website's sitemap, with lastmod, HTTP status and new-page monitoring.
- AI Brand Visibility Tracker: track whether ChatGPT mentions, ranks and cites your brand vs competitors (GEO).
- Email Provider Detector: bulk check whether domains use Google Workspace, Microsoft 365, Proofpoint or Mimecast, plus SPF, DMARC and DKIM.
- Hiring Signals by Company Domain: from a list of company domains, find which ATS each uses and how many open roles, by department and location.
- EORI Number Validator: bulk check EU and UK EORI numbers for customs, with trader name where published.
- LEI Lookup (GLEIF): find a company's Legal Entity Identifier, legal name, address, status and parent from official GLEIF data.
- Sanctions Screener: screen company and person names against official OFAC, UN, EU and UK sanctions lists with fuzzy matching.
Popular workflows
- B2B customer onboarding (KYB): validate the VAT number with this Actor and the EORI with EORI Number Validator, confirm the legal entity with LEI Lookup (GLEIF), and screen the name with Sanctions Screener.
Source code: https://github.com/williamjin02/apify-actors/tree/main/actors/eu-vat-validator