Holiday Calendar
List public holidays for a supported country and year. Returns dates, names, holiday types and available regional details.
holiday-calendar Example
{
"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
| Field | Type | Required | What it is |
|---|---|---|---|
year | integer | No | Year (default current year) |
country_code | string | Yes | ISO 2-letter country code |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
year | integer | Always (present in every successful answer) |
holidays | array | Always (present in every successful answer) |
country_code | string | Always (present in every successful answer) |
total_holidays | integer | Always (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
}' {
"tool": "strale_execute",
"arguments": {
"slug": "holiday-calendar",
"inputs": {
"country_code": "SE",
"year": 2025
},
"max_price_cents": 2
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "holiday-calendar",
inputs: {
"country_code": "SE",
"year": 2025
},
max_price_cents: 2,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="holiday-calendar",
inputs={
"country_code": "SE",
"year": 2025,
},
max_price_cents=2,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i 'https://api.strale.io/x402/v2/holiday-calendar?country_code=SE&year=2025' 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
Related tools
- Address Geocoding €0.02
- Barcode Lookup €0.05
- Container Tracking €0.05
- Country Lookup €0.02
- Country Tax Rates €0.02
- Country Trade Data €0.20