---
title: "Validate VAT Number"
method: POST
path: "/webhook/validate-vat"
tags: ["VAT Validation"]
---

# Validate VAT Number

`POST /webhook/validate-vat`

## Request

- Base URL: `https://api.44api.dev`
- URL: `https://api.44api.dev/webhook/validate-vat`
- Auth: API key in header `X-API-Key`

Validates a VAT/Tax ID number and returns company information.

**Supports 54+ countries** — EU via VIES, plus UK, Switzerland, Norway, Australia, New Zealand, and 20+ more.

**Caching:** Results are cached for 7 days to improve reliability and handle VIES outages.

## Request body

- VatRequest
  - `vatNumber` string, required: VAT number (with or without country prefix)
  - `countryCode` 'AT' | 'BE' | 'BG' | 'HR' | 'CY' | 'CZ' | 'DK' | 'EE' | 'FI' | 'FR' | 'DE' | 'EL' | 'HU' | 'IE' | 'IT' | 'LV' | 'LT' | 'LU' | 'MT' | 'NL' | 'PL' | 'PT' | 'RO' | 'SK' | 'SI' | 'ES' | 'SE' | 'GB' | 'CH' | 'NO' | 'AU' | 'NZ' | 'AL' | 'XK' | 'TR' | 'GE' | 'MD' | 'UA' | 'BY' | 'BA' | 'IS' | 'IL' | 'KZ' | 'MK' | 'RS' | 'RU', required: ISO 2-letter country code

## Response `200`

Validation result

- VatResponse
  - `success` boolean
  - `cached` boolean: Whether result was from cache
  - `data` object
    - `vatNumber` string
    - `countryCode` string
    - `valid` boolean
    - `company` object
      - `name` string, nullable
      - `address` string, nullable
    - `verificationDate` string, date-time

## Other responses

- `400`: Invalid request
- `401`: Invalid API key
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/44api/apis/vat-validation-api.md) · [All operations](https://skmtc.dev/44api/apis/vat-validation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/44api/apis/vat-validation-api/revisions/aae515c653fc?raw)
