Bank holidays
What this does
Two related endpoints help you plan around UK public holidays.
GET /v1/uk/bank-holidayslists every bank holiday in a given year for England and Wales, Scotland, or Northern Ireland.GET /v1/uk/bank-holidayanswers a yes/no question: is this specific date a bank holiday?
No more guessing whether the office is closed or whether Easter Monday applies in Scotland.
Who it is for
- HR and payroll teams building holiday calendars
- Delivery cut-off calculators (“next working day”)
- Booking systems blocking unavailable dates
- Spreadsheets flagging red-letter days
List holidays for a year
GET /v1/uk/bank-holidays
Try it
https://fetch.li/v1/uk/bank-holidays?year=2026&division=england-and-wales
HTTP example
GET /v1/uk/bank-holidays?year=2026&division=england-and-wales HTTP/1.1
Host: fetch.li
Accept: application/json
curl
curl -sS "https://fetch.li/v1/uk/bank-holidays?year=2026&division=england-and-wales"
JavaScript fetch
const params = new URLSearchParams({
year: "2026",
division: "england-and-wales",
});
const response = await fetch(
`https://fetch.li/v1/uk/bank-holidays?${params}`
);
const data = await response.json();
console.log(data.holidays);
Python requests
import requests
response = requests.get(
"https://fetch.li/v1/uk/bank-holidays",
params={"year": 2026, "division": "england-and-wales"},
)
response.raise_for_status()
print(response.json()["holidays"])
Example JSON response
{
"year": 2026,
"division": "england-and-wales",
"holidays": [
{
"date": "2026-01-01",
"title": "New Year's Day",
"notes": null
},
{
"date": "2026-04-03",
"title": "Good Friday",
"notes": null
},
{
"date": "2026-04-06",
"title": "Easter Monday",
"notes": null
},
{
"date": "2026-05-04",
"title": "Early May bank holiday",
"notes": null
},
{
"date": "2026-05-25",
"title": "Spring bank holiday",
"notes": null
},
{
"date": "2026-08-31",
"title": "Summer bank holiday",
"notes": null
},
{
"date": "2026-12-25",
"title": "Christmas Day",
"notes": null
},
{
"date": "2026-12-28",
"title": "Boxing Day",
"notes": "Substitute day"
}
]
}
Parameters (bank-holidays)
| Parameter | Required | Type | Description |
|---|---|---|---|
year |
Yes | integer | Four-digit year (e.g. 2026) |
division |
No | string | england-and-wales (default), scotland, or northern-ireland |
Check a single date
GET /v1/uk/bank-holiday
Try it
https://fetch.li/v1/uk/bank-holiday?date=2026-12-25&division=england-and-wales
HTTP example
GET /v1/uk/bank-holiday?date=2026-12-25&division=england-and-wales HTTP/1.1
Host: fetch.li
Accept: application/json
curl
curl -sS "https://fetch.li/v1/uk/bank-holiday?date=2026-12-25&division=england-and-wales"
JavaScript fetch
const response = await fetch(
"https://fetch.li/v1/uk/bank-holiday?date=2026-12-25&division=england-and-wales"
);
const data = await response.json();
console.log(data.is_bank_holiday, data.title);
Python requests
import requests
response = requests.get(
"https://fetch.li/v1/uk/bank-holiday",
params={"date": "2026-12-25", "division": "england-and-wales"},
)
response.raise_for_status()
print(response.json())
Example JSON response
{
"date": "2026-12-25",
"division": "england-and-wales",
"is_bank_holiday": true,
"title": "Christmas Day",
"weekday": "Friday"
}
When the date is not a holiday:
{
"date": "2026-08-25",
"division": "england-and-wales",
"is_bank_holiday": false,
"title": null,
"weekday": "Tuesday"
}
Parameters (bank-holiday)
| Parameter | Required | Type | Description |
|---|---|---|---|
date |
Yes | string | ISO date YYYY-MM-DD |
division |
No | string | england-and-wales (default), scotland, or northern-ireland |
Errors that can happen
| HTTP | error.code |
When |
|---|---|---|
| 400 | invalid_body |
Missing year or date, invalid format, or unknown division |
| 404 | not_found |
Year outside supported range |
| 429 | rate_limited |
Demo limit exceeded |
| 500 | internal |
Unexpected server error |
Demo
GET endpoints work without an API key on the public demo tier (60 calls per hour per IP). POST /v1/vibe/classify needs a key.