# Taxamo API

> Taxamo API on Apizie: 36 endpoints (Countries, Currencies, Product types, Locate IP, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://apizie.tech/v1/payments:taxamo/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `payments:taxamo`
- Category: Payments
- Status: byok
- Source: https://taxamo.com
- Page: https://apizie.tech/api/payments/taxamo
- OpenAPI: https://apizie.tech/api/payments/taxamo/openapi.json

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…

## Endpoints

### Countries
`GET https://apizie.tech/v1/payments:taxamo/get-countries-dict` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| tax_supported | boolean | no | Should only countries with tax supported be listed? |

### Currencies
`GET https://apizie.tech/v1/payments:taxamo/get-currencies-dict` (byok)

### Product types
`GET https://apizie.tech/v1/payments:taxamo/get-product-types-dict` (byok)

### Locate IP
`GET https://apizie.tech/v1/payments:taxamo/locate-my-ip` (byok)

### Locate provided IP
`GET https://apizie.tech/v1/payments:taxamo/locate-given-ip` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| ip | string | yes | IP address. |

### Calculate domestic summary
`GET https://apizie.tech/v1/payments:taxamo/get-domestic-summary-report` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | no | Output format. 'xml' and 'csv' values are accepted. Default format - json |
| country_code | string | yes | ISO 2-letter country code which will be used for determining which country is domestic. |
| currency_code | string | no | ISO 3-letter currency code, e.g. EUR or USD. Defaults to the one assigned to MOSS calculations for a given country code. |
| start_month | string | yes | Period start month in yyyy-MM format. |
| end_month | string | yes | Period end month in yyyy-MM format. |
| fx_date_type | string | no | Which date should be used for FX. |

### Calculate EU VIES report
`GET https://apizie.tech/v1/payments:taxamo/get-eu-vies-report` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| period_length | string | no | Length of report period. 'month', 'quarter' and 'year' values are accepted. Required only if Large Filer Format is requested. |
| lff_sequence_number | string | no | Sequence number used to generate report in Large Filer Format. If not specified then '0000000001' will be used. |
| transformation | string | no | Which transformation should be applied. Please note that transformation will be applied only for xml and csv formats. |
| currency_code | string | no | ISO 3-letter currency code, e.g. EUR or USD. Defaults to the one assigned to MOSS calculations for a given country code. |
| end_month | string | yes | Period end month in yyyy-MM format. |
| tax_id | string | no | MOSS-assigned tax ID - if not provided, merchant's national tax number will be used. |
| start_month | string | yes | Period start month in yyyy-MM format. |
| eu_country_code | string | yes | ISO 2-letter country code which will be used for determining which country is domestic. |
| fx_date_type | string | no | Which date should be used for FX. |
| format | string | no | Output format. 'xml', 'csv' and 'lff' (only for Ireland) values are accepted as well |

### Detailed refunds
`GET https://apizie.tech/v1/payments:taxamo/get-detailed-refunds` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | no | Output format. 'json' or 'csv'. Default value is 'json' |
| country_codes | string | no | Comma separated list of 2-letter country codes |
| date_from | string | no | Take only refunds issued at or after the date. Format: yyyy-MM-dd |
| date_to | string | no | Take only refunds issued at or before the date. Format: yyyy-MM-dd |
| limit | number | no | Limit (no more than 1000, defaults to 100). |
| offset | number | no | Offset. Defaults to 0 |

### Fetch refunds
`GET https://apizie.tech/v1/payments:taxamo/get-refunds` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| format | string | no | Output format. 'csv' value is accepted as well |
| moss_country_code | string | no | MOSS country code, used to determine currency. If ommited, merchant default setting is used. |
| tax_region | string | no | Tax region key, defaults to EU for backwards compatibility. |
| date_from | string | yes | Take only refunds issued at or after the date. Format: yyyy-MM-dd |

### Fetch summary
`GET https://apizie.tech/v1/payments:taxamo/get-settlement-summary` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| moss_country_code | string | no | MOSS country code, used to determine currency. If ommited, merchant default setting is used. |
| tax_region | string | no | Tax region key |
| start_month | string | no | Period start month in yyyy-MM format. Either quarter or start-month and end-month have to be provided. |
| end_month | string | no | Period end month in yyyy-MM format. Either quarter or start-month and end-month have to be provided. |
| quarter | string | yes | Quarter in yyyy-MM format. If start-date and end-date are provided, quarter is ignored and should be set to 'range'. |

### Fetch settlement
`GET https://apizie.tech/v1/payments:taxamo/get-settlement` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| moss_tax_id | string | no | MOSS-assigned tax ID - if not provided, merchant's national tax number will be used. Deprecated, please use tax-id. |
| currency_code | string | no | ISO 3-letter currency code, e.g. EUR or USD. If provided, all amounts will be coerced for this currency. Defaults to region's currency code. |
| end_month | string | no | Period end month in yyyy-MM format. Either quarter or start-month and end-month have to be provided. |
| tax_id | string | no | MOSS-assigned tax ID - if not provided, merchant's national tax number will be used. Deprecated, please use tax-id. |
| refund_date_kind_override | string | no | Set to 'order_date' to show only refunds for the transactions in the selected reporting period. Set to 'refund_timestamp' to show refunds… |
| start_month | string | no | Period start month in yyyy-MM format. Either quarter or start-month and end-month have to be provided. |
| moss_country_code | string | no | MOSS country code, used to determine currency/region. If ommited, merchant default setting is used. Deprecated: please use tax-country-code. |
| format | string | no | Output format. 'csv' value is accepted as well |
| tax_country_code | string | no | Tax entity country code, used to determine currency/region. |
| quarter | string | yes | Quarter in yyyy-MM format. If start-date and end-date are provided, quarter is ignored and should be set to 'range'. |

### Settlement by country
`GET https://apizie.tech/v1/payments:taxamo/get-settlement-stats-by-country` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| date_from | string | yes | Date from in yyyy-MM format. |
| date_to | string | yes | Date to in yyyy-MM format. |

### Settlement by tax type
`GET https://apizie.tech/v1/payments:taxamo/get-settlement-stats-by-taxation-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| date_from | string | yes | Date from in yyyy-MM format. |
| date_to | string | yes | Date to in yyyy-MM format. |

### Settlement stats over time
`GET https://apizie.tech/v1/payments:taxamo/get-daily-settlement-stats` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| interval | string | yes | Interval type - day, week, month. |
| date_from | string | yes | Date from in yyyy-MM format. |
| date_to | string | yes | Date to in yyyy-MM format. |

### Transaction stats
`GET https://apizie.tech/v1/payments:taxamo/get-transactions-stats` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| date_from | string | yes | Date from in yyyy-MM format. |
| date_to | string | yes | Date to in yyyy-MM format. |
| interval | string | no | Interval. Accepted values are 'day', 'week' and 'month'. |

### Settlement by country
`GET https://apizie.tech/v1/payments:taxamo/get-transactions-stats-by-country` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| global_currency_code | string | no | Global currency code to use for conversion - in addition to country's currency if rate is available. Conversion is indicative and based on… |
| date_from | string | yes | Date from in yyyy-MM format. |
| date_to | string | yes | Date to in yyyy-MM format. |

### Simple tax
`GET https://apizie.tech/v1/payments:taxamo/calculate-simple-tax` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| product_type | string | no | Product type, according to dictionary /dictionaries/product_types. |
| invoice_address_city | string | no | Invoice address/postal_code |
| buyer_credit_card_prefix | string | no | First 6 digits of buyer's credit card prefix. |
| currency_code | string | yes | Currency code for transaction - e.g. EUR. |
| invoice_address_region | string | no | Invoice address/region |
| unit_price | number | no | Unit price. |
| quantity | number | no | Quantity Defaults to 1. |
| buyer_tax_number | string | no | Buyer's tax number - EU VAT number for example. If using EU VAT number, it is possible to provide country code in it (e.g. IE1234567X) or… |
| force_country_code | string | no | Two-letter ISO country code, e.g. FR. Use it to force country code for tax calculation. |
| order_date | string | no | Order date in yyyy-MM-dd format, in merchant's timezone. If provided by the API caller, no timezone conversion is performed. Default value… |
| amount | number | no | Amount. Required if total amount or both unit price and quantity are not provided. |
| billing_country_code | string | no | Billing two letter ISO country code. |
| invoice_address_postal_code | string | no | Invoice address/postal_code |
| total_amount | number | no | Total amount. Required if amount or both unit price and quantity are not provided. |
| tax_deducted | boolean | no | If the transaction is in a country supported by Taxamo, but the tax is not calculated due to merchant settings or EU B2B transaction for… |

### Calculate tax
`POST https://apizie.tech/v1/payments:taxamo/calculate-tax` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Calculate location
`GET https://apizie.tech/v1/payments:taxamo/calculate-tax-location` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| billing_country_code | string | no | Billing two letter ISO country code. |
| buyer_credit_card_prefix | string | no | First 6 digits of buyer's credit card prefix. |

### Validate VAT number
`GET https://apizie.tech/v1/payments:taxamo/validate-tax-number` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| country_code | string | no | Two-letter ISO country code. |
| tax_number | string | yes | Tax number |

### Browse transactions
`GET https://apizie.tech/v1/payments:taxamo/list-transactions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter_text | string | no | Filtering expression |
| offset | integer | no | Offset |
| has_note | boolean | no | Return only transactions with a note field set. |
| key_or_custom_id | string | no | Taxamo provided transaction key or custom id |
| currency_code | string | no | Three letter ISO currency code. |
| order_date_to | string | no | Order date to in yyyy-MM-dd format. |
| sort_reverse | boolean | no | If true, results are sorted in descending order. |
| limit | integer | no | Limit (no more than 1000, defaults to 100). |
| invoice_number | string | no | Transaction invoice number. |
| tax_country_codes | string | no | Comma separated list of two letter ISO tax country codes. |
| statuses | string | no | Comma separated list of of transaction statuses. 'N' - unconfirmed transaction, 'C' - confirmed transaction. |
| original_transaction_key | string | no | Taxamo provided original transaction key |
| order_date_from | string | no | Order date from in yyyy-MM-dd format. |
| total_amount_greater_than | string | no | Return only transactions with total amount greater than given number. Transactions with total amount equal to a given number (e.g. 0) are… |
| format | string | no | Output format - supports 'csv' value for this operation. |
| total_amount_less_than | string | no | Return only transactions with total amount less than a given number. Transactions with total amount equal to a given number (e.g. 1) are… |
| tax_country_code | string | no | Two letter ISO tax country code. |

### Store transaction
`POST https://apizie.tech/v1/payments:taxamo/create-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve transaction data.
`GET https://apizie.tech/v1/payments:taxamo/get-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key |

### Update transaction
`POST https://apizie.tech/v1/payments:taxamo/update-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key. |
| body | object | yes | JSON request body |

### Delete transaction
`POST https://apizie.tech/v1/payments:taxamo/cancel-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key |

### Confirm transaction
`POST https://apizie.tech/v1/payments:taxamo/confirm-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key. |
| body | object | yes | JSON request body |

### Email credit note
`POST https://apizie.tech/v1/payments:taxamo/email-refund` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key. |
| refund_note_number | string | yes | Refund note id. |
| body | object | yes | JSON request body |

### Email invoice
`POST https://apizie.tech/v1/payments:taxamo/email-invoice` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key. |
| body | object | yes | JSON request body |

### List payments
`GET https://apizie.tech/v1/payments:taxamo/list-payments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | string | no | Max record count (no more than 100, defaults to 10). |
| offset | string | no | How many records need to be skipped, defaults to 0. |
| key | string | yes | Transaction key. |

### Register a payment
`POST https://apizie.tech/v1/payments:taxamo/create-payment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key. |
| body | object | yes | JSON request body |

### Capture payment
`POST https://apizie.tech/v1/payments:taxamo/capture-payment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key. |

### Get transaction refunds
`GET https://apizie.tech/v1/payments:taxamo/list-refunds` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key. |

### Create a refund
`POST https://apizie.tech/v1/payments:taxamo/create-refund` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key. |
| body | object | yes | JSON request body |

### Un-confirm the transaction
`POST https://apizie.tech/v1/payments:taxamo/unconfirm-transaction` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key | string | yes | Transaction key. |
| body | object | yes | JSON request body |

### Create SMS token
`POST https://apizie.tech/v1/payments:taxamo/create-smstoken` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Verify SMS token
`GET https://apizie.tech/v1/payments:taxamo/verify-smstoken` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| token | string | yes | Provided token. |

## Example
```
curl "https://apizie.tech/v1/payments:taxamo/get-countries-dict" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Taxamo API?
Create a free Apizie key, then send GET https://apizie.tech/v1/payments:taxamo/get-countries-dict with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Taxamo API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Taxamo itself also needs your own key from taxamo.com.

### Can AI agents use the Taxamo API?
Yes. Add the Apizie MCP server (https://apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key payments:taxamo.

### What is the status of the Taxamo API?
Needs your own provider key (bring your own key)
