Skip to main content

Vatly API

Validate VAT and GST numbers across 32 countries with a single API call. Get company details, consultation numbers, and validity status from VIES, HMRC, BFS, Bronnysund, and ABR, with caching, rate limiting, and structured error responses built in.
  • One endpoint for 32 countries - EU, UK, Switzerland, Liechtenstein, Norway, and Australia. No need to integrate each upstream separately
  • Free VAT rates for 31 countries - standard, reduced, and zero rates with no quota impact
  • Automatic input normalization - pass "nl 123.456.789 b01" and get NL123456789B01
  • Built-in caching with stale fallback - fast responses for repeat lookups, even when upstream services are down
curl -H "Authorization: Bearer vtly_live_your_api_key" \
  "https://api.vatly.dev/v1/validate?vat_number=NL123456789B01"
{
  "data": {
    "valid": true,
    "vat_number": "NL123456789B01",
    "country_code": "NL",
    "company": {
      "name": "Acme B.V.",
      "address": "Keizersgracht 123, Amsterdam"
    },
    "requested_at": "2026-03-06T12:00:00Z"
  },
  "meta": {
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "request_duration_ms": 120,
    "cached": false
  }
}

Quickstart

Get up and running in under 2 minutes

API Reference

Full endpoint documentation with examples

VAT Rates

Current rates for all 31 supported countries

Error Codes

Every error code explained with fixes

Rate Limits

Tiers, quotas, and rate limit headers