UK Bank Holidays API
Free official UK bank holidays API from GOV.UK with no key. Holidays for England, Wales, Scotland and Northern Ireland with dates and bunting flags. Tested.
Endpoint tested and returned HTTP 200 on 2026-08-19
What is the UK Bank Holidays API?
The GOV.UK bank holidays API is a free, key-free official endpoint listing bank holidays for England and Wales, Scotland and Northern Ireland separately, with dates, titles and notes.
This is the authoritative source for UK bank holidays, published by the Government Digital Service as a single JSON file. It is about as simple as an API gets — one URL, no parameters, no key.
The important detail is that the UK has three different bank holiday calendars, and the response reflects that: England and Wales, Scotland, and Northern Ireland each get their own division with different dates. Treating the UK as one calendar will produce wrong answers for Scottish and Northern Irish users.
Quick facts
- Base URL
https://www.gov.uk- Authentication
- No API key required.
- Rate limit
- No published limit — it is a static JSON file served from GOV.UK's CDN.
- Pricing
- Free under the Open Government Licence.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the UK Bank Holidays API
Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.
1. Fetch all UK bank holidays
GET https://www.gov.uk/bank-holidays.json
curl 'https://www.gov.uk/bank-holidays.json'const res = await fetch("https://www.gov.uk/bank-holidays.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://www.gov.uk/bank-holidays.json", timeout=20)
res.raise_for_status()
print(res.json()){
"england-and-wales": {
"division": "england-and-wales",
"events": [
{
"title": "New Year’s Day",
"date": "2019-01-01",
"notes": "",
"bunting": true
},
{
"title": "Good Friday",
"date": "2019-04-19",
"notes": "",
"bunting": false
},
{
"title": "Easter Monday",
"date": "2019-04-22",
"notes": "",
"bunting": true
},
{
"title": "Early May bank holiday",
"date": "2019-05-06",
"notes": "",
"bunting": true
},
{
"title": "Spring bank holiday",
"date": "2019-05-27",
"notes": "",
"bunting": true
},
{
"title": "Summer bank holiday",
"date": "2019-08-26",
"notes": "",
"bunting": true
},
{
"title": "Christmas Day",
"date": "2019-12-25",
"notes": "",
"bunting": true
},
{
"title": "Boxing Day",
"date": "2019-12-26",
"notes": "",
"bunting": true
},
{
"title": "New Year’s Day",
"date": "2020-01-01",
"notes": "",
"bunting": true
},
{
"title": "Good Friday",
"date": "2020-04-10",
"notes": "",
"bunting": false
},
{
"title": "Easter Monday",
"date": "2020-04-13",
"notes": "",
"bunting": false
},
{
"title": "Early May bank holiday (VE day)",
"date": "2020-05-08",
"notes": "",Response fields
england-and-walesobject- Division containing the England and Wales calendar.
scotlandobject- Scottish calendar — dates differ, including 2 January and St Andrew's Day.
northern-irelandobject- Northern Ireland calendar, including St Patrick's Day and the Twelfth.
<division>.events[].titlestring- Holiday name.
<division>.events[].datestring- Date as YYYY-MM-DD.
<division>.events[].notesstring- Notes such as 'Substitute day' when a holiday is moved.
<division>.events[].buntingboolean- Whether the holiday traditionally involves bunting — a charmingly British field.
What you can build with the UK Bank Holidays API
- Calculate working days for SLA and delivery estimates
- Build a UK business-day calculator that respects regional differences
- Show office closure dates for UK-wide teams
- Schedule payroll and billing around bank holidays
Common errors and how to fix them
Wrong dates for Scottish users
The UK has three separate bank holiday calendars.
Fix: Read the correct division — scotland and northern-ireland differ meaningfully from england-and-wales.
Limited future coverage
GOV.UK publishes only a few years ahead.
Fix: Do not assume dates exist for years far in the future; check before relying on them.
UK Bank Holidays API — frequently asked questions
Is there an official UK bank holidays API?
Yes, GOV.UK publishes one at /bank-holidays.json, free with no API key, under the Open Government Licence.
Why are there three different calendars?
England and Wales, Scotland, and Northern Ireland have different bank holidays. Scotland has 2 January and St Andrew's Day; Northern Ireland has St Patrick's Day and the Twelfth. Always use the right division.
What is the bunting field?
A genuinely present boolean indicating whether the holiday traditionally involves bunting. It is charming, and safe to ignore.
How far into the future does it go?
Usually a couple of years. Bank holidays are confirmed by government in advance but not indefinitely, so check the data rather than extrapolating.
Tools that pair with this API
Age Calculator
Find your exact age in years, months and days from your date of birth, plus totals in weeks, days and hours and a countdown to your next birthday.
Timestamp Converter
Convert timestamps to human-readable dates and dates back to timestamps. Auto-detects seconds vs milliseconds, shows local, UTC and ISO 8601 formats.
UK Bank Holidays is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.