VAT Validation

GET /api/vat/validate

Validate a VAT number against the official registry (Pro subscription required). EU member states and Northern Ireland (XI) are checked against the European Commission's VIES service, Norwegian (NO) numbers against the Brønnøysund Register Centre (data.brreg.no, NLOD licence) and Swiss (CHE) numbers against the Swiss UID register. UK (GB) validation against HMRC is coming soon: until it is enabled, GB numbers are format-checked and then answered valid: null, status: unavailable with upstream_error: SOURCE_NOT_CONFIGURED (HTTP 503, not counted against your daily quota) — see /api/vat/validate/status. Numbers are format- and checksum-checked first, so an obviously invalid number returns status: invalid_format without an upstream lookup. Results are cached (valid answers 24h, invalid 1h). If the registry is unavailable, the response is valid: null, status: unavailable (HTTP 503) — never "invalid" — or, when a previous definitive answer exists, that answer flagged stale: true (HTTP 200). The response also carries the country's standard VAT rate from the /api/vat/rates dataset. Norwegian answers include an attribution string required by the NLOD licence ("Contains data under the Norwegian licence for Open Government data (NLOD) distributed by the Brønnøysund Register Centre"); keep it when you redistribute that data. attribution is null for other countries.

Request

Query parameters

api_keystring required

API key for authentication (Pro tier required)

vat_numberstring required

VAT number, with or without country prefix (e.g. DE811569869, "IE 6388047 V", GB220430231, NO923609016MVA, CHE-116.281.710 MWST). Spaces, dots and dashes are ignored. Greece may be given as EL or GR, the UK as GB or UK.

countrystring

Two-letter country prefix, only needed when vat_number has no prefix (e.g. country=DE&vat_number=811569869).

requester_vat_numberstring

Your own VAT number (optional). When given, the registry issues a consultation / request identifier you can keep as proof of the check (EU: VIES requestIdentifier, requires an EU/XI requester; UK, once enabled: HMRC consultationNumber, requires a GB requester). Requests with a requester always query the registry live (no cached answer).

format'json' | 'xml' | 'csv' | 'tsv'

The format of the response (optional).

callbackstring

The name of the JSONP callback function (optional). Only used when format is 'json'. Must be alphanumeric with underscores.

Response

A definitive answer (status valid, invalid or invalid_format), or a stale last-known answer served during a registry outage (stale true).

Changes

No recorded changes to this operation across all 1 revision of this API.