# GOV.UK API: List bank holidays

> Lists GOV.UK bank holidays for a UK region and year, including substitute days and notes, plus the next upcoming holiday. Years GOV.UK does not publish return an empty list and the published years.

Unofficial. Not affiliated with or endorsed by GOV.UK.

- Page: https://fous.com/methods/gov.uk/list-bank-holidays
- Method: `gov.uk/list_bank_holidays`, version 1
- Website: gov.uk
- Returns: holidays for the year, substitute days, notes, next upcoming bank holiday
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `year` | integer | no | `2027` | Calendar year, for example 2027. Defaults to the current year (Europe/London). |
| `region` | string | no | `"scotland"` | UK region, for example scotland. Defaults to england_and_wales. One of "england_and_wales", "scotland", "northern_ireland". Default "england_and_wales". |

## Output

From a run on Oct 23, 2026, shortened. Its input:

```json
{
  "year": 2027,
  "region": "scotland"
}
```

Its output:

```json
{
  "link": "https://www.gov.uk/bank-holidays#scotland",
  "note": null,
  "year": 2027,
  "region": "scotland",
  "holidays": [
    {
      "date": "2027-01-01",
      "link": "https://www.gov.uk/bank-holidays#scotland",
      "note": null,
      "day_of_week": "Friday",
      "holiday_name": "New Year’s Day",
      "substitute_day": "no"
    },
    {
      "date": "2027-01-04",
      "link": "https://www.gov.uk/bank-holidays#scotland",
      "note": "Substitute day",
      "day_of_week": "Monday",
      "holiday_name": "2nd January",
      "substitute_day": "yes"
    },
    {
      "date": "2027-03-26",
      "link": "https://www.gov.uk/bank-holidays#scotland",
      "note": null,
      "day_of_week": "Friday",
      "holiday_name": "Good Friday",
      "substitute_day": "no"
    }
  ],
  "next_upcoming_bank_holiday": {
    "date": "2026-11-30",
    "link": "https://www.gov.uk/bank-holidays#scotland",
    "note": null,
    "day_of_week": "Monday",
    "holiday_name": "St Andrew’s Day",
    "substitute_day": "no"
  }
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"gov.uk/list_bank_holidays","input":{"year":2027,"region":"scotland"}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- What are the bank holidays in Scotland in 2027?
- List England and Wales bank holidays for 2025, including any substitute days.
- When is the next bank holiday in Northern Ireland?
- Which days are public holidays in the UK for 2026 for England and Wales, and are any substituted?
- Show me the Scotland bank holiday dates for 2028 on gov.uk with any notes.

## Input schema

```json
{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 1,
      "description": "Calendar year, for example 2027. Defaults to the current year (Europe/London)."
    },
    "region": {
      "enum": [
        "england_and_wales",
        "scotland",
        "northern_ireland"
      ],
      "type": "string",
      "default": "england_and_wales",
      "description": "UK region, for example scotland. Defaults to england_and_wales."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "region",
    "year",
    "holidays",
    "next_upcoming_bank_holiday",
    "note",
    "link"
  ],
  "properties": {
    "link": {
      "type": "string",
      "description": "GOV.UK bank holiday page for the selected region."
    },
    "note": {
      "type": [
        "string",
        "null"
      ],
      "description": "Available published years when the requested year is unavailable."
    },
    "year": {
      "type": "integer",
      "description": "Year requested."
    },
    "region": {
      "type": "string",
      "description": "Region requested."
    },
    "holidays": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "date",
          "day_of_week",
          "holiday_name",
          "substitute_day",
          "note",
          "link"
        ],
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "Holiday date."
          },
          "link": {
            "type": "string",
            "description": "GOV.UK page for this holiday's region."
          },
          "note": {
            "type": [
              "string",
              "null"
            ],
            "description": "Any note shown by GOV.UK, or null."
          },
          "day_of_week": {
            "type": "string",
            "description": "Day of the week."
          },
          "holiday_name": {
            "type": "string",
            "description": "Name of the bank holiday."
          },
          "substitute_day": {
            "enum": [
              "yes",
              "no"
            ],
            "type": "string",
            "description": "Whether this is a substitute day."
          }
        }
      },
      "description": "Bank holidays for the year in date order."
    },
    "next_upcoming_bank_holiday": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "date",
            "day_of_week",
            "holiday_name",
            "substitute_day",
            "note",
            "link"
          ],
          "properties": {
            "date": {
              "type": "string",
              "format": "date"
            },
            "link": {
              "type": "string"
            },
            "note": {
              "type": [
                "string",
                "null"
              ]
            },
            "day_of_week": {
              "type": "string"
            },
            "holiday_name": {
              "type": "string"
            },
            "substitute_day": {
              "enum": [
                "yes",
                "no"
              ],
              "type": "string"
            }
          }
        },
        {
          "type": "null"
        }
      ],
      "description": "Next bank holiday on or after today, regardless of the selected year, if published."
    }
  }
}
```

## See more

- [GOV.UK API: Check a name against the UK Sanctions List](https://fous.com/methods/gov.uk/check-sanctions.md): Checks a name against the current UK Sanctions List and returns possible matches in the site's best-match order, with designation details. Results may include entries that only mention the name in their reasons, so check each entry before identifying anyone.
- [GOV.UK API: Get travel advice](https://fous.com/methods/gov.uk/get-travel-advice.md): Returns current UK government (FCDO) travel warnings, entry requirements for British passport holders, safety, health and emergency information for a country. Summaries are shortened; follow the link for full details.
- [Nager.Date API: List public holidays](https://fous.com/methods/date.nager.at/list-public-holidays.md): Lists a country's public holidays for a year from Nager.Date, with local names, regional coverage and holiday types.
- [legislation.gov.uk API: Search UK legislation](https://fous.com/methods/legislation.gov.uk/search-legislation.md): Search UK legislation by topic or title, with optional type and year filters. Closest title matches appear first; broader text matches fill remaining places.
- [Time and Date API: Count business days](https://fous.com/methods/timeanddate.com/count-business-days.md): Counts weekdays between two dates, excluding nationwide public holidays or, optionally, public holidays in a state or province, from Time and Date's published holiday calendar.
- [PGA Tour API: Get schedule](https://fous.com/methods/pgatour.com/get-schedule.md): Returns the PGA Tour season schedule for a year, with dates, venue, purse, status, winners and defending champions.
- [Ballotpedia API: List ballot measures](https://fous.com/methods/ballotpedia.org/list-ballot-measures.md): Lists statewide ballot measures in a US state and year, in Ballotpedia order, with election dates, topics, measure types, yes/no vote meanings and results. Years without statewide measures return an empty list.
- [Nager.Date API: Check public holiday](https://fous.com/methods/date.nager.at/check-public-holiday.md): Checks whether a date is a public holiday or weekend in a country. By default only nationwide holidays count; give a region to include holidays observed there.
- [All GOV.UK methods](https://fous.com/methods/gov.uk.md)
