Structured tax data for 111 countries — brackets, social contributions, and net income calculations
https://api.countrytaxcalc.comFree tier (1,000 req/month): email daniel@countrytaxcalc.com with subject "API Access - Free Tier".
Paid plans from $19/month: view pricing →
curl -X POST https://api.countrytaxcalc.com/api/v1/calculate \
-H "X-API-Key: ctc_your_key_here" \
-H "Content-Type: application/json" \
-d '{"country": "GB", "income": 60000}' Look for totals.net_income for take-home pay and totals.effective_tax_rate for the effective rate. The metadata.accuracy_confidence field is 0.95 when data is verified against an official source, 0.70 for fallback.
The CountryTaxCalc API provides accurate income tax data for 111 countries sourced from official government tax authorities and updated annually.
jurisdiction jurisdiction /calculate · /countries list · 1,000 req/month /summary · 500k req/month · $49/mo /compare (20 countries in one call) · 2M req/month · $149/mo All endpoints except /health require an API key passed as a header:
X-API-Key: ctc_your_key_here Keys follow the format ctc_[32 hex characters]. Get a free key →
Every authenticated response includes:
| Header | Description |
|---|---|
X-RateLimit-Limit | Monthly request limit for your plan |
X-RateLimit-Remaining | Requests remaining this calendar month |
X-RateLimit-Reset | Unix timestamp when limit resets (1st of next month, 00:00 UTC) |
X-RateLimit-Used | Requests made this month including this one |
A separate per-minute burst limit applies independently. Burst-limited responses return 429 with a Retry-After header.
/api/v1/health Public — no key required Server and database status check.
curl https://api.countrytaxcalc.com/api/v1/health {
"status": "healthy",
"timestamp": "2026-07-06T12:00:00.000Z",
"database": "connected"
} /api/v1/countries Free+ All 111+ supported countries with currency metadata. API key is accepted but not required — this endpoint is publicly accessible.
curl https://api.countrytaxcalc.com/api/v1/countries /api/v1/countries/{code} Starter+ Country metadata — currency, calculation complexity, available jurisdiction codes.
curl https://api.countrytaxcalc.com/api/v1/countries/DE \
-H "X-API-Key: ctc_your_key" /api/v1/countries/{code}/rates Starter+ Raw tax bracket data — no income required. Cached 1 hour. Add ?year=2024 for historical data (Growth+).
curl https://api.countrytaxcalc.com/api/v1/countries/DE/rates \
-H "X-API-Key: ctc_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": [...]
} /api/v1/calculate Free+ Full tax calculation with income tax, social contributions, deductions, and take-home pay. Auto-converts currency if input differs from the country's local currency.
curl -X POST https://api.countrytaxcalc.com/api/v1/calculate \
-H "X-API-Key: ctc_your_key" \
-H "Content-Type: application/json" \
-d '{"country": "DE", "income": 80000, "currency": "USD"}' {
"country": "Germany",
"country_code": "DE",
"tax_year": 2026,
"currency": "EUR",
"gross_income": 73872,
"currency_conversion": {
"input_income": 80000,
"input_currency": "USD",
"local_currency": "EUR",
"exchange_rate": 0.9234,
"converted_income": 73872,
"fx_source": "frankfurter",
"fx_rate_age_hours": 18.4
},
"breakdown": {
"taxable_income": 62268,
"national_income_tax": {
"amount": 19843,
"effective_rate": 26.86,
"marginal_rate": 42
},
"social_contributions": [...],
"special_taxes": [...]
},
"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": "Bundeszentralamt für Steuern",
"last_updated": "2026-04-15"
}
} | Field | Type | Required | Description |
|---|---|---|---|
country | string | Yes | ISO 2-letter code (DE) or country name (Germany) |
income | number | Yes | Annual gross income. Must be > 0 and ≤ 100,000,000. |
currency | string | No | ISO 4217 code. Defaults to country's local currency. Auto-converts if different. |
jurisdiction | string | No | State/province code. See Jurisdiction codes below. |
tax_year | integer | No | Defaults to current year. Historical years (past) require Growth+. |
fx_source field indicates which FX provider was used: "frankfurter" (ECB, primary) or "exchangerate-api" (fallback for 160+ currencies).
0.95 means database-backed calculation from verified official sources. 0.70 indicates a temporary fallback; treat as approximate.
/api/v1/summary Growth+ All 111+ countries ranked by effective tax rate for a given income level.
net_income values are in local currency and are not directly comparable across countries. Use effective_tax_rate for currency-neutral comparison, or use POST /compare with an explicit currency field to compare in a single currency.
curl "https://api.countrytaxcalc.com/api/v1/summary?income=100000" \
-H "X-API-Key: ctc_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",
"total_tax": 0,
"net_income": 100000,
"effective_tax_rate": 0,
"effective_tax_rate_percent": "0.0%"
}
]
} /api/v1/compare Pro+ Compare tax across up to 20 countries in a single request. All monetary values are in each country's local currency. Allow 2–5 seconds for large requests.
curl -X POST https://api.countrytaxcalc.com/api/v1/compare \
-H "X-API-Key: ctc_your_key" \
-H "Content-Type: application/json" \
-d '{
"income": 100000,
"currency": "USD",
"countries": [
{ "country": "US", "jurisdiction": "CA" },
{ "country": "GB" },
{ "country": "DE" },
{ "country": "SG" }
]
}' summary object in the response pre-computes: best country for net income, lowest effective rate, worst for net income, and annual / 10-year savings potential between best and worst.
Pass a jurisdiction parameter to include state/provincial tax.
"country": "US"CA CaliforniaTX Texas NY New YorkFL Florida WA WashingtonIL Illinois PA PennsylvaniaOH Ohio GA GeorgiaNC North Carolina All 50 states + DC supported. Omit jurisdiction for federal tax only.
"country": "CA"ON OntarioBC British Columbia AB AlbertaQC Quebec MB ManitobaSK Saskatchewan All 13 provinces and territories supported.
CA = California when country is US. To calculate Canadian taxes, set country to CA and optionally pass a province as jurisdiction (e.g. "jurisdiction": "ON").
Use ISO 3166-1 alpha-2 codes (GB, DE, JP) or full country names (Germany, United Kingdom). Both are accepted everywhere a country identifier is expected.
Full country list: GET /api/v1/countries — no key required.
| Code | Meaning |
|---|---|
400 | Bad request — missing required field, invalid income value, unknown currency |
401 | Invalid or missing API key |
403 | Your plan doesn't include this endpoint. Response includes upgrade_url. |
404 | Country not found |
422 | Currency conversion unavailable for this pair. Response includes supported currencies list. |
429 | Rate limited. Check X-RateLimit-* headers or Retry-After (burst limit). |
500 | Internal server error. Email daniel@countrytaxcalc.com if the issue persists. |
This is API version 1 (/api/v1/). When a v2 is released, v1 will remain supported for a minimum of 12 months. Breaking changes are never made within a live version — only additive changes (new optional fields, new endpoints). Deprecation notices are sent by email at least 90 days in advance.
See the changelog for rate updates and infrastructure changes.
API usage requires a visible attribution link near any displayed tax data:
<a href="https://www.countrytaxcalc.com" rel="noopener">
Powered by CountryTaxCalc.com
</a> View pricing & get an API key →
Free tier: 1,000 requests/month, no time limit. Paid plans from $19/month.
Questions? Email daniel@countrytaxcalc.com