Last updated 9 October 2026View as Markdown
Check Take Home Pay API
UK pay and employment calculations over HTTP: take-home pay, gross from net, employer cost, payroll periods, statutory pay, entitlements and contractor tax, worked out the way payroll software does. The income tax, National Insurance and student loan rules pass every case in HMRC’s own payroll test data.
Base URL and keys
Every endpoint is under https://api.checktakehomepay.co.uk.
- Calculations need a key, sent as
Authorization: Bearer <key>. - Reference data needs none:
GET /v1/tax-years,GET /v1/ratesandGET /v1/tax-codes/{code}. - Sign up, free, and make one on your dashboard’s Keys page. Keep it on your server: never in a web page or an app.
Requests
- Bodies are JSON with snake_case fields.
- Money is pounds and pence: a number with at most two decimal places, such as
45000or2083.33. - Pay that recurs is
{ "amount": 3000, "per": "month" }, withperas year, month, four_weeks, two_weeks, week, day or hour. Days and hours use the working pattern: 5 days and 37.5 hours a week, 52 weeks a year, unless you sendworking_pattern. tax_yearis the latest (2026-27) when not given.- A field the endpoint doesn’t know is an error, not ignored, so a typo can’t quietly change an answer.
Responses
Money comes back in pounds and pence. Besides the result, every response says what produced it:
| Field | What it is |
|---|---|
tax_year | The tax year the rates are from. |
engine | The engine revision. It changes when a result changes for the same request, so you can tell a fix from a bug. |
hmrc_test_data | The HMRC payroll test data this engine passes, case for case. |
assumptions | What the calculation took as given, in plain English. |
sources | The gov.uk pages and HMRC documents the rules come from. |
Errors are { "error": { "code", "message" } }: see Errors.
Endpoints
Employee pay
POST /v1/take-home: Take-home payPOST /v1/gross-from-net: Gross from netPOST /v1/employer-cost: Employer cost
Payroll
POST /v1/payroll/period: One pay period
Statutory pay
POST /v1/statutory/sick-pay: Statutory Sick PayPOST /v1/statutory/maternity-pay: Statutory Maternity PayPOST /v1/statutory/adoption-pay: Statutory Adoption PayPOST /v1/statutory/paternity-pay: Statutory Paternity PayPOST /v1/statutory/shared-parental-pay: Statutory Shared Parental PayPOST /v1/statutory/parental-bereavement-pay: Statutory Parental Bereavement PayPOST /v1/statutory/neonatal-care-pay: Statutory Neonatal Care Pay
Entitlements
POST /v1/redundancy-pay: Statutory redundancy payPOST /v1/notice-pay: Statutory noticePOST /v1/holiday-entitlement: Holiday entitlementPOST /v1/minimum-wage-check: Minimum wage check
Contractors
POST /v1/self-employed: Self-employed take-homePOST /v1/director-pay: Director salary and dividendsPOST /v1/umbrella-pay: Umbrella company payPOST /v1/ir35-compare: Inside against outside IR35
Reference data
GET /v1/tax-years: Tax years (no key)GET /v1/rates: Rates and thresholds (no key)GET /v1/tax-codes/{code}: Decode a tax code (no key)