VAT Rates API v1
A free JSON dataset with VAT/GST rates for 67 countries, including ISO country codes, ISO currency codes, country calculator URLs, official source URLs and last verified dates.
Endpoints
Use the versioned endpoint for new integrations. Response format: application/json. CORS is enabled for browser-side fetches.
The legacy endpoint is kept for backward compatibility and currently mirrors the same dataset.
Quick fetch
const res = await fetch('https://vatestimator.com/api/v1/rates.json');
const data = await res.json();
const italy = data.rates.find(row => row.code === 'IT');
console.log(italy.standard_rate); // 22
curl example
curl -s https://vatestimator.com/api/v1/rates.json | jq '.rates[] | select(.code=="DE")'
Response fields
| Field | Type | Description |
|---|---|---|
meta.schema_version | string | Dataset schema version. Current v1 endpoint uses 1.1. |
meta.last_updated | string | Dataset update date in ISO format. |
meta.last_verified | string | Dataset verification date in ISO format. |
meta.total_countries | number | Number of country rows included. |
rates[].code | string | ISO 3166-1 alpha-2 country code, e.g. IT. |
rates[].slug | string | Stable country slug used by VATEstimator. |
rates[].country | string | Country name in English. |
rates[].region | array | Region tags such as eu, europe, americas, apac. |
rates[].currency | string | Display symbol only. Do not use it as a unique currency identifier. |
rates[].currency_code | string | ISO 4217 currency code, e.g. EUR, USD, GBP. |
rates[].standard_rate | number | Standard VAT/GST rate percentage. |
rates[].rates[] | array | Available rates for the country. |
rates[].rates[].rate_percent | number | Rate percentage. Preferred field for new integrations. |
rates[].rates[].rate | number | Backward-compatible alias of rate_percent. |
rates[].rates[].label | string | Human-readable label such as Standard or Reduced. |
rates[].page_url | string | VATEstimator country calculator page. |
rates[].official_source_url | string | Official tax authority or government source URL mapped for the country. |
rates[].source_name | string | Name of the official source. |
rates[].last_verified | string | Date this country row was last checked. |
rates[].source_note | string | Short verification/disclaimer note. |
Sample object
{
"code": "IT",
"slug": "italy",
"country": "Italy",
"region": ["eu", "europe"],
"currency": "€",
"currency_code": "EUR",
"standard_rate": 22,
"rates": [
{ "rate_percent": 22, "rate": 22, "label": "Standard" },
{ "rate_percent": 10, "rate": 10, "label": "Reduced" },
{ "rate_percent": 5, "rate": 5, "label": "Reduced" },
{ "rate_percent": 4, "rate": 4, "label": "Super-reduced" }
],
"page_url": "https://vatestimator.com/en/vat-calculator-italy/",
"source_name": "Agenzia delle Entrate",
"official_source_url": "https://www.agenziaentrate.gov.it",
"last_verified": "2026-05-30"
}
Currency symbols vs ISO codes
Use currency_code for logic, storage, URLs and conversions. The currency field is only a display symbol: values such as $, kr or ¥ are shared by multiple currencies.
Attribution and verification
Free to use with attribution. A link back to VATEstimator is appreciated.
VAT/GST rates and rules can change. This dataset is provided for reference only. Always verify official_source_url before filing, invoicing or making tax decisions.