Taxamo
taxamo · Finance
Taxamo’s elegant suite of APIs and comprehensive reporting dashboard enables digital merchants to easily comply with EU regulatory requirements on tax calculation, evidence collection, tax return creation and data storage.
Authentication
Sample Requests
Browse transactions
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/transactions?limit=10&format=json&offset=0&has_note=true&statuses=example&filter_text=example&sort_reverse=true¤cy_code=example&order_date_to=example&invoice_number=example&order_date_from=example&key_or_custom_id=example&tax_country_code=example&tax_country_codes=example&total_amount_less_than=example&original_transaction_key=example&total_amount_greater_than=example"
import requests
params = {
"limit": "10",
"format": "json",
"offset": "0",
"has_note": "true",
"statuses": "example",
"filter_text": "example",
"sort_reverse": "true",
"currency_code": "example",
"order_date_to": "example",
"invoice_number": "example",
"order_date_from": "example",
"key_or_custom_id": "example",
"tax_country_code": "example",
"tax_country_codes": "example",
"total_amount_less_than": "example",
"original_transaction_key": "example",
"total_amount_greater_than": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/transactions",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/transactions');
url.searchParams.set('limit', '10');
url.searchParams.set('format', 'json');
url.searchParams.set('offset', '0');
url.searchParams.set('has_note', 'true');
url.searchParams.set('statuses', 'example');
url.searchParams.set('filter_text', 'example');
url.searchParams.set('sort_reverse', 'true');
url.searchParams.set('currency_code', 'example');
url.searchParams.set('order_date_to', 'example');
url.searchParams.set('invoice_number', 'example');
url.searchParams.set('order_date_from', 'example');
url.searchParams.set('key_or_custom_id', 'example');
url.searchParams.set('tax_country_code', 'example');
url.searchParams.set('tax_country_codes', 'example');
url.searchParams.set('total_amount_less_than', 'example');
url.searchParams.set('original_transaction_key', 'example');
url.searchParams.set('total_amount_greater_than', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/transactions")
q := baseURL.Query()
q.Set("limit", "10")
q.Set("format", "json")
q.Set("offset", "0")
q.Set("has_note", "true")
q.Set("statuses", "example")
q.Set("filter_text", "example")
q.Set("sort_reverse", "true")
q.Set("currency_code", "example")
q.Set("order_date_to", "example")
q.Set("invoice_number", "example")
q.Set("order_date_from", "example")
q.Set("key_or_custom_id", "example")
q.Set("tax_country_code", "example")
q.Set("tax_country_codes", "example")
q.Set("total_amount_less_than", "example")
q.Set("original_transaction_key", "example")
q.Set("total_amount_greater_than", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/transactions")
uri.query = URI.encode_www_form({
"limit" => "10",
"format" => "json",
"offset" => "0",
"has_note" => "true",
"statuses" => "example",
"filter_text" => "example",
"sort_reverse" => "true",
"currency_code" => "example",
"order_date_to" => "example",
"invoice_number" => "example",
"order_date_from" => "example",
"key_or_custom_id" => "example",
"tax_country_code" => "example",
"tax_country_codes" => "example",
"total_amount_less_than" => "example",
"original_transaction_key" => "example",
"total_amount_greater_than" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/transactions?" . http_build_query([
"limit" => "10",
"format" => "json",
"offset" => "0",
"has_note" => "true",
"statuses" => "example",
"filter_text" => "example",
"sort_reverse" => "true",
"currency_code" => "example",
"order_date_to" => "example",
"invoice_number" => "example",
"order_date_from" => "example",
"key_or_custom_id" => "example",
"tax_country_code" => "example",
"tax_country_codes" => "example",
"total_amount_less_than" => "example",
"original_transaction_key" => "example",
"total_amount_greater_than" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Countries
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/dictionaries/countries?tax_supported=true"
import requests
params = {
"tax_supported": "true"
}
response = requests.get(
"https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/dictionaries/countries",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/dictionaries/countries');
url.searchParams.set('tax_supported', 'true');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/dictionaries/countries")
q := baseURL.Query()
q.Set("tax_supported", "true")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/dictionaries/countries")
uri.query = URI.encode_www_form({
"tax_supported" => "true"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/dictionaries/countries?" . http_build_query([
"tax_supported" => "true"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Detailed refunds
Hover any highlighted part to learn what it does
curl -X GET "https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/settlement/detailed_refunds?limit=10&format=json&offset=0&date_to=example&date_from=example&country_codes=example"
import requests
params = {
"limit": "10",
"format": "json",
"offset": "0",
"date_to": "example",
"date_from": "example",
"country_codes": "example"
}
response = requests.get(
"https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/settlement/detailed_refunds",
params=params,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/settlement/detailed_refunds');
url.searchParams.set('limit', '10');
url.searchParams.set('format', 'json');
url.searchParams.set('offset', '0');
url.searchParams.set('date_to', 'example');
url.searchParams.set('date_from', 'example');
url.searchParams.set('country_codes', 'example');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/settlement/detailed_refunds")
q := baseURL.Query()
q.Set("limit", "10")
q.Set("format", "json")
q.Set("offset", "0")
q.Set("date_to", "example")
q.Set("date_from", "example")
q.Set("country_codes", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/settlement/detailed_refunds")
uri.query = URI.encode_www_form({
"limit" => "10",
"format" => "json",
"offset" => "0",
"date_to" => "example",
"date_from" => "example",
"country_codes" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/taxamo.com/1/api/v1/settlement/detailed_refunds?" . http_build_query([
"limit" => "10",
"format" => "json",
"offset" => "0",
"date_to" => "example",
"date_from" => "example",
"country_codes" => "example"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Taxamo?
Taxamo is a Finance API. Developers commonly use finance APIs for:
- processing payments and handling transactions
- building subscription and billing systems
- automating invoicing and financial reporting
- fraud detection and risk scoring
- connecting to banking and accounting software
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Taxamo is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?