Loading
Loading
The VAT Rates API gives developers reliable access to VAT and GST rates across 230+ countries through a simple REST interface. Every supported country returns the standard rate, currency, and tax type, and for EU and UK markets the response goes further with reduced rates, super-reduced rates, parking rates, and category-level breakdowns for books, newspapers, periodicals, and broadcasting services. For countries where tax is set at the regional level, state and provincial rates are included alongside the national rate, so one API call gives you the full picture regardless of where your customers are.
Three endpoints cover every integration pattern: a single-country GET for live lookups, a bulk POST for fetching VAT rates for multiple countries in one request, and an IP-based endpoint that resolves rates automatically from the user\'s location without a country selection step. All three pull from the same up-to-date dataset.
Built for fintech developers, e-commerce platforms, ERP integrators, and accounting software teams. If your product handles cross-border transactions, the VAT Rates API keeps your tax data accurate whether you are billing customers in the EU, UK, or any market where regional tax rates apply.
For EU and UK markets, the API returns the complete rate structure: standard, reduced, super-reduced, parking, and category-specific rates for books, newspapers, and broadcasting. Everything your app needs for precise EU VAT and UK VAT calculations.
Fetch VAT rates by country for multiple markets in a single POST request. All matching rate objects come back in one response with no repeated round-trips. Ideal for platforms operating across many jurisdictions at once.
Pass an IP address and get the corresponding country's VAT rates instantly. Perfect for storefronts and SaaS platforms that want to surface local tax data without a separate geolocation step.
For countries like the US and Canada, where tax is applied at the regional level, the API returns state and provincial rates. Accurate regional tax data for every supported jurisdiction, no manual lookup tables required.
$ pip install requests
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| country | Yes | String | - | The country to fetch VAT rates for. Accepts alpha-2 (US), alpha-3 (USA), or full country name (United_States). Case-insensitive. See the supported countries and states list. |
| state | No | String | - | The state or province to fetch regional tax rates for. Must be used together with country. Accepts alpha-2 state code (NY) or full state name with underscores (new_york). Case-insensitive. |
| format | No | String | json | Response format. Defaults to JSON. Pass format=xml to receive the response in XML format. |
See the supported countries and states list.
$ pip install requests
Pass an array of country objects in the request body. Each entry supports the same country and state values as the single lookup endpoint.
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| countries | Yes | Array<Object> | - | Array of country objects. Each entry supports the same country and state values as the single lookup endpoint. |
Each item in the countries array supports the following fields:
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| country | Yes | String | - | Country to fetch VAT rates for. Accepts alpha-2, alpha-3, or full country name with underscores. |
| state | No | String | - | Optional state or province for regional tax lookups where applicable. |
{
"countries": [
{
"country": "ES"
},
{
"country": "United_States",
"state": "New_York"
}
]
}$ pip install requests
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| ipAddress | No | String | - | An IPv4 or IPv6 address to resolve VAT rates from via IP geolocation. If omitted, the API automatically uses the requesting machine's IP. |
| output | No | String | json | Response format. Defaults to JSON. Pass output=xml to receive the response in XML format. |
Explore detailed response fields including field names, data types, requirements, and descriptions in the interactive Response Tables. For VAT Rates by Country API click here, for Bulk VAT Rates by Country API click here, and for VAT Rates by IP API click here.
| HTTP Status | Reasons |
|---|---|
| 400 | Bad request. Provide country query parameter or a combination of country and state query parameters. |
| 400 | Invalid JSON payload. |
| 400 | Invalid IP address format. Please provide a valid IPv4 or IPv6 address. |
| 404 | No VAT data found. |
| 404 | No VAT data found. Please provide a valid ipAddress. |
Look up VAT rates for any country by passing either its alpha-2 code (e.g. DE for Germany) or its full name in the country parameter.
Not sure which countries are supported? Fetch the full list first:
curl -X GET 'https://api.apifreaks.com/v1.0/vat/supported-countries?type=VAT' -H 'X-apiKey: API-KEY' -H 'Accept: application/json'
Then query the VAT rate for your target country:
curl -X GET 'https://api.apifreaks.com/v1.0/vat/rates/country?country=IE' -H 'X-apiKey: API-KEY' -H 'Accept: application/json' #RESPONSE [ { "country": "IE", "type": "vat", "currency": "EUR", "standard_rate": 0.23, "reduced_rate": [ 0, 0.09, 0.135 ], "categories": { "books": 0.09, "newspapers": 0.23, "periodicals": 0.23, "broadcasting": 0.23 } } ]
For countries where tax is applied at the regional level rather than nationally, pass both the country and state parameters to get the rate for a specific state or province:
curl -X GET 'https://api.apifreaks.com/v1.0/vat/rates/country?country=US&state=NY' -H 'X-apiKey: API-KEY' -H 'Accept: application/json' #RESPONSE [ { "country": "US", "state": "NY", "type": "vat", "currency": "USD", "standard_rate": 0.04 } ]
Resolve VAT and GST rates based on geolocation by passing an IP address in the ipAddress parameter. The API maps the IP to its country and returns the corresponding rates:
curl -X GET 'https://api.apifreaks.com/v1.0/vat/rates/ip-address?ipAddress=178.238.11.6' -H 'X-apiKey: API-KEY' -H 'Accept: application/json' #RESPONSE [ { "country": "GB", "type": "vat", "currency": "GBP", "standard_rate": 0.2, "reduced_rate": [ 0, 0.05 ], "categories": { "books": 0.2, "newspapers": 0.2, "periodicals": 0.2, "broadcasting": 0.2 } } ]
Omit the ipAddress parameter entirely and the API automatically detects the calling IP address, returning VAT and GST rates for that location.
curl -X GET 'https://api.apifreaks.com/v1.0/vat/rates/ip-address' -H 'X-apiKey: API-KEY' -H 'Accept: application/json' #RESPONSE [ { "country": "RO", "type": "vat", "currency": "RON", "standard_rate": 0.21, "reduced_rate": [ 0, 0.11 ], "categories": { "books": 0.11, "newspapers": 0.21, "periodicals": 0.21, "broadcasting": 0.21 } } ]
Fetch VAT and GST rates for multiple countries in a single request using the bulk endpoint. Pass an array of country objects in the request body. Each entry can optionally include a state for regional lookups:
curl -X POST 'https://api.apifreaks.com/v1.0/vat/rates/country' -H 'X-apiKey: API-KEY' -H 'Content-Type: application/json' \ -H 'Accept: application/json' -d '{ "countries": [ { "country": "IE" }, { "country": "US", "state": "NY" } ] }' #RESPONSE [ { "country": "IE", "type": "vat", "currency": "EUR", "standard_rate": 0.23, "reduced_rate": [ 0, 0.09, 0.135 ], "categories": { "books": 0.09, "newspapers": 0.23, "periodicals": 0.23, "broadcasting": 0.23 } }, { "country": "US", "state": "NY", "type": "vat", "currency": "USD", "standard_rate": 0.04 } ]
To use the VAT Rates API, API credits are required. Charges apply only for successful queries, defined by a 2xx status code. If a request results in a 4xx or 5xx status code, no credits will be deducted, and any credits already charged will be refunded.
| Service | Credits |
|---|---|
| VAT Rates by Country | 20 credits per successful request |
| Bulk VAT Rates by Country | 20 credits per successful VAT rate per country (bulk) |
| VAT Rates by IP Address | 20 credits per successful request |
Utilize the Credits Usage API to efficiently monitor your recent consumption of both one-off and subscription credits. This API provides a streamlined way to track and manage your credit usage, ensuring you stay informed about your remaining balance and can optimize your resource allocation effectively.