TL;DR
The UK Government publishes bank holiday dates as a simple JSON file. This official API returns all holidays broken down by region: England and Wales, Scotland, and Northern Ireland — each has different holidays (e.g., St Andrew's Day is unique to Scotland). Each entry includes the holiday title, date, notes, and whether it's a bank holiday. Data spans years into the future. No API key needed, no rate limits, just a static JSON endpoint.
Quick start: https://www.gov.uk/bank-holidays.json
No API key needed — just make a request!
How to Use This API
1. Get All Bank Holidays
https://www.gov.uk/bank-holidays.json
2. JavaScript — Check if Today is a Holiday
fetch('https://www.gov.uk/bank-holidays.json')
.then(r => r.json())
.then(data => {
const today = new Date().toISOString().split('T')[0];
const allEvents = [
...data['england-and-wales'].events,
...data.scotland.events,
...data['northern-ireland'].events
];
const isHoliday = allEvents.some(e => e.date === today);
console.log(isHoliday ? 'It\'s a bank holiday! 🎉' : 'Regular working day');
});
3. Python — Next 5 Bank Holidays
import requests
from datetime import date
data = requests.get('https://www.gov.uk/bank-holidays.json').json()
events = data['england-and-wales']['events']
today = date.today()
upcoming = [e for e in events
if e['date'] > today.isoformat()][:5]
for h in upcoming:
print(f"{h['date']}: {h['title']} — {h.get('notes', '')}")
View all holidays:
https://www.gov.uk/bank-holidays.json
Frequently Asked Questions
- Which regions are covered?
- Three divisions:
england-and-wales,scotland, andnorthern-ireland. Each has its own set of holidays reflecting local traditions. - How far in advance are dates published?
- The API usually lists bank holidays for the current year and several years ahead. The UK Government announces future dates years in advance.
- What data fields does each holiday include?
- Each event has:
title(holiday name),date(ISO 8601 format),notes(additional info like substituted dates), andbunting(boolean — suggests flying flags). - What are the regional differences?
- Scotland has unique holidays like St Andrew's Day (Nov 30) and the early August bank holiday. Northern Ireland has St Patrick's Day and the Battle of the Boyne. England and Wales share the same set.
- How often is the data updated?
- The JSON file is updated whenever new holiday dates are announced, typically annually. It's a static file so changes are infrequent.
- Can I use this commercially?
- Yes, this is UK Government open data under the Open Government Licence. Free for any use including commercial applications.
API Details
- API URL
https://www.gov.uk/bank-holidays.json- Documentation
- www.gov.uk
- Category
- Utility
- Authentication
- Not Required
- Geographic Coverage
- United Kingdom (UK) — England, Wales, Scotland, Northern Ireland
What You Can Build
- Business calendar that highlights UK bank holidays for scheduling
- E-commerce shipping calculator that accounts for non-working days
- Holiday countdown widget showing days until next bank holiday
- Multi-region calendar app comparing holiday differences across UK
- Staff rostering tool that avoids scheduling work on bank holidays