Overview

Nager.Date offers a specialized API for programmatically accessing public holiday information across numerous countries and years. This service is designed to simplify the integration of holiday-aware logic into various software applications, such as HR systems, scheduling platforms, e-commerce sites, and financial applications. Developers can query the API to obtain lists of public holidays, including fixed-date holidays, movable holidays like Easter-dependent dates, and regional observances where available. The API provides holiday names and specific dates, allowing applications to accurately account for non-working days or special events.

The primary use case for Nager.Date involves scenarios where an application needs to determine if a specific date is a public holiday in a given country, or to display upcoming holidays to users. For instance, an e-commerce platform might adjust shipping estimates based on public holidays, or a project management tool could exclude holidays from project timelines. The API supports a wide range of countries, making it suitable for global applications that need to localize their calendar-based features. Its straightforward RESTful interface and comprehensive Swagger UI documentation facilitate rapid development and integration.

Nager.Date is particularly well-suited for developers who require a dependable source of public holiday data without the overhead of maintaining complex holiday calculation logic internally. The API handles the nuances of varying holiday rules, including changes in holiday definitions year-over-year or country-specific observances. It supports common holiday types, including those derived from religious calendars, national commemorations, and seasonal events. This focus on accurate and up-to-date data helps applications remain compliant with local regulations and provides a better user experience by reflecting relevant non-working days.

The service offers a free tier for low-volume usage, enabling developers to test and integrate the API into their projects without initial cost. For applications with higher request volumes, paid plans provide increased capacity and support. The availability of a dedicated .NET client library also streamlines integration for C# developers, offering a more idiomatic way to interact with the API compared to raw HTTP requests. This combination of global coverage, ease of use, and developer-friendly features positions Nager.Date as a practical solution for managing public holiday data within software.

Key features

  • Global public holiday data: Provides holiday information for a large number of countries, supporting international applications.
  • Query by country and year: Allows developers to retrieve specific holiday lists by specifying a country code and a calendar year.
  • Holiday details: Returns information such as holiday name, date, and type (e.g., public holiday, observance).
  • RESTful API: Utilizes standard HTTP methods and JSON responses for easy integration with various programming languages and platforms.
  • Swagger UI documentation: Offers interactive API documentation for exploring available endpoints, parameters, and response structures.
  • .NET client library: Provides a dedicated C# client for simplified integration into .NET applications.
  • Free tier available: A free usage tier allows for up to 500 requests per day, suitable for development and low-volume applications.
  • Year-specific holiday data: Accounts for variations in public holidays that may occur from year to year in different regions.

Pricing

Nager.Date offers a free tier for limited use and several paid plans for higher request volumes. As of May 2026, the pricing structure is as follows:

Plan Requests per Day Price per Month Features
Free 500 €0 Basic access to public holiday data.
Small 10,000 €15 Increased request limit, suitable for small to medium applications.
Medium 50,000 €45 Higher request limit for growing applications.
Large 250,000 €75 Extensive request capacity for large-scale enterprise use.

For the most current pricing details and enterprise-level options, refer to the official Nager.Date homepage.

Common integrations

  • Scheduling and calendar applications: Integrate holiday data to exclude non-working days from schedules or display relevant holidays to users.
  • HR and payroll systems: Automate leave management and payroll calculations by accounting for public holidays.
  • E-commerce platforms: Adjust shipping and delivery estimates based on public holidays in different regions.
  • Project management tools: Factor in public holidays to create more accurate project timelines and deadlines.
  • Financial services applications: Ensure compliance with market closing days or transaction processing schedules affected by holidays.
  • IoT devices and smart home systems: Trigger holiday-specific routines or notifications based on local public holidays.

Alternatives

Getting started

To begin using Nager.Date, you typically make an HTTP GET request to retrieve public holidays for a specific country and year. If you are a C# developer, you can use the provided .NET client library for a more streamlined experience. Below is an example of how to fetch public holidays for Germany (DE) in the year 2026 using the .NET client:


using Nager.Date;
using Nager.Date.Model;
using System;
using System.Collections.Generic;
using System.Linq;

public class HolidaySearch
{
    public static void Main(string[] args)
    {
        // Define the country and year for the holiday search
        CountryCode country = CountryCode.DE; // Germany
        int year = 2026;

        Console.WriteLine($"Fetching public holidays for {country} in {year}...");

        // Use the DateSystem to get public holidays
        // The DateSystem class provides static methods to retrieve holiday information.
        // It encapsulates the logic for querying the Nager.Date API or its internal data.
        IEnumerable<PublicHoliday> publicHolidays = DateSystem.GetPublicHolidays(year, country);

        if (publicHolidays != null && publicHolidays.Any())
        {
            Console.WriteLine($"Found {publicHolidays.Count()} public holidays:");
            foreach (var holiday in publicHolidays)
            {
                // Output details for each holiday
                Console.WriteLine($"Date: {holiday.Date:yyyy-MM-dd}, Name: {holiday.LocalName} ({holiday.EnglishName}), Type: {holiday.Type}");
            }
        }
        else
        {
            Console.WriteLine($"No public holidays found for {country} in {year} or an error occurred.");
        }

        Console.WriteLine("\n--- Example using specific date check ---");
        DateTime specificDate = new DateTime(2026, 12, 25); // Christmas Day 2026
        bool isPublicHoliday = DateSystem.IsPublicHoliday(specificDate, country);
        Console.WriteLine($"Is {specificDate:yyyy-MM-dd} a public holiday in {country}? {isPublicHoliday}");

        specificDate = new DateTime(2026, 1, 15); // A regular day in January
        isPublicHoliday = DateSystem.IsPublicHoliday(specificDate, country);
        Console.WriteLine($"Is {specificDate:yyyy-MM-dd} a public holiday in {country}? {isPublicHoliday}");
    }
}

This C# code snippet demonstrates how to instantiate the DateSystem and use its GetPublicHolidays method to retrieve a collection of PublicHoliday objects. Each PublicHoliday object contains properties like Date, LocalName, EnglishName, and Type, providing comprehensive details about each holiday. The example further illustrates how to check if a specific date is a public holiday using the IsPublicHoliday method. This direct API interaction simplifies integrating holiday awareness into applications, reducing the need for manual data management or complex date calculations.