EU VAT Verification (VIES)
VIES VAT validation API — VAT number check API for NL and EU. Validate any EU VAT number via the official VIES REST API of the European Commission.
GET /v1/finance/vat-verify
Validates an EU VAT number via the European Commission VIES (VAT Information Exchange System) REST API. All 27 EU member states are supported.
When the VAT number is valid, VIES may also return the registered company name and address — but only when the member state chooses to disclose them (Netherlands and Germany typically do; some others do not).
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
country_code | string | ✓ | ISO alpha-2 country code, e.g. NL, DE, FR |
vat_number | string | ✓ | VAT number without country prefix, e.g. 854753480B01 |
If you accidentally include the country prefix in vat_number (e.g. NL854753480B01),
the API strips it automatically.
Example request
curl -H "X-API-Key: YOUR_KEY" \
"https://api.omnizoek.nl/v1/finance/vat-verify?country_code=NL&vat_number=854753480B01"Example response — valid
{
"valid": true,
"status": "valid",
"country_code": "NL",
"vat_number": "NL854753480B01",
"company_name": "Example B.V.",
"address": "Damrak 1\n1012LG Amsterdam",
"checked_at": "2026-03-06T10:00:00Z"
}Example response — invalid
{
"valid": false,
"status": "invalid",
"country_code": "NL",
"vat_number": "NL000000000B00",
"company_name": null,
"address": null,
"checked_at": "2026-03-06T10:00:00Z"
}Response fields
| Field | Type | Description |
|---|---|---|
valid | boolean | true if VIES confirms the VAT number is active |
status | "valid" | "invalid" | Machine-readable verdict |
country_code | string | ISO alpha-2 country code as provided |
vat_number | string | Full VAT number including country prefix |
company_name | string | null | Company name — null when not disclosed |
address | string | null | Address — null when not disclosed |
checked_at | string | UTC ISO 8601 timestamp of the VIES query |
Error responses
| Status | Cause |
|---|---|
503 | VIES did not respond after 3 retry attempts |
Caching
Results are cached in RAM for 24 hours to avoid hammering VIES.
Retry behaviour
The service automatically retries up to 3 times (with 1 s, 2.5 s, 5 s back-off)
before returning 503. VIES is periodically slow, especially during peak EU business hours.
IBAN to BIC/SWIFT
IBAN to BIC API for the Netherlands — offline Dutch bank code lookup. Convert an IBAN to a BIC/SWIFT routing code and bank name without external calls.
Wisselkoersen (ECB)
Euro wisselkoersen API — dagelijkse referentiekoersen van de Europese Centrale Bank voor ~30 valuta's. ECB exchange rates JSON API.