A free, read-only JSON API for UK tax calculations, powered by the same HMRC-verified engine as our calculators. No auth, no signup. Free for any use provided you keep a visible “Calculated by CalcHub.uk” link (see API terms).
GET /api/v1/take-home/<salary>-<region>
england, scotland, wales or northern-irelandcurl https://calchub.uk/api/v1/take-home/50000-england
{
"endpoint": "take-home",
"year": "2026-27",
"input": { "grossSalary": 50000, "region": "england" },
"result": {
"takeHomePay": ...,
"incomeTax": ...,
"nationalInsurance": ...,
"monthlyTakeHome": ...
},
"attribution": "Calculated by CalcHub.uk",
"source": "https://www.gov.uk/income-tax-rates"
}GET /api/v1/income-tax/<income>-<region> — UK Income Tax bands (England/Wales/NI + Scotland 6-band)GET /api/v1/national-insurance/<salary> — Class 1 employee NI (UK-wide)GET /api/v1/stamp-duty/<price>-<region> — SDLT (england), LBTT (scotland), LTT (wales)GET /api/v1/vat/<amount>-<rate>-<direction> — add/remove VAT (rate: standard|reduced)Round-number values are pre-generated; arbitrary inputs, first-time-buyer / additional-property stamp duty, and more endpoints are on the roadmap.
# curl
curl https://calchub.uk/api/v1/take-home/50000-england
// JavaScript (fetch)
const r = await fetch('https://calchub.uk/api/v1/take-home/50000-england');
const data = await r.json();
console.log(data.result.takeHomePay);
# Python (requests)
import requests
data = requests.get('https://calchub.uk/api/v1/take-home/50000-england').json()
print(data['result']['takeHomePay'])Machine-readable contract: OpenAPI 3.1 spec · Postman collection.
Building something with the API? Tell us— we’ll feature it.