List VAT rates for all supported countries
curl --request GET \
--url https://api.avatcado.com/v1/ratesimport requests
url = "https://api.avatcado.com/v1/rates"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.avatcado.com/v1/rates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.avatcado.com/v1/rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.avatcado.com/v1/rates"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.avatcado.com/v1/rates")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.avatcado.com/v1/rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"country_code": "NL",
"country_name": "Netherlands",
"currency": "EUR",
"standard_rate": 21,
"other_rates": [
{
"rate": 9,
"type": "reduced"
}
],
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"count": 31
}
}{
"error": {
"code": "unauthorized",
"message": "Missing or invalid API key",
"docs_url": "https://docs.avatcado.com/errors/unauthorized"
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Monthly validation limit exceeded",
"docs_url": "https://docs.avatcado.com/errors/rate_limit_exceeded"
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}VAT Rates
List VAT rates for all supported countries
Returns current VAT rates (standard, reduced, super-reduced, zero) for all EU member states, the United Kingdom, Switzerland, Liechtenstein, and Norway.
This endpoint is free and unlimited. It does not count against your monthly quota. Burst rate limiting still applies to protect infrastructure.
GET
/
v1
/
rates
List VAT rates for all supported countries
curl --request GET \
--url https://api.avatcado.com/v1/ratesimport requests
url = "https://api.avatcado.com/v1/rates"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.avatcado.com/v1/rates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.avatcado.com/v1/rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.avatcado.com/v1/rates"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.avatcado.com/v1/rates")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.avatcado.com/v1/rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"country_code": "NL",
"country_name": "Netherlands",
"currency": "EUR",
"standard_rate": 21,
"other_rates": [
{
"rate": 9,
"type": "reduced"
}
],
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"count": 31
}
}{
"error": {
"code": "unauthorized",
"message": "Missing or invalid API key",
"docs_url": "https://docs.avatcado.com/errors/unauthorized"
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Monthly validation limit exceeded",
"docs_url": "https://docs.avatcado.com/errors/rate_limit_exceeded"
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}⌘I