The Tax Brief real effective rates for 111+ countries — bi-weekly, free.

CountryTaxCalc Data API

Structured tax data for 111 countries — brackets, social contributions, and net income calculations

Base URL: https://api.countrytaxcalc.com

Overview

The CountryTaxCalc API provides accurate income tax data for 111 countries. All data is sourced from official government tax authorities and updated annually.

To request an API key, contact daniel@countrytaxcalc.com.

Authentication

All endpoints except /health require an API key, passed as a header:

X-API-Key: your_api_key_here

Or as a query parameter: ?api_key=your_api_key_here

Requests without a valid key return 401 Unauthorized.

Endpoints

GET /api/v1/health Public

Status check. No authentication required.

curl https://api.countrytaxcalc.com/api/v1/health
{
  "status": "healthy",
  "timestamp": "2026-04-15T12:00:00.000Z",
  "database": "connected"
}
GET /api/v1/countries

List all supported countries.

curl https://api.countrytaxcalc.com/api/v1/countries \
  -H "X-API-Key: your_key"
GET /api/v1/countries/{code}

Country metadata — currency, complexity, available jurisdictions.

curl https://api.countrytaxcalc.com/api/v1/countries/DE \
  -H "X-API-Key: your_key"
GET /api/v1/countries/{code}/rates New

Raw tax bracket data for a country — no income calculation required. Cached for 1 hour.

curl https://api.countrytaxcalc.com/api/v1/countries/DE/rates \
  -H "X-API-Key: your_key"
{
  "country_code": "DE",
  "country_name": "Germany",
  "currency": "EUR",
  "tax_year": 2026,
  "calculation_type": "progressive",
  "source_url": "https://www.bundesfinanzministerium.de/",
  "last_updated": "2026-04-15",
  "brackets": [
    { "from": 0, "to": 11784, "rate": 0, "rate_percent": "0.0%" },
    { "from": 11784, "to": 66761, "rate": 0.14, "rate_percent": "14.0%" },
    { "from": 66761, "to": null, "rate": 0.42, "rate_percent": "42.0%" }
  ],
  "deductions": [...],
  "social_contributions": [
    {
      "name": "Health Insurance (Employee)",
      "type": "health_employee",
      "employee_rate": 0.0735,
      "employer_rate": 0.0735,
      "cap_amount": null
    }
  ]
}

Optional query params: ?year=2026

POST /api/v1/calculate

Calculate tax for a specific income in a specific country. Returns full breakdown including deductions, social contributions, and net income.

curl -X POST https://api.countrytaxcalc.com/api/v1/calculate \
  -H "X-API-Key: your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "country": "DE",
    "income": 80000,
    "currency": "EUR"
  }'
{
  "country": "Germany",
  "country_code": "DE",
  "tax_year": 2026,
  "currency": "EUR",
  "currency_symbol": "€",
  "currency_name": "Euro",
  "currency_conversion": {
    "input_income": 80000,
    "input_currency": "USD",
    "local_currency": "EUR",
    "exchange_rate": 0.9234,
    "converted_income": 73872,
    "rate_date": "2026-04-25",
    "fx_source": "frankfurter",
    "fx_rate_age_hours": 18.4
  },
  "gross_income": 73872,
  "breakdown": {
    "taxable_income": 62268,
    "deductions": [...],
    "national_income_tax": {
      "amount": 19843,
      "effective_rate": 26.86,
      "marginal_rate": 42,
      "brackets_applied": [...]
    },
    "social_contributions": [...]
  },
  "totals": {
    "total_tax": 25634,
    "net_income": 48238,
    "effective_tax_rate": 34.7,
    "take_home_percentage": 65.3,
    "monthly_net_income": 4019.8
  },
  "metadata": {
    "accuracy_confidence": 0.95,
    "data_source": "https://www.bundesfinanzministerium.de/",
    "last_updated": "2026-04-15"
  },
  "warnings": []
}

Note: currency_conversion only appears when the input currency differs from the country's local currency. The fx_source field is "frankfurter" (ECB, 30 currencies) or "exchangerate-api" (160+ currencies).

Field Type Required Description
countrystringYesISO 2-letter code (DE) or country name (Germany)
incomenumberYesAnnual gross income in local currency
currencystringNoISO 4217 code. If different from the country's local currency, auto-conversion is applied. Defaults to local currency.
jurisdictionstringNoState/province code for US (CA), Canada (ON), etc.
tax_yearnumberNoDefaults to current year
GET /api/v1/summary New

All 111 countries ranked by effective tax rate for a given income level. Useful for building country comparison tables.

curl "https://api.countrytaxcalc.com/api/v1/summary?income=100000" \
  -H "X-API-Key: your_key"
{
  "income": 100000,
  "currency_note": "Income treated as nominal in each country's local currency.",
  "tax_year": 2026,
  "total_countries": 111,
  "countries": [
    {
      "rank": 1,
      "country_code": "AE",
      "country_name": "United Arab Emirates",
      "currency": "AED",
      "income_tax": 0,
      "social_tax": 0,
      "total_tax": 0,
      "net_income": 100000,
      "effective_tax_rate": 0,
      "effective_tax_rate_percent": "0.0%"
    },
    ...
  ]
}

Optional query params: ?year=2026

Note: Income is treated as a nominal figure in each country's local currency. This endpoint is designed for relative tax burden comparisons, not absolute take-home pay comparisons across currencies.

POST /api/v1/compare

Compare tax burden across multiple specific countries for the same income.

curl -X POST https://api.countrytaxcalc.com/api/v1/compare \
  -H "X-API-Key: your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "income": 100000,
    "currency": "USD",
    "countries": [
      { "country": "US", "jurisdiction": "CA" },
      { "country": "GB" },
      { "country": "DE" },
      { "country": "SG" }
    ]
  }'

Country Codes

Use standard ISO 3166-1 alpha-2 codes (e.g. GB, DE, JP). Country names also accepted (e.g. Germany).

For US state tax, pass "country": "US" with "jurisdiction": "CA" (California), "TX" (Texas), etc.

For Canadian provincial tax, pass "country": "CA" with "jurisdiction": "ON" (Ontario), "BC", etc.

accuracy_confidence

Every /calculate response includes metadata.accuracy_confidence:

ValueMeaning
0.95DB-backed — sourced directly from official government tax authority
0.70JS fallback — built-in data, may be less current

Attribution

API usage requires a visible attribution link near any displayed tax data:

<a href="https://www.countrytaxcalc.com" rel="dofollow">
  Powered by CountryTaxCalc.com
</a>

Get Access

The API is available to partners and developers. Email daniel@countrytaxcalc.com with a brief description of your use case.