SA Tax & Fiscal Reference API

Machine-readable South African tax parameters — income tax brackets, rebates, thresholds, UIF rates, transfer duty tables, and a calculation endpoint that computes tax liability given an income and age.

Live

Base URL

https://api.crimate.net/v1/tax

Authentication

Include your Tax API key in the Authorization header as a Bearer token.

curl -H "Authorization: Bearer db_sars_tax_live_YOUR_KEY" \
     https://api.crimate.net/v1/tax/brackets?year=2026

Endpoints

GET/v1/tax/brackets

Income tax brackets for a given year and type

Parameters: year (optional, defaults to current), type (optional: individual|company|trust)

Example

GET /v1/tax/brackets?year=2026&type=individual
GET/v1/tax/rebates

Tax rebates (primary, secondary, tertiary) by year

Parameters: year (optional)

Example

GET /v1/tax/rebates?year=2026
GET/v1/tax/thresholds

Tax-free thresholds by age group

Parameters: year (optional)

Example

GET /v1/tax/thresholds?year=2026
GET/v1/tax/transfer-duty

Property transfer duty brackets

Parameters: year (optional)

Example

GET /v1/tax/transfer-duty?year=2026
GET/v1/tax/uif

UIF contribution rates and ceiling

Parameters: year (optional)

Example

GET /v1/tax/uif?year=2026
GET/v1/tax/calculate

Calculate income tax for a given income, year, and age

Parameters: income (required, in cents), year (optional), age (optional, default 30)

Example

GET /v1/tax/calculate?income=50000000&year=2026&age=35
GET/v1/tax/years

List all available fiscal years

Parameters: None

Example

GET /v1/tax/years

Response Examples

Tax brackets response:

{
  "fiscal_year": "2026",
  "tax_type": "individual",
  "brackets": [
    { "bracket": 1, "min_income": 0, "max_income": 23710000, "rate": 18.0, "base_tax": 0 },
    { "bracket": 2, "min_income": 23710000, "max_income": 37060000, "rate": 26.0, "base_tax": 426780 },
    ...
  ]
}

Tax calculation response:

{
  "fiscal_year": "2026",
  "income": 50000000,
  "age": 35,
  "tax": 3013880,
  "effective_rate": 6.03
}

All monetary values are in South African cents (ZAR). Divide by 100 for rand amounts.

Try It

Enter your Tax API key to make a live request. Generate a key in the dashboard.

Try It

Make a live API call from your browser

GET
curl -H "Authorization: Bearer db_sars_tax_live_YOUR_KEY" \
     "https://crimate.net/v1/tax/years"

Rate Limits

TierPriceRate Limit
FreeR0/mo30 req/min
ProR99/mo300 req/min

Free tier includes unlimited access to current-year data. Pro tier adds historical data and higher limits.

Error Codes

All error responses follow a consistent JSON format:

{
  "error": "error_code",
  "message": "Human-readable description."
}
StatusError CodeDescription
400invalid_requestThe request body or query parameters are malformed.
401unauthorizedMissing or invalid API key.
403no_subscriptionNo active subscription for this API product.
403quota_exceededDaily or monthly quota exceeded.
404not_foundThe requested resource does not exist.
429rate_limit_exceededToo many requests. Check X-RateLimit-Remaining header.
500internal_errorAn unexpected server error occurred.