About this endpoint
What it does
Returns standard and reduced VAT and GST rates from a maintained rate table. Send nothing to get the whole table, or narrow it by region, country or currency. Every response says which version of the table it comes from, when it was last entered and when it will be reviewed next.
The table currently has 61 countries and regions: 27 EU member states, 6 other European countries, 8 Canadian entries (GST only, plus the provinces with their own rate), and countries in Asia-Pacific, the Middle East and Africa, and the Americas. Use the count field in the response for the exact number. The US is not included because it has no VAT. For US sales tax use the Sales Tax Calculator API.
Request Body
All fields are optional. Send an empty object {} to get the whole table.
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| region | ENUM | No | Only the countries of one region. Allowed values: eu, other-europe, canada, asia-pacific, middle-east-africa, americas. Lowercase only. |
| country | String / String Array | No | A country name, or a list of 1 to 60 names, for example Germany or ["Germany", "UK", "Canada - Ontario HST"]. Names are not case sensitive, and extra spaces are ignored. Common short names such as UK and Czech Republic work. An unknown name returns a 400 error that lists the supported names. |
| currency | String | No | Only the countries that use this currency code, for example EUR. If no country in the table uses the code, you get an empty list with count 0. |
When you send more than one filter, only the rows that match all of them are returned. For example, region: "canada" with country: "Germany" returns no rows.
Response
The endpoint returns a JSON object with the result under result.
| Field | Type | Description |
|---|---|---|
| count | Integer | Number of rows in rates. |
| rates | Array | One row per country or region. |
| rates[].country | String | Country or region name. Canadian entries are named like Canada — Ontario HST. |
| rates[].region | String | One of the region values above. |
| rates[].standardRatePct | Number | Standard rate in percent. |
| rates[].reducedRatesPct | Number Array | Reduced rates in percent, highest first. Empty when the country has none in the table. |
| rates[].currency | String | Three-letter currency code. |
| rates[].verification | String | How this row was checked. |
| rates[].label | String | Optional. Tax name, where it helps. |
| rates[].note | String | Optional. Extra detail for this row. |
| dataVersion | String | Version of the rate table. |
| asOf | String | The month the rates are valid for. |
| taxYear | Integer | Tax year of the rates. |
| tableLastEntered | String | Date the table was last updated. |
| euStandardRatesComparedOn | String | Date the EU standard rates were last compared with a published table. |
| dataStatus | String | Status of the data. estimate means the figures are for information and should be confirmed with the tax authority. |
| nextReview | String | When the table will next be reviewed. |
| sources | String | Where the rates come from. |
| notes | String Array | Scope notes, for example that only standard and common reduced rates are listed. |
| disclaimer | String | Use notice for the data. |



