vatlayer

Data API · EU VAT validation · Company lookup · VAT rates

TL;DR

vatlayer validates EU VAT numbers and retrieves associated company data. Check if a VAT number is valid, get the company name and address, and look up current VAT rates for any EU country. Essential for B2B invoicing, compliance, and vendor verification in the European Union.

Quick start: https://api.vatlayer.com/validate?access_key=YOUR_KEY&vat_number=LU26375245

Free tier available — register for an API key (free plan includes 100 requests/month)

How to Use This API

1. Validate a VAT Number

https://api.vatlayer.com/validate?access_key=YOUR_KEY&vat_number=LU26375245

Returns: {"valid":true,"vat_number":"LU26375245","company_name":"Amazon EU Sarl","company_address":"5 RUE PLAETIS, L-2338 LUXEMBOURG"}

2. Get VAT Rates for All EU Countries

https://api.vatlayer.com/rate_list?access_key=YOUR_KEY

Returns current standard and reduced VAT rates for all EU member states. Updated when countries change their rates.

3. Get VAT Rate for a Specific Country

https://api.vatlayer.com/rate?access_key=YOUR_KEY&country_code=DE

Returns standard and reduced VAT rates for Germany. Country codes are ISO alpha-2.

4. JavaScript — B2B VAT Validation

async function validateVAT(vatNumber, apiKey) {
  const resp = await fetch(
    `https://api.vatlayer.com/validate` +
    `?access_key=${apiKey}&vat_number=${encodeURIComponent(vatNumber)}`
  );
  const data = await resp.json();
  
  return {
    valid: data.valid,
    company: data.company_name,
    address: data.company_address,
    country: data.country_code,
    vatNumber: data.vat_number
  };
}

async function processInvoice(vatNumber) {
  const info = await validateVAT(vatNumber, 'YOUR_KEY');
  
  if (info.valid) {
    console.log(`Valid VAT: ${info.vatNumber}`);
    console.log(`Company: ${info.company}`);
    console.log(`Address: ${info.address}`);
  } else {
    console.log(`Invalid VAT number: ${vatNumber}`);
  }
}

processInvoice('LU26375245');
5. Python — VAT Rate Dashboard
import requests

def get_vat_rates(api_key):
    resp = requests.get(
        'https://api.vatlayer.com/rate_list',
        params={'access_key': api_key}
    )
    rates = resp.json().get('rates', {})
    
    print("EU VAT Rates (Standard):")
    countries = sorted(rates.items(), key=lambda x: x[1].get('standard', 0), reverse=True)
    for code, info in countries[:10]:
        print(f"  {code}: {info.get('standard', 'N/A')}% standard, "
              f"{info.get('reduced', 'N/A')}% reduced")
    return rates

def check_rate_for_country(api_key, country_code):
    resp = requests.get(
        'https://api.vatlayer.com/rate',
        params={'access_key': api_key, 'country_code': country_code}
    )
    data = resp.json()
    print(f"VAT rates for {data.get('country_name', country_code)}:")
    print(f"  Standard: {data.get('standard_rate', 'N/A')}%")

get_vat_rates('YOUR_KEY')
Test VAT validation (replace key): https://api.vatlayer.com/validate?access_key=YOUR_KEY&vat_number=LU26375245

Frequently Asked Questions

What countries are covered?
All 27 EU member states plus some additional European countries with VAT systems. The API covers VAT numbers registered in these countries.
How accurate is the VAT validation?
The validation checks against the official EU VIES (VAT Information Exchange System) database in real-time, making it as accurate as the government source.
What is the free tier limit?
100 requests per month on the free plan. Paid plans offer higher volumes and SLA guarantees.
Does it return company address details?
When available from VIES, the API returns the registered company name and address. Availability varies by country — some countries only confirm validity without sharing details.
How often are VAT rates updated?
VAT rate changes are tracked and updated whenever EU member states announce changes. The rate_list endpoint always returns the latest rates.

API Details

API URL
https://api.vatlayer.com
Documentation
vatlayer.com/documentation
Category
Data
Authentication
API Key Required (free tier available)
Geographic Coverage
European Union — 27 Member States

What You Can Build