Scrapers / Developer & File Tools

EU VAT Number Validator (VIES)
hipersoft/eu-vat-validator
Validate EU VAT numbers in bulk via the official VIES service: validity, registered company name and address, plus a consultation number as proof. No setup. For compliance, invoicing and KYC.
Total users
1Monthly users
1Total runs
86Per vat checked
$0.002Last rebuilt
Oct 28, 2026Overview
Validate EU VAT numbers in bulk against the European Commission's official VIES service. For each number you get its validity, the registered company name and address (where the member state publishes it), a consultation number and the check date — into clean JSON, CSV or Excel. No key, no login. Fast and reliable.

Great for VAT compliance, invoicing, KYC/onboarding, accounting automation and lead cleaning.
What does EU VAT Number Validator do?
It checks each VAT number against VIES and returns one clean record per number — the parsed country code and VAT number, whether it is valid, the registered trader name and address (where published), an official consultation number and the check date. Validate one number or thousands in a single run.
What you get

- ✅ Valid / invalid — authoritative result from VIES
- 🏢 Company name & address — as registered (some states, e.g. Germany, mask these)
- 🧾 Consultation number — VIES proof-of-check identifier (returned when available)
- 📅 Check date — timestamp of the validation
- 📥 Bulk — validate many numbers in one run
Output schema
| Field | Type | Description |
|---|---|---|
input |
string | The VAT number exactly as you submitted it. |
countryCode |
string | Two-letter country prefix parsed from the number. |
vatNumber |
string | VAT number without the country prefix. |
fullVat |
string | Full VAT number including the country prefix. |
valid |
boolean | Whether VIES reports the number as valid. |
name |
string | Registered company/trader name (where the state publishes it). |
address |
string | Registered address (where the state publishes it). |
requestDate |
string (ISO date) | Date the validation was performed. |
consultationNumber |
string | Official VIES proof-of-check identifier. |
status |
string | Result status (e.g. VALID, INVALID). |
Use cases
- VAT compliance — verify customer and supplier VAT numbers before invoicing.
- Invoicing — confirm a valid VAT number to apply the correct tax treatment.
- KYC / onboarding — validate business identity during signup.
- Accounting automation — batch-check VAT numbers in your ledger.
- Lead cleaning — filter and enrich B2B lists with validity and company name.
- Audit records — keep the consultation number as proof of a check.
How to validate EU VAT numbers
- Add the EU VAT Number Validator to your Apify account.
- Paste the VAT numbers into
vatNumbers, each with its 2-letter country prefix. - Click Run.
- Wait for the run to finish.
- Export the results as JSON, CSV or Excel, or pull them via the Apify API.
Input
{
"vatNumbers": ["IE6388047V", "DE811569869", "FR40303265045", "LU26375245"]
}
Include the 2-letter country prefix on each number. Spaces and dots are ignored. (Greece uses EL, Northern Ireland uses XI. Great Britain GB is no longer covered by VIES.)
| Field | Description |
|---|---|
vatNumbers |
EU VAT numbers with country prefix. |
Output
{
"input": "IE6388047V",
"countryCode": "IE",
"vatNumber": "6388047V",
"fullVat": "IE6388047V",
"valid": true,
"name": "GOOGLE IRELAND LIMITED",
"address": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4",
"requestDate": "2026-07-30+01:00",
"consultationNumber": "WAPIAAAA...",
"status": "VALID"
}
Need more company data?
- Domain Inspector — domain & DNS intelligence
- Brazil CNPJ Scraper — company registry lookups
- Contact Details Scraper — emails, phones and socials
FAQ
Do I need an API key? No. VIES is the EU's free public validation service — no key, no login.
How many numbers can I validate?
As many as you like; submit them all in vatNumbers and the Actor checks each one.
Why is the company name empty for some countries? Some member states (notably Germany) don't return the trader name/address through VIES — only validity.
What's the consultation number? An official identifier proving you validated the number at that date — useful for audit/compliance records.
What export formats are supported? JSON, CSV, Excel and XML, plus the Apify API.
Can I integrate it with other tools? The EU VAT Number Validator can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JavaScript/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.
How does billing work? You pay only per VAT number checked — cheap per item, cheapest in its class.
Notes
Original clean-room implementation using the European Commission's public VIES service. You are responsible for how you use the data. Not affiliated with or endorsed by the European Commission.
Input
| Field | Type | Description |
|---|---|---|
vatNumbers requiredVAT numbers | array | EU VAT numbers to validate, each with its 2-letter country prefix — e.g. "IE6388047V", "DE811569869", "FR40303265045". Spaces/dots are ignored. Greece = EL, Northern Ireland = XI. |
API
curl -X POST "https://api.apify.com/v2/acts/hipersoft~eu-vat-validator/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"vatNumbers": [
"IE6388047V",
"DE811569869"
]
}'from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("hipersoft/eu-vat-validator").call(run_input={
"vatNumbers": [
"IE6388047V",
"DE811569869"
]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('hipersoft/eu-vat-validator').call({
"vatNumbers": [
"IE6388047V",
"DE811569869"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Pricing
| Event | Price | Paid plans from |
|---|---|---|
| VAT checked One VAT number validated against VIES. | $0.002 | $0.002 |
You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.
Related scrapers
Bulk Image Downloader
Download thousands of images from a list of URLs and store each in the key-value store with a public link. Returns content type, size, dimensions and SHA-256 per image. Bulk-ready. Great for datasets, backups and media pipelines.
8,102 runs · 103 users · $0.056 / url processedText to Speech
Convert any text to natural-sounding speech as an MP3 download. 300+ premium neural voices across 70+ languages, adjustable rate, pitch and volume. Great for voiceovers, videos, accessibility and audio content. No setup.
278 runs · 22 users · $0.01 / audio generatedGoogle Maps Email Extractor
Search Google Maps for businesses, then crawl each business website to extract emails, social profiles and extra phone numbers. Turns any Maps search into a ready lead list. No setup.
159 runs · 8 users · $0.006 / business lead scrapedWebsite Screenshot
Capture full-page or viewport screenshots of any URL as PNG or JPEG, at any device size. For monitoring, previews, thumbnails and automation workflows.
156 runs · 3 users · $0.004 / screenshot capturedBulk URL Status Checker
Check thousands of URLs over plain HTTP: status codes, broken links (404/410/5xx), full redirect chains, response time, content type, page title and SSL certificate expiry.
154 runs · 13 users · $0.002 / url checkedGoogle Search Scraper
Scrape Google Search results (organic listings) for any query: title, URL, displayed URL, snippet and position. Multi-query, per-country/language, pagination. Uses Google SERP proxy — reliable, no captcha, no setup.
121 runs · 8 users · $0.001 / result scrapedSend the site and the fields. We build it and you get it first.