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.
Pro
When you scaleor €29/mo billed annually (€348/yr)
Everything in Free, plus
- 10,000 validations/month
- 60 req/min burst rate
- 10 API keys
- Batch validation
- Webhook support
- Async validation (up to 200/batch)
- National register fallback when VIES is down (10 EU countries)
- Priority email support
Prices exclude VAT. VAT is added at checkout based on your billing location. See terms.
How it works
Go from zero to production-ready VAT validation in minutes, not days.
Start free
Sign up and get your API key in under a minute. The free tier includes everything you need to integrate VAT validation into your app: all 32 countries, test mode, typed SDKs, cached responses on outages, and 500 validations per month. No credit card required.
Ship to production
The free tier is production-ready. Use it for real VAT validation in your billing flow, onboarding, or checkout. 500 validations per month covers most early-stage B2B SaaS products.
Upgrade when you grow
When you need more than 500 validations, batch processing, or webhook notifications, upgrade to Pro or Business. No migration needed. Same API, same SDK, higher limits.
Everything included
Every tier includes production-ready VAT validation, company data lookup, typed SDKs, and cached results when a registry is down. Pro and Business add the national register fallback. Here is what you get.
Core features (all tiers)
VAT/GST number validation
Validate VAT and GST numbers against official government databases. Covers EU (VIES), UK (HMRC), Switzerland, Liechtenstein (BFS), Norway (Bronnoysund), and Australia (ABR). Returns validity status, company name, and address.
32 countries supported
Single API endpoint for EU 27 member states, UK, Switzerland, Liechtenstein, Norway, and Australia. No need to integrate with multiple government APIs.
Company data lookup
Get the registered company name and address associated with any valid VAT number. Useful for autofilling billing forms and verifying business customers during onboarding.
Consultation numbers
Request a VIES consultation number with a genuine requester VAT number and store it when returned. Requester checks disable cache reads and national register fallback by default; explicit cache=true or fallback=true opts back in. A consultation number is not guaranteed and supports registration evidence, not a transaction tax decision.
VAT rates endpoint
Look up current VAT/GST rates for all 32 supported countries. Unlimited requests, no quota usage. Useful for tax calculations, invoicing, and checkout flows.
Cached responses on outages
During a registry outage, Avatcado can serve an eligible stored result with cache and freshness metadata. Requester checks disable stored responses by default unless cache=true is supplied. If no eligible source can answer, it returns a refunded 503 for your application to handle.
Test mode
Use test API keys with magic VAT numbers to simulate valid, invalid, and error responses without hitting live government services. Build and test your integration without worrying about rate limits or upstream availability.
Structured error responses
Every error includes a machine-readable error code, human-readable message, and a docs_url linking to the specific error documentation. No guessing what went wrong.
Typed SDKs
Official SDKs for TypeScript (@avatcado/node) and Python (avatcado) with full type safety, { data, error } return pattern, and typed error classes. Install from npm or PyPI and start validating in minutes.
Per-country format validation
VAT numbers are validated against country-specific format rules before hitting upstream APIs. Malformed numbers are rejected instantly, saving quota and reducing latency.
Scaling features (Pro and Business)
National register fallback
When VIES cannot answer for one of the 10 EU member states with an open national register, Avatcado can use a live register lookup or a sufficiently fresh snapshot to confirm registration. If the register cannot confirm it, the request proceeds to eligible cache or a refunded 503. Requester checks skip the register by default because it cannot issue a VIES consultation number. Use fallback=true to opt into an eligible register answer, or fallback=false to disable it on any request.
Batch validation
Validate up to 50 VAT numbers in a single API request. Ideal for bulk customer verification, CRM cleanup, or importing partner lists.
Async validation
Submit large batches for background processing. Pro supports up to 200 numbers per async batch, Business supports up to 1,000. Get results via polling or webhooks.
Webhooks
Receive real-time notifications when async validations complete. Webhooks are signed with HMAC-SHA256 so you can verify authenticity. Configure webhook URLs from the dashboard.
Limits by tier
| Free | Pro | Business | |
|---|---|---|---|
| Monthly validations | 500 | 10,000 | 50,000 |
| Burst rate | 20 req/min | 60 req/min | 120 req/min |
| API keys | 2 | 10 | 100 |
| Async batch size | - | 200 | 1,000 |
Two problems, one API
VAT validation matters at checkout and at account creation. Avatcado handles both.
Validate at checkout, get reverse-charge right
Determine whether to charge VAT or apply the reverse charge before you generate an invoice. A valid cross-border VAT number means zero-rate. An invalid or missing one means you charge VAT.
- SaaS checkout flows
- Subscription billing
- Stripe and Mollie integrations
Clean account data from the first record
Mainstream CRMs like Salesforce and HubSpot do not validate VAT numbers out of the box. Validate when an account is created and write the registered company name back to the record. Catch bad data before it reaches invoices or ERP syncs.
- Salesforce account creation
- HubSpot contact enrichment
- Partner and vendor onboarding
Pricing questions
Answers about limits, billing, and test mode.