Worldwide holiday calendars for developers

Public Holidays API

The Public Holidays API gives you accurate, structured public-holiday data for over 100 countries through a handful of dead-simple GET endpoints. Pull every public holiday for a country and year, filter holidays to an arbitrary date range, fetch the upcoming holidays in the next 365 days, or ask a single yes/no question: is this date a public holiday here?

Every response is plain, predictable JSON with the holiday's local name, English name, country, applicable subdivisions, and type flags (Public, Bank, Optional, and more). Built for scheduling, payroll, booking windows, and 'next business day' logic, it is served from the edge and cached for fast, reliable responses.

Free tier · no credit card · billed on RapidAPI

100+
Countries
<80ms
Response Time
99.9%
Uptime SLA

Key features

  • Public holidays for any country and calendar year
  • Date-range filtering across up to 5 years
  • Upcoming holidays for the next 365 days
  • Single-date "is it a holiday?" checks
  • List of all supported countries
  • Local name, English name, and holiday type flags
  • Nationwide vs. regional (subdivision) awareness via global and counties fields
  • Strict input validation with clean 400 errors

Perfect for

  • Scheduling and SLA calculations
  • Payroll and HR systems
  • "Next business day" logic
  • Booking and delivery windows
  • Travel planning applications
  • Reminder and notification features
  • Calendar and event apps
  • Regional observance handling
Documentation

Public Holidays API Documentation

Everything you need to integrate — base URL, auth, and copy-paste examples.

The Public Holidays API delivers worldwide public-holiday data for 100+ countries as clean JSON from the edge. Look up all holidays for a country/year, filter by a date range, fetch the next upcoming holidays, check whether a specific date is a public holiday, and list every supported country. Backed by the open Nager.Date dataset and cached at the edge.

Base URL

https://edge-apis.e9736.workers.dev

Authentication

Authenticate by passing your API key as a query parameter. When calling through RapidAPI, send your key via the X-RapidAPI-Key header instead.

headers
GET /holidays/v1/public?country=US&year=2026&apikey=YOUR_API_KEY

Request & response

Request
http
GET /holidays/v1/is-holiday?country=US&date=2026-07-03&apikey=YOUR_API_KEY HTTP/1.1
Response
json
{
"country": "US",
"date": "2026-07-03",
"is_holiday": true,
"holiday": {
  "date": "2026-07-03",
  "localName": "Independence Day",
  "name": "Independence Day",
  "countryCode": "US",
  "fixed": false,
  "global": true,
  "counties": null,
  "launchYear": null,
  "types": ["Public"]
}
}

Code examples

cURL
curl --request GET \
  --url 'https://edge-apis.e9736.workers.dev/holidays/v1/public?country=US&year=2026&apikey=YOUR_API_KEY'

Available Endpoints

GET /holidays/v1/public

All public holidays for a country in a given calendar year (2000-2100). Supports an optional limit (1-1000, default 50).

/holidays/v1/public?country=US&year=2026&apikey=YOUR_API_KEY

GET /holidays/v1/range

Public holidays within an inclusive date range (from <= date <= to), sorted ascending. The range may span at most 5 years.

/holidays/v1/range?country=US&from=2026-06-01&to=2026-12-31&apikey=YOUR_API_KEY

GET /holidays/v1/next

Upcoming public holidays for a country within the next 365 days.

/holidays/v1/next?country=US&apikey=YOUR_API_KEY

GET /holidays/v1/is-holiday

Check whether a specific date is a public holiday. Returns the matching holiday record or null.

/holidays/v1/is-holiday?country=US&date=2026-07-03&apikey=YOUR_API_KEY

GET /holidays/v1/countries

List all countries supported by the holiday dataset.

/holidays/v1/countries?apikey=YOUR_API_KEY

Request Parameters

Required Parameters

  • country - ISO-3166 alpha-2 country code, case-insensitive (e.g. US, GB, DE). Required for public, range, next, and is-holiday.
  • year - Calendar year between 2000 and 2100. Required for the public endpoint.
  • from - Inclusive start date (YYYY-MM-DD). Required for the range endpoint.
  • to - Inclusive end date (YYYY-MM-DD), on or after 'from'. Required for the range endpoint.
  • date - Date to check (YYYY-MM-DD, year within 2000-2100). Required for the is-holiday endpoint.
  • apikey - Your API key, passed as a query parameter (or use the X-RapidAPI-Key header via RapidAPI).

Optional Parameters

  • limit - Maximum number of items to return (1-1000, default 50). Supported on public, range, next, and countries.
Pricing

Public Holidays API Pricing

Choose the right plan for your holiday data needs with flexible pricing options and no hidden fees

No credit card to start · cancel anytime

Basic

Free
1,000 Requests / Month
  • All holiday endpoints
  • 100+ countries
  • 5 req/s rate limit
Get Started Free
Most popular

Pro

$7.99/month
100,000 Requests / Month
  • All holiday endpoints
  • 25 req/s rate limit
  • $0.30 / 1k overage
Subscribe Now

Ultra

$24.99/month
1,000,000 Requests / Month
  • All holiday endpoints
  • 75 req/s rate limit
  • $0.15 / 1k overage
Subscribe

Need higher volume or a custom SLA?

Talk to us about enterprise rates, dedicated support, and compliance docs.

Contact sales
FAQ

Frequently asked questions

The API provides public-holiday data for over 100 countries. You can retrieve the complete, authoritative list at any time by calling the /holidays/v1/countries endpoint, which returns each supported country's ISO-3166 alpha-2 code and English name. This is the recommended way to validate a country before making other requests and to populate country dropdowns in your application.

Use the /holidays/v1/is-holiday endpoint with a country code and a date in YYYY-MM-DD form, for example /holidays/v1/is-holiday?country=US&date=2026-07-03. The response includes an is_holiday boolean and a holiday object containing the full matching record (local name, English name, type flags, and regional applicability). When the date is an ordinary day, is_holiday is false and the holiday field is null, which makes it easy to implement business-day and conditional-workflow logic.

The /holidays/v1/public endpoint returns all holidays for a single calendar year (2000-2100). The /holidays/v1/range endpoint returns holidays within an inclusive from/to window sorted ascending, and the window may span at most 5 years. The /holidays/v1/next endpoint returns the upcoming holidays in the next 365 days. Choose public for full-year calendars, range for arbitrary windows, and next for dashboards and reminders.

Each holiday object includes a global boolean and a counties field. When global is true the holiday applies nationwide and counties is null. When global is false the holiday applies only to the subdivisions listed in counties, which contains ISO-3166-2 codes. Always branch on these fields when regional accuracy matters so that a holiday observed in only one region doesn't incorrectly affect nationwide logic.

Authentication uses a single API key. When calling the edge endpoint directly, pass it as a query parameter: ?apikey=YOUR_API_KEY. When subscribing through RapidAPI, send your key in the X-RapidAPI-Key header along with the X-RapidAPI-Host header. There is no OAuth flow, no SDK, and no webhooks to configure — just add your key and call.

Inputs are validated before any data is fetched, so bad requests fail fast with a clean 400 and a human-readable message, such as an invalid country code, an out-of-range year, a malformed date, or a 'from' date that is after the 'to' date. If the upstream holiday provider is unavailable, the API returns a tidy 502 with a detail field instead of leaking internal errors. Because responses are edge-cached, these upstream issues are rarely visible to end users, and a short retry with backoff handles transient failures gracefully.

Yes. The public, range, next, and countries endpoints accept an optional limit query parameter between 1 and 1000, defaulting to 50. This is useful for previews, paginated UIs, and reducing payload size when you only need the first few results — for example fetching just the next two upcoming holidays for a compact widget.

Every week you build in-house is a week you don't ship product

2,500+ teams already made the switch. Start with a free tier today, or talk to us about your enterprise needs.

For developers

Free tier, no credit card. Integrate your first API in under 30 minutes.

Get API keys freeRead the docs

For teams and enterprise

Custom volumes, SLA guarantees, dedicated support, and compliance documentation.

Talk to sales

or email sales@apicodex.io