EU VAT VALIDATION
A VAT validation API with explicit uncertainty.
Add EU VAT checks to customer onboarding and business billing. ApiVect normalizes the country and VAT number, calls the European Commission's VIES service and returns a consistent JSON result.
Start with 100 free VAT checks
Three results your application can handle
| Status | Meaning | Usage |
|---|---|---|
| valid | VIES returned a positive result. | One check |
| invalid | VIES returned a negative result. | One check |
| unknown | The provider could not give a conclusive answer. | Zero units |
Do not treat an upstream outage as an invalid customer. Preserve the result date and reason in your own workflow and retry uncertain checks according to your business rules.
Request example
POST https://api.apivect.com/v1/vat/validate
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY
Idempotency-Key: vat-check-example-0001
{"countryCode":"DK","vatNumber":"00000000"}This synthetic number demonstrates the request format and is expected to be invalid. Responses include the normalized number, status, provider, provider date when available, check time and a cache indicator. Optional businessName and businessAddress fields contain the details supplied by VIES for valid results; they may be null when unavailable.
Freshness and retries
Positive results may be cached for 60 minutes and negative results for five minutes. A new conclusive check consumes one unit even if cached. Exact retries with the same idempotency key within 24 hours do not consume another unit. Transient VIES faults are retried once within a shared 12-second deadline. Provider concurrency is bounded to avoid overloading VIES. Unknown results are not cached as fresh validity. To request a new provider check after an inconclusive API response, use a new idempotency key; the original key deliberately replays its original result. The manual form provides a fresh Try again submission automatically.
Check a customer list without writing code
See the bulk VAT and CSV workflow →
Upload a CSV, map its columns and review the maximum consumption before starting. Track each row, retry temporary VIES failures automatically and download CSV, JSON or a PDF summary. The website list tool and API use the same VAT allowance; a separate Manual subscription is not required.
| Monthly VAT plan | Included checks | Rows per batch | List workflows |
|---|---|---|---|
| Developer · €9 | 1,000 | 250 | One-off lists and exports |
| Business · €27 | 5,000 | 1,000 | 10 saved lists, up to 5,000 stored rows; optional monthly rechecks |
| Platform · €69 | 20,000 | 5,000 | 50 saved lists, up to 20,000 stored rows; monthly rechecks and signed completion webhooks |
Prices exclude VAT. Batches stop at your included allowance and never create overage. Duplicate numbers within one batch share one result and one check. Inconclusive results use no check. Provider outages can delay a job; it stops after 24 hours. Results remain available for seven days. PDF summaries include up to 100 rows; CSV and JSON contain the full list.
Saving inputs is a separate choice with up to 365 days of encrypted retention. Monthly rechecks are off by default and need explicit consent to use your monthly allowance. A Platform owner must verify the webhook destination with DNS and a signed challenge. See service terms and data handling.
Open VAT list checks → Compare VAT plans
What this service does not establish
A VIES result is not company-register data, a credit assessment, identity verification or tax advice. Provider-supplied names and addresses are not independently verified against a company register and are not available for every country. Cached VIES results are encrypted. Northern Ireland's XI prefix is supported where VIES supports it; this is not general UK VAT coverage.
Use the integration guide, API reference and pricing details.