Nager.Date API: List public holidays
Lists a country's public holidays for a year from Nager.Date, with local names, regional coverage and holiday types.
Unofficial. Not affiliated with or endorsed by Nager.Date.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Year optional
year Calendar year, for example 2026. Defaults to the current year.
Not set
Whole number from 1 to 9999.
- Country, required
country Country name or two-letter country code, for example Germany or DE.
US
Input as JSON
{ "country": "US"}Output
{ "year": 2026, "holidays": [ { "date": "2026-01-01", "type": "Public, Bank", "regions": [], "weekday": "Thursday", "page_url": "https://date.nager.at/PublicHoliday/Country/US/2026" , "local_name": "New Year's Day", "nationwide": "yes", "english_name": "New Year's Day", "region_codes": [] }, { "date": "2026-01-19", "type": "Public, Bank", "regions": [], "weekday": "Monday", "page_url": "https://date.nager.at/PublicHoliday/Country/US/2026" , "local_name": "Martin Luther King, Jr. Day", "nationwide": "yes", "english_name": "Martin Luther King, Jr. Day", "region_codes": [] }, { "date": "2026-02-12", "type": "Observance", "regions": [ "California", "Connecticut", "Illinois" ], "weekday": "Thursday", "page_url": "https://date.nager.at/PublicHoliday/Country/US/2026" , "local_name": "Lincoln's Birthday", "nationwide": "no", "english_name": "Lincoln's Birthday", "region_codes": [ "US-CA", "US-CT", "US-IL" ] } ], "country_name": "United States"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"date.nager.at/list_public_holidays","input":{"country":"US"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "date.nager.at/list_public_holidays" , "input": { "country": "US" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "date.nager.at/list_public_holidays" , "input": { "country": "US" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run date.nager.at/list_public_holidays# with {"country":"US"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "country" ], "properties": { "year": { "type": "integer", "maximum": 9999, "minimum": 1, "description": "Calendar year, for example 2026. Defaults to the current year." }, "country": { "type": "string", "description": "Country name or two-letter country code, for example Germany or DE." } }}Output schema
{ "type": "object", "required": [ "country_name", "year", "holidays" ], "properties": { "year": { "type": "integer", "description": "Calendar year returned." }, "holidays": { "type": "array", "items": { "type": "object", "required": [ "date", "weekday", "english_name", "local_name", "nationwide", "regions", "type", "page_url", "region_codes" ], "properties": { "date": { "type": "string", "format": "date", "description": "Holiday date." }, "type": { "type": "string", "description": "Holiday classifications, including all applicable types." }, "regions": { "type": "array", "items": { "type": "string" }, "description": "Region names where a regional holiday applies." }, "weekday": { "type": "string", "description": "Day of the week." }, "page_url": { "type": "string", "description": "Country holiday calendar page for this year." }, "local_name": { "type": "string", "description": "Local holiday name." }, "nationwide": { "enum": [ "yes", "no" ], "type": "string", "description": "Whether the holiday applies throughout the country." }, "english_name": { "type": "string", "description": "English holiday name." }, "region_codes": { "type": "array", "items": { "type": "string" }, "description": "ISO region codes where this regional holiday applies." } } }, "description": "Holidays in date order. Nationwide holidays have no specific regions." }, "country_name": { "type": "string", "description": "Name of the country." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
date.nager.at/list_public_holidays- Returns
- date, weekday, English and local names, regions, type, nationwide flag
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method date.nager.at/list_public_holidays with the inputs above.
Ask your agent
- What public holidays fall in Germany in 2026, and which ones apply only to certain states?
- I need a list of Japan's national holidays for 2025 with their local names in Japanese.
- Which days are bank holidays in the UK this year, and are any of them regional rather than nationwide?
- Show me the public holidays for DE in 2027 including the weekday for each date.
- Can you give me the French public holidays for 2024 along with their holiday types?
See more
All Nager.Date methodsChecks 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.
date.nager.at/check_public_holidayLooks up a country on Nager.Date by name or two-letter code and returns its common and official names, code, region and land-border neighbours.
date.nager.at/get_country_infoLists 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.
gov.uk/list_bank_holidaysCounts 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.
timeanddate.com/count_business_daysGets a Formula 1 season calendar with venues, sprint weekends, status, and session start times in circuit local time or a chosen city or IANA time zone.
formula1.com/get_race_calendarLists 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.
ballotpedia.org/list_ballot_measuresLists Nasdaq dividend calendar entries going ex-dividend on a day (US Eastern), sorted by company name. Includes ETFs and other listed securities shown by Nasdaq; dividend yield is not shown by this calendar and is null.
nasdaq.com/get_dividend_calendarReturns Wikipedia's On this day events, births, deaths and holidays for a month and day, in a chosen Wikipedia language; events, births and deaths come newest year first.
wikipedia.org/get_on_this_day