EU VAT Number Validator: VIES Lookup | $1/1K
Pricing
from $1.00 / 1,000 results
EU VAT Number Validator: VIES Lookup | $1/1K
$1 per 1,000 results, platform usage included. Check EU VAT numbers against the official VIES service: valid or invalid, registered name and address where the member state shares them. A busy member state comes back as a row with a status.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
One Dollar Store
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Share
EU VAT Validator: VIES check with company name and address
$1 per 1,000 checks. Platform usage included. No rental, no minimum.
The four most used EU VAT validator actors on Apify Store charge $4.00 to $5.00 per 1,000 checks, and one or more add platform usage on top (Store prices checked 20 October 2026). This actor returns the same kind of answer for $1.
New to Apify? [Create a free account](https://www.apify.com?fpr=ymnoit) (referral link). Runs from a free plan account return the first 10 results; any paid plan returns everything you ask for, up to your limit.What it costs
| Checks | This actor | Most used VAT validator actors on the Store |
|---|---|---|
| 1,000 | $1.00 | $4.00 to $5.00 |
| 10,000 | $10.00 | $40 to $50 |
| 100,000 | $100.00 | $400 to $500 |
Plus $0.001 per run. Re-checking 300 supplier VAT numbers every week costs about $0.30 a run, or about $1.30 a month.
Why people switch
- One flat price. Compute is included, so the bill follows the number of checks and nothing else.
- A busy member state does not fail the run. If a country's VAT service cannot answer, that number comes back as a row with
status: unavailableand a plain note, and the other numbers carry on. - Messy input is fine. Spaces, dots, dashes and lower case are cleaned up,
GRis read as Greece (EL), and Northern Ireland (XI) works. Repeats are checked once. - Rows come back in the order you gave the numbers. Each row keeps your original text in
input, so matching rows to your list is easy. - Official source, no key. Every answer comes from VIES, the European Commission's VAT number service.
Quick start
- Open the actor, paste VAT numbers one per line, press Start.
- Or paste this input:
{ "vatNumbers": ["IE6388047V", "SE556703748501", "DE129274202"], "maxItems": 100 }
- Download the results as JSON, CSV or Excel, or read them through the API.
Use it from code
curl -X POST "https://api.apify.com/v2/acts/one_dollar_store~eu-vat-number-validator/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"vatNumbers": ["IE6388047V", "SE556703748501"], "maxItems": 100}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("one_dollar_store/eu-vat-number-validator").call(run_input={"vatNumbers": ["IE6388047V", "SE556703748501"], "maxItems": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["vatNumber"], item["status"], item.get("name"))
Use it from an AI assistant
Claude, ChatGPT, Cursor and other assistants can call this actor through Apify's MCP server. Add it with this server address:
https://mcp.apify.com?tools=one_dollar_store/eu-vat-number-validator
Then ask, for example: "Check whether IE6388047V and SE556703748501 are valid EU VAT numbers and give me the registered names."
Switching from another VAT validator actor
Most VAT actors take a list of VAT numbers. Here it is vatNumbers (one per line, with the country prefix) and maxItems. The core fields are vatNumber, status, valid, name and address.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
vatNumbers | list of text | none | VAT numbers with the country prefix, for example IE6388047V. Up to 10,000. |
maxItems | number | 1000 | Most result rows for the run (10 to 10,000). |
Example:
{ "vatNumbers": ["ie 6388 047 V", "GR094259216", "XI123456789"], "maxItems": 100 }
Output fields
| Field | Meaning |
|---|---|
vatNumber | The number with its country prefix, in capitals, without spaces. |
countryCode, country, number | The prefix, the member state name, and the part after the prefix. |
status | valid or invalid when VIES answered. unavailable when the member state could not answer after the retries. |
valid | true or false. Left out when the status is unavailable. |
name, address | Registered name and address. Only for valid numbers, and only when the member state shares them. |
requestDate | Date and time VIES reports for the check. |
message | A plain sentence for an unavailable number, a rejected number format, or a valid number that comes back without a name. |
viesCode | The VIES code behind an unavailable status or a rejected format, for example MS_UNAVAILABLE. |
input | Your original text for this number. |
checkedAt, source | When the actor handled the number, and where the answer comes from. |
Sample results
Real rows from a test run on 20 October 2026. Germany and Spain return no names, so those rows carry a note instead.
[{"vatNumber": "IE6388047V", "countryCode": "IE", "country": "Ireland", "number": "6388047V", "status": "valid", "valid": true, "name": "GOOGLE IRELAND LIMITED", "address": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4", "requestDate": "2026-10-20T05:42:47.570Z", "input": "IE6388047V", "checkedAt": "2026-10-20T05:42:47.630Z", "source": "VIES, European Commission (https://ec.europa.eu/taxation_customs/vies/)"},{"vatNumber": "SE556703748501", "countryCode": "SE", "country": "Sweden", "number": "556703748501", "status": "valid", "valid": true, "name": "Spotify AB", "address": "REGERINGSGATAN 19, 111 53 STOCKHOLM", "requestDate": "2026-10-20T05:42:48.355Z", "input": "SE556703748501", "checkedAt": "2026-10-20T05:42:48.401Z", "source": "VIES, European Commission (https://ec.europa.eu/taxation_customs/vies/)"},{"vatNumber": "DE129274202", "countryCode": "DE", "country": "Germany", "number": "129274202", "status": "valid", "valid": true, "requestDate": "2026-10-20T05:42:51.877Z", "input": "DE129274202", "checkedAt": "2026-10-20T05:43:07.566Z", "source": "VIES, European Commission (https://ec.europa.eu/taxation_customs/vies/)", "message": "The number is valid. This member state does not return a name or address."},{"vatNumber": "BE0403019261", "countryCode": "BE", "country": "Belgium", "number": "0403019261", "status": "invalid", "valid": false, "requestDate": "2026-10-20T05:42:56.943Z", "input": "BE0403019261", "checkedAt": "2026-10-20T05:43:08.015Z", "source": "VIES, European Commission (https://ec.europa.eu/taxation_customs/vies/)"}]
Limits
- VIES only says whether a number is registered for VAT in that member state when you ask. It is not a credit check or an identity check.
- Names and addresses appear only for member states that share them. In our tests Germany and Spain gave none, so a valid number from those countries comes back with a note instead.
- Member state services go offline now and then. The actor tries each number up to 3 times, a few seconds apart. If it still gets no answer, the row has
status: unavailableand a note. That row counts as a result like any other, so run those numbers again later. If one member state fails 3 numbers in a row, the rest of its numbers in that run are marked unavailable without another call. - VIES publishes no rate limit, so the actor goes slowly on purpose: one request at a time per member state, four at once overall. In our test runs 11 numbers took 14 to 23 seconds. The default run time limit is 10 minutes; raise Timeout under Run options for long lists. At the limit the run ends cleanly with the rows done so far.
- One run checks at most 10,000 numbers.
- Entries without an EU country prefix, or with an impossible length, are skipped and named in the run log. They produce no row. UK numbers (
GB) are not in VIES; Northern Ireland (XI) is. - Consultation numbers (proof of a check that VIES gives to a requester with a VAT number) are not supported.
- Some member states register sole traders under their personal name. VIES shows what the state publishes. Handle that data under the privacy law that applies to you.
FAQ
What is the cheapest EU VAT validator on Apify? This actor costs $1 per 1,000 checks with platform usage included. The most used EU VAT validator actors on the Store charged $4.00 to $5.00 per 1,000 when we checked on 20 October 2026, and one or more add platform usage on top.
How much does it cost to check 10,000 VAT numbers? $10, plus $0.001 for each run.
Do I pay for compute or proxy on top? No. Platform usage is included in the $1 per 1,000 price. The actor needs no proxy.
Where does the data come from? From VIES (VAT Information Exchange System), the European Commission's public service for checking VAT numbers. VIES asks each member state's own VAT database. No key is needed.
Is it legal? The actor checks only the numbers you give it, against a public service, with no login. VIES is meant for businesses to check their trading partners. Follow the VIES conditions and the law where you live, in particular the rules on personal data.
Is this an official European Commission product? No. It is an independent tool and is not affiliated with or endorsed by the European Commission.
Do I pay for invalid numbers?
Yes. invalid is an answer from VIES, so it is a result row. Entries that are skipped because they have no EU country prefix produce no row and cost nothing.
What does unavailable mean?
The member state's service did not answer after 3 tries. It says nothing about the number. Run those numbers again later.
How do I re-check only the unavailable ones?
Filter the dataset for status equal to unavailable, and use the vatNumber values as the next run's input.
Why is the name missing for a valid number?
Some member states, such as Germany and Spain, do not return names or addresses through VIES. The row says so in message.
Can it check numbers outside the EU? No. VIES covers the 27 EU member states and Northern Ireland.
Do I need an Apify account? Yes. Actors run from an Apify account, and a free account is enough to start: it includes $5 of platform usage every month. You can sign up here. This is a referral link and it costs you nothing.
Is there a limit on the free plan? Yes. A run started from a free plan account delivers the first 10 results, then ends with a message and a link to the plans. Any paid plan returns everything you ask for, up to your own limit. The price per result is the same on every plan.
More from The One Dollar Store
Every actor here costs $1 per 1,000 results, platform usage included. See the whole store: https://apify.com/one_dollar_store
Company records
- Bundesanzeiger Scraper: German company filings and notices.
- US Business Registry Search: Company records from 6 US state registries.
- France Company Search: French companies from the official SIRENE register.
- Sanctions List Search: Name search across four official sanctions lists.
- SEC Company Financials: Reported financial figures for US listed companies.
- Norway Company Search: Norwegian companies from the official Brreg register.
- GLEIF LEI Lookup: Legal entity identifiers and ownership links.
- SEC 13F Holdings: What funds hold, from 13F filings.
- SEC Form 4 Scraper: Insider buys and sells from Form 4.
Changelog
- October 2026: first release.