EU VAT Number Validator (Official VIES Source)
Under maintenancePricing
from $0.15 / 1,000 vat number checkeds
EU VAT Number Validator (Official VIES Source)
Under maintenanceValidate EU VAT numbers in bulk via the official, keyless EC VIES API. Returns validity, registered company name and address where available. Batch input, robust format normalization ('SE 5561888-4040' works), built-in rate-limit retries. Official source, ~$0.0005/check.
Pricing
from $0.15 / 1,000 vat number checkeds
Rating
0.0
(0)
Developer
Karl Sundström
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Independent tool, not affiliated with the European Commission.
Validate EU VAT numbers in bulk via the official EC VIES API and get back validity plus the registered company name and address where available. Handles messy input — SE556188840401, SE 5561888-4040, bare numbers with a country hint — all normalized for you. Batch input, flat JSON output, no API key, no login.
Why VIES Validator?
- ✅ Verify before you invoice — invalid VAT numbers are the classic cross-border invoicing trap.
- 🏛️ Official source — the European Commission's VIES service itself, not a mirror.
- 🧹 Messy input tolerated — spaces, dashes, missing prefixes: normalized automatically.
- 👥 Get the registered name & address — useful for KYC, not just validity.
- 📦 Bulk — validate a whole list in one run.
Use cases
Cross-border invoicing checks · VAT reverse-charge documentation · KYC and vendor onboarding · CRM data hygiene for EU customers
What data you get?
| 🏷️ Field | Description |
|---|---|
| 📧 input | Original input as submitted |
| ✅ valid | VIES validity verdict |
| 🇪🇺 countryCode / vatNumber | Normalized country code and VAT number |
| 🏢 name | Registered company name (when VIES returns it) |
| 📍 address | Registered address (when available) |
| 📅 requestDate | VIES consultation date |
| ⚠️ userError / error | VIES status codes / error detail |
How to use
- Add the actor to your Apify account and click Run.
- Paste numbers into
vatNumbers— one or many, mixed formats fine. - Set
countryfor bare numbers without a prefix. - Export results as JSON, CSV or Excel.
Input
{"vatNumbers": ["SE556188840401", "DE 811 907 980"],"country": "SE"}
| Field | Type | Description | Default |
|---|---|---|---|
vatNumbers | array | One or many; formats like SE556188840401, SE 5561888-4040, DE811907980, or bare numbers | — |
country | string | Two-letter EU member state code applied when a number has no country prefix | — |
Output
{"input": "SE 5561888-4040","valid": true,"countryCode": "SE","vatNumber": "556188840401","name": "Example Företag AB","address": "Examplegatan 1\n111 22 Stockholm","requestDate": "2026-09-08T09:12:00.000Z"}
Name and address appear only where the member state publishes them — some member states return validity only.
Support
Questions or missing fields? Open an issue on the actor page or contact the developer via Apify.