Holiday Calendar

List public holidays for a supported country and year. Returns dates, names, holiday types and available regional details.

Pay by wallet (x402) holiday-calendar

Example

Example answer
{
  "year": 2026,
  "holidays": [
    {
      "date": "2026-01-01",
      "name": "New Year's Day",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Nyårsdagen"
    },
    {
      "date": "2026-01-06",
      "name": "Epiphany",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Trettondedag jul"
    },
    {
      "date": "2026-04-03",
      "name": "Good Friday",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Långfredagen"
    },
    {
      "date": "2026-04-05",
      "name": "Easter Sunday",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Påskdagen"
    },
    {
      "date": "2026-04-06",
      "name": "Easter Monday",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Annandag påsk"
    },
    {
      "date": "2026-05-01",
      "name": "International Workers' Day",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Första maj"
    },
    {
      "date": "2026-05-14",
      "name": "Ascension Day",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Kristi himmelsfärdsdag"
    },
    {
      "date": "2026-05-24",
      "name": "Pentecost",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Pingstdagen"
    },
    {
      "date": "2026-06-06",
      "name": "National Day of Sweden",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Sveriges nationaldag"
    },
    {
      "date": "2026-06-19",
      "name": "Midsummer Eve",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Midsommarafton"
    },
    {
      "date": "2026-06-20",
      "name": "Midsummer Day",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Midsommardagen"
    },
    {
      "date": "2026-10-31",
      "name": "All Saints' Day",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Alla helgons dag"
    },
    {
      "date": "2026-12-24",
      "name": "Christmas Eve",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Julafton"
    },
    {
      "date": "2026-12-25",
      "name": "Christmas Day",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Juldagen"
    },
    {
      "date": "2026-12-26",
      "name": "St. Stephen's Day",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Annandag jul"
    },
    {
      "date": "2026-12-31",
      "name": "New Year's Eve",
      "type": "Public",
      "fixed": false,
      "global": true,
      "counties": null,
      "local_name": "Nyårsafton"
    }
  ],
  "country_code": "SE",
  "total_holidays": 16
}

Inputs

FieldTypeRequiredWhat it is
yearintegerNoYear (default current year)
country_codestringYesISO 2-letter country code

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
yearintegerAlways (present in every successful answer)
holidaysarrayAlways (present in every successful answer)
country_codestringAlways (present in every successful answer)
total_holidaysintegerAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "holiday-calendar",
    "inputs": {
      "country_code": "SE",
      "year": 2025
    },
    "max_price_cents": 2
  }'

Limitations

  • Not all countries are covered

    Nager.Date covers 200+ countries but has notable gaps, including Thailand, India, Malaysia, Pakistan, the UAE, and Saudi Arabia (verified 2026-08-20). Uncovered countries return a structured "not covered" error. Machine-readable coverage list: https://date.nager.at/api/v3/AvailableCountries

  • Regional/local holidays may not be included

    Only national/federal holidays included — regional and local holidays may be missing