Skip to main content
GET
/
v1
/
validate
Validate a VAT number
curl --request GET \
  --url https://api.vatly.dev/v1/validate
{
  "data": {
    "valid": true,
    "vat_number": "NL123456789B01",
    "country_code": "NL",
    "company": {
      "name": "Acme B.V.",
      "address": "Keizersgracht 123, Amsterdam"
    },
    "consultation_number": "WAPIAAAAA1BBB2",
    "requested_at": "2026-03-06T12:00:00.000Z"
  },
  "meta": {
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "cached": true,
    "cached_at": "<string>",
    "stale": true,
    "mode": "test"
  }
}

Query Parameters

vat_number
string
required

The VAT number to validate (e.g. NL123456789B01, GB123456789). Will be normalized to uppercase with spaces and dots removed.

Minimum string length: 1
Example:

"NL123456789B01"

requester_vat_number
string

Your own VAT number, to receive a VIES consultation number. Only applicable for EU VAT numbers (not UK/HMRC).

Example:

"DE987654321"

cache
enum<string>
default:true

Set to false to bypass the 24-hour cache and force a fresh lookup from the upstream service. The fresh result is still cached for subsequent requests. Defaults to true.

Available options:
true,
false
Example:

"true"

Response

VAT number validated successfully

data
object
required
meta
object
required