> Tax years with the Check Take Home Pay API, GET /v1/tax-years: every field, an example request in cURL, Node.js and Python, and the response.

Web version: https://checktakehomepay.co.uk/docs/api/tax-years · Last updated: 2026-10-09

# Tax years

`GET /v1/tax-years` No key

The tax years supported, with the HMRC test data each one passes. No key needed.

## Request

No parameters.

## Example

cURL

```
curl https://api.checktakehomepay.co.uk/v1/tax-years
```

Node.js

```
const response = await fetch('https://api.checktakehomepay.co.uk/v1/tax-years');
const result = await response.json();
```

Python

```
import requests

response = requests.get("https://api.checktakehomepay.co.uk/v1/tax-years")
result = response.json()
```

## Response

200, with the result and what produced it: `tax_year`, `engine`, `hmrc_test_data`, `assumptions` and `sources`. This is the example's real response. Every field's type is in the [OpenAPI document](https://api.checktakehomepay.co.uk/openapi.json).

200 OK

```
{
  "tax_year": "2026-27",
  "engine": "2026-27.1",
  "hmrc_test_data": "rest of UK and Welsh tax v1.0, Scottish tax v1.1, NI v1.0, directors NI v1.0, student loans v1.0",
  "tax_years": [
    {
      "id": "2026-27",
      "latest": true,
      "tax_year": "2026-27",
      "engine": "2026-27.1",
      "hmrc_test_data": "rest of UK and Welsh tax v1.0, Scottish tax v1.1, NI v1.0, directors NI v1.0, student loans v1.0"
    }
  ],
  "assumptions": [
    "A tax year runs from 6 April to 5 April."
  ],
  "sources": [
    "https://www.gov.uk/government/publications/software-developers-payroll-test-data-2026-to-2027"
  ]
}
```

## Errors

-   400 `INVALID_INPUT`: the message names each field that is wrong.

Every code, and how to handle them: [Errors](https://checktakehomepay.co.uk/docs/errors).
