VAT number validation API for developers
One API for validating VAT and GST numbers across 32 countries. VIES goes down, your app stays up. Real-time lookups, automatic retries, typed SDKs, and built-in caching.
Free 500 validations/month · No credit card required
curl https://api.vatly.dev/v1/validate?vat_number=NL123456789B01 \
-H "Authorization: Bearer vtly_live_..."Enter a VAT number to see the live API response
Everything you need
Validate, look up rates, and process in bulk.
VAT Validation
Validate any EU, UK, Swiss, Norwegian, or Australian VAT/GST number against VIES, HMRC, BFS, Bronnysund, and ABR. Every response includes company details, validity status, and consultation numbers you can store as proof of verification for tax audits.
VAT Rates
Current standard, reduced, and zero rates for all 32 countries. Free and unlimited, no quota impact.
Batch Validation
Validate up to 50 VAT numbers in a single request. Deduplicated counting, per-item error handling. Pro and Business plans.
Developer-first experience
Built by developers, for developers.
Structured Errors
Every error returns a machine-readable code, a human-readable message, and a link to the relevant docs page.
Test Mode
Ship with confidence. Test keys return deterministic responses with no rate limits and no quota usage.
Complete Docs
OpenAPI spec, per-error-code documentation, and typed SDKs for Node.js (@vatly/node) and Python (vatly) with copy-paste examples.
Reliable at scale
Your integration stays up, even when upstream services don't.
Caching & Automatic Retries
Repeat lookups resolve in milliseconds. When VIES, HMRC, BFS, or ABR is flaky, Vatly retries automatically with backoff, so no retry logic is needed in your code.
Predictable Rate Limits
Clear rate limit headers on every response. Burst-friendly defaults with transparent 429 behavior.
Edge Infrastructure
Deployed globally on Vercel's edge network. Automatic TLS, DDoS protection, and sub-100ms routing worldwide.
Simple, transparent pricing
Start free with a production-ready VAT validation API. Validate VAT and GST numbers across 32 countries via VIES, HMRC, and more. Upgrade when you need higher limits, batch processing, or webhooks.
Prices exclude VAT. VAT is added at checkout based on your billing location. See terms.
Supported Regions
One API, one endpoint. Vatly routes each request to the correct government source automatically.
European Union
27 member states. Real-time VIES (VAT Information Exchange System) lookups for EU VAT validation. Validate any European VAT number and get company name, address, and consultation numbers. Handles VIES downtime with 25-day response caching.
United Kingdom
HMRC VAT validation. Verify GB VAT numbers against HMRC's official database for reliable UK VAT number lookup. Supports consultation numbers when a valid EU requester VAT number is provided. Full GB VAT verification in one call.
Switzerland & Liechtenstein
BFS UID Register validation. Validate Swiss VAT numbers (CHE format) and check MWST/TVA/IVA registration status. Covers both Swiss and Liechtenstein businesses through the official UID Register.
Norway
Bronnysund Register Centre. Validate Norwegian VAT numbers (MVA format) and confirm VAT registration status for Norwegian businesses. Direct lookups against the official Bronnysund Register.
Australia
Australian Business Register (ABR). ABN validation and GST registration lookup. Send an 11-digit ABN to the same /v1/validate endpoint and get business name, status, and GST registration. Full ABN lookup API in one request.
Why not just use VIES directly?
VIES works, but building a production integration around it is a different story.
VIES is a SOAP API from 2005
XML request/response, inconsistent schemas across member states, no typed responses. Vatly gives you a modern REST API with JSON, structured errors, and typed SDKs for TypeScript and Python.
VIES only covers EU
Need UK VAT validation? Swiss VAT validation? Australian GST validation? You would need to integrate HMRC, BFS UID Register, Bronnysund Register, and ABR separately. Vatly wraps all 5 government sources in one endpoint for tax ID validation across 32 countries.
VIES has no caching or retry logic
Member state services go down regularly. When a country's tax office is offline, VIES returns an error. Vatly caches responses for 25 days and retries automatically with backoff, so VIES downtime does not break your application.
No test mode, no rate limiting, no SDKs
VIES has no sandbox environment, no predictable rate limits, and no official SDKs. Vatly provides test mode with magic numbers, clear rate limit headers, and a typed TypeScript SDK. Build and test your VIES VAT number validation without hitting production services.