Date.nager.at Holidays

Date · No API Key Required · 100+ Countries

TL;DR

What it does: Returns every public holiday for any country and year. Includes bank holidays and school holidays too. Covers 100+ countries.

Quick start: curl "https://date.nager.at/api/v3/PublicHolidays/2026/US"

No API key needed - just pick a country and year

Overview

Nager.Date is a free public holidays API that returns structured holiday data for 100+ countries. Each holiday includes the date, local name, English name, country code, whether it's observed globally or regionally, and what type of holiday it is (Public, Bank, School). You don't need an API key or authentication - just construct a URL with the country and year.

Live Example

Here's the exact URL to call and the real response you'll get:

The URL to call (US holidays in 2026):

https://date.nager.at/api/v3/PublicHolidays/2026/US
Try This URL Now →

The actual response you get:

[
  {
    "date": "2026-01-01",
    "localName": "New Year's Day",
    "name": "New Year's Day",
    "countryCode": "US",
    "fixed": false,
    "global": true,
    "counties": null,
    "launchYear": null,
    "types": ["Public", "Bank"]
  },
  {
    "date": "2026-01-19",
    "localName": "Martin Luther King, Jr. Day",
    "name": "Martin Luther King, Jr. Day",
    "countryCode": "US",
    "fixed": false,
    "global": true,
    "counties": null,
    "launchYear": null,
    "types": ["Public"]
  }
]

What does this data mean?

Two US holidays shown: New Year's Day (observed nationwide) and Martin Luther King Jr. Day (third Monday of January).

date
The exact date of the holiday in ISO 8601 format (YYYY-MM-DD)
localName
The holiday name in the local language / regional naming convention
name
The English-language name for the holiday
countryCode
ISO 3166-1 alpha-2 country code (e.g. US, GB, JP, DE)
global
True if observed across the entire country, false if limited to specific regions
counties
If not global, lists which counties/states observe this holiday
types
Categories: "Public" (government holiday), "Bank" (banks closed), "School" (schools closed)

How to use this API

JavaScript Example

const year = 2026;
const country = "US";

fetch(`https://date.nager.at/api/v3/PublicHolidays/${year}/${country}`)
  .then(res => res.json())
  .then(holidays => {
    holidays.forEach(h => {
      console.log(`${h.date}: ${h.localName}`);
    });
  });

Python Example

import requests

year = 2026
country = "US"
url = f"https://date.nager.at/api/v3/PublicHolidays/{year}/{country}"

response = requests.get(url)
holidays = response.json()

for h in holidays:
    print(f"{h['date']}: {h['localName']}")

cURL Example

# All US holidays in 2026
curl "https://date.nager.at/api/v3/PublicHolidays/2026/US"

# Is today a holiday in Germany?
curl -i "https://date.nager.at/api/v3/IsTodayPublicHoliday/DE"

# List all supported countries
curl "https://date.nager.at/api/v3/AvailableCountries"

Frequently Asked Questions

How do I find the country code?
Use ISO 3166-1 alpha-2 codes: US, GB, JP, BR, DE, FR, AU, etc. Call /api/v3/AvailableCountries to see every supported country.
Can I get future years?
Yes. Just change the year in the URL. /PublicHolidays/2027/US returns 2027 holidays.
Is there a rate limit?
No documented rate limit. The API is free for personal and commercial use.
Can I check if today is a holiday?
Yes. Use /api/v3/IsTodayPublicHoliday/US which returns 200 if today is a holiday or 204 if not.
Are regional holidays included?
Yes. The counties field lists which regions observe the holiday. Some holidays only apply to specific states or provinces.

API Details

Base URL
https://date.nager.at/api/v3
Documentation
https://date.nager.at/
Category
Date
Authentication
None required - completely free
Coverage
100+ countries worldwide
Rate Limit
No documented rate limit
CORS
Yes