CalculatorSalaryCouncil TaxTax guidesAbout

Free UK Tax Calculation API

A free, read-only REST API for UK income tax calculations using 2025-26 HMRC rates. Calculate income tax, National Insurance, student loan repayments and take-home pay for any salary.

Status
Live
2025-26 rates
Auth required
None
Fully public
Rate limits
None
Please cache responses
Format
JSON
CORS enabled

Endpoint

GET https://calculatetax.uk/api/calculate

Query Parameters

Parameter Type Required Default Description
gross number Yes , Annual gross salary in GBP (0-10,000,000)
region string No england england, scotland, wales, northern-ireland
studentLoan string No none none, plan1, plan2, plan4, plan5, postgrad
pensionPercent number No 0 Pension contribution as percentage of gross (0-100)
hoursPerWeek number No 37.5 Working hours per week, affects netHourly only (1-168)

Example Request

Calculate take-home pay for a £35,000 salary in England:

GET https://calculatetax.uk/api/calculate?gross=35000

With optional parameters (Scotland, Plan 2 student loan, 5% pension):

GET https://calculatetax.uk/api/calculate?gross=35000®ion=scotland&studentLoan=plan2&pensionPercent=5

Example Response

Response for ?gross=35000®ion=england, 200 OK

{
  "gross": 35000,
  "region": "england",
  "personalAllowance": 12570,
  "taxableIncome": 22430,
  "incomeTax": 4486,
  "nationalInsurance": 1794,
  "studentLoanRepayment": 0,
  "pensionContribution": 0,
  "totalDeductions": 6280,
  "netPay": 28720,
  "netMonthly": 2393,
  "netWeekly": 552,
  "netDaily": 110,
  "netHourly": 14.73,
  "effectiveTaxRate": 17.94,
  "marginalTaxRate": 28,
  "employerNI": 4500,
  "totalCostToEmployer": 39500,
  "breakdown": {
    "incomeTaxBands": [
      {
        "name": "Personal Allowance",
        "rate": 0,
        "from": 0,
        "to": 12570,
        "taxableInBand": 12570,
        "taxInBand": 0
      },
      {
        "name": "Basic Rate (20%)",
        "rate": 0.2,
        "from": 12570,
        "to": 50270,
        "taxableInBand": 22430,
        "taxInBand": 4486
      },
      {
        "name": "Higher Rate (40%)",
        "rate": 0.4,
        "from": 50270,
        "to": 125140,
        "taxableInBand": 0,
        "taxInBand": 0
      },
      {
        "name": "Additional Rate (45%)",
        "rate": 0.45,
        "from": 125140,
        "to": null,
        "taxableInBand": 0,
        "taxInBand": 0
      }
    ],
    "niBands": [
      {
        "name": "Below Primary Threshold",
        "rate": 0,
        "from": 0,
        "to": 12570,
        "earningsInBand": 12570,
        "niInBand": 0
      },
      {
        "name": "Main Rate (8%)",
        "rate": 0.08,
        "from": 12570,
        "to": 50270,
        "earningsInBand": 22430,
        "niInBand": 1794
      },
      {
        "name": "Upper Rate (2%)",
        "rate": 0.02,
        "from": 50270,
        "to": null,
        "earningsInBand": 0,
        "niInBand": 0
      }
    ]
  },
  "_meta": {
    "note": "calculatetax.uk API, 2025-26 HMRC rates. Free to use. Please cache responses.",
    "taxYear": "2025-26",
    "source": "https://calculatetax.uk"
  }
}

Response Fields

Field Type Description
gross number Annual gross salary (echoed from input)
personalAllowance number Tax-free personal allowance (tapers above £100,000)
taxableIncome number Gross minus personal allowance and pension
incomeTax number Annual income tax liability
nationalInsurance number Employee NI contributions (Class 1)
studentLoanRepayment number Annual student loan repayment (0 if no plan)
pensionContribution number Annual pension contribution (salary sacrifice)
totalDeductions number Sum of all deductions from gross
netPay number Annual take-home pay
netMonthly number Monthly take-home pay (netPay / 12)
netWeekly number Weekly take-home pay (netPay / 52)
netDaily number Daily take-home pay (netPay / 260 working days)
netHourly number Hourly take-home pay (based on hoursPerWeek)
effectiveTaxRate number Combined IT + NI as percentage of gross
marginalTaxRate number Combined marginal rate on next pound earned (%)
employerNI number Employer NI at 15% above £5,000 secondary threshold
totalCostToEmployer number Gross plus employer NI
breakdown object Detailed band-by-band breakdown of income tax and NI

Error Responses

All errors return a JSON object with an error field and the appropriate HTTP status code.

Status Cause Example error message
400 Missing or invalid parameter Missing required parameter: gross
400 Gross out of range Invalid gross: must be a number between 0 and 10,000,000
400 Unknown region Invalid region: must be one of england, scotland, wales, northern-ireland
Example error response (400):
{"error":"Missing required parameter: gross"}

Usage Notes

  • All monetary values in the response are in GBP (£), rounded to the nearest pound, except netHourly which is rounded to 2 decimal places.
  • Rates reflect 2025-26 HMRC rates. The API will be updated each tax year.
  • Pension contributions are treated as salary sacrifice (reduces taxable income but not NI earnings).
  • The breakdown object includes per-band income tax and NI details useful for building tax calculators.
  • Responses are cached with Cache-Control: public, max-age=3600. Please cache on your end too.
  • Currently free with no rate limits. Subscribe to updates if you depend on this API.

Rate Limits & Updates

Currently free with no rate limits. Please cache responses where possible, the underlying tax rates only change once a year (April). Responses include a 1-hour cache header.

CORS is fully enabled, you can call this API directly from the browser or any frontend application. No API key required.

Subscribe for API updates

Related:

Income Tax Rates 2025-26 National Insurance Rates £35,000 After Tax Net to Gross Calculator Tax Calculators