UK Bank Holidays

Utility API · Works in UK · Government data · No API key

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, and northern-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), and bunting (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