Loading...
Loading...
A free, production-ready REST wrapper around the official EU VIES service. Validate any EU VAT number with a single HTTP call — JSON responses, edge caching, sane rate limits, and GDPR-compliant audit logs.
Backed by ec.europa.eu/taxation_customs/vies — the authoritative EU registry. 24h transparent edge cache reduces latency without staleness.
VIES exposes SOAP; we wrap it in clean REST + JSON so you can integrate in minutes rather than wrestling with WSDLs.
Anonymous tier: 3 lookups/IP/day. Verify your email for 5 verifications/IP/day. Higher tiers available for partners.
IP addresses are hashed (SHA-256) before logging. No persistent PII in the anonymous flow.
Powers the customer-facing /tools/eu-business-lookup tool in production. Same code path, same uptime guarantees.
Hit the public endpoint directly to evaluate. Need higher limits or webhooks? Contact us for the partner tier.
All endpoints accept JSON and return JSON. Errors follow RFC 7807 (problem+json).
https://atlas.apivom.com| Method | Path | Description |
|---|---|---|
| POST | /eu-vat/lookup | Validate a country + VAT number. Returns masked company data on the anonymous tier. |
| POST | /eu-vat/verify | Confirm an email token from the double opt-in flow. Unlocks the full unmasked record. |
| POST | /eu-vat/resend | Resend the confirmation email if the user lost it. Subject to the same daily IP cap. |
Three steps from zero to your first validated VAT number.
One-click fork into your workspace. All endpoints, sample bodies, and example responses included.
POST country_code + vat_number to /eu-vat/lookup. Get masked result + a lookup ID instantly.
Optional double opt-in: capture user email, send confirmation, then call /eu-vat/verify with the token to reveal full company data.
curl -X POST 'https://atlas.apivom.com/eu-vat/lookup' \
-H 'Content-Type: application/json' \
-d '{ "country_code": "IE", "vat_number": "3515583EH" }'const res = await fetch('https://atlas.apivom.com/eu-vat/lookup', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ country_code: 'IE', vat_number: '3515583EH' }),
});
const data = await res.json();
console.log(data);import requests
resp = requests.post(
'https://atlas.apivom.com/eu-vat/lookup',
json={'country_code': 'IE', 'vat_number': '3515583EH'},
timeout=10,
)
print(resp.json())Yes — the anonymous tier is free for casual use (3 lookups per IP per day). For higher volumes, partner endpoints with API keys are available on request.
VIES is queried in real time; successful responses are cached at the edge for 24 hours to protect both your app and the upstream service.
We store the validated lookups (country code, VAT number, validity, timestamp) for audit purposes. IPs are hashed before logging. We do NOT store personal data for anonymous calls.
To prevent automated scraping of the registry, anonymous responses partially mask the name and address. Verify your email to receive the full record.
You receive a 503 with a clear error. We do not fabricate data when the upstream is unreachable.
Yes. Reach out via the contact page and tell us your expected volume + integration use case.
Fork the Postman collection and send your first request — no signup, no credit card, no API key required.