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"
    },
    "requested_at": "2026-03-06T12:00:00.000Z",
    "consultation_number": "WAPIAAAAA1BBB2"
  },
  "meta": {
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "cached": true,
    "cached_at": "<string>",
    "stale": true,
    "source_status": "live",
    "mode": "test",
    "request_duration_ms": 120
  }
}

Query Parameters

vat_number
string
required

The VAT number to validate (e.g. NL123456789B01, GB123456789, CHE-123.456.789 MWST, NO123456789MVA, AU51824753556). Supports EU, UK, CH, LI, NO, and AU formats. 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 consultation number. For EU targets, provide an EU requester. For UK targets, provide a UK requester.

Example:

"DE987654321"

cache
enum<string>
default:true

Set to false to bypass the 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