πŸ“…Global Public Holiday Calendar

Public Holidays API

Query public holidays for 100+ countries and any year in a single API call. Fully local computation β€” no external data sources, no rate-limit surprises.

100+ CountriesAny YearNo External Dependencies
API Authentication Required
Enter your API key to access this service. All API calls require authentication.

Don't have an API key?

Sign in to your account to create and manage your API keys.

API Integration Guide

Learn how to integrate this API into your applications with code examples and detailed documentation.

API Overview
Get all public holidays for a country and year
GET
/api/holidays

Base URL

https://www.apipick.com

Full Endpoint

https://www.apipick.com/api/holidays
Parameters
Required and optional parameters for this API
country
required
string

ISO 3166-1 alpha-2 country code

Example: US
year
optional
integer

4-digit year (defaults to current year)

Example: 2026
Code Examples
Copy and paste these examples to quickly integrate the API into your application

cURL Request

curl -X GET "https://www.apipick.com/api/holidays" \
  -H "x-api-key: YOUR_API_KEY"
Replace YOUR_API_KEY with your actual API key
Response Example
Example response from the API

JSON Response

{
  "success": true,
  "code": 200,
  "message": "Holidays retrieved successfully",
  "data": {
    "country": "US",
    "country_name": "United States",
    "year": 2026,
    "total": 11,
    "holidays": [
      {
        "date": "2026-01-01",
        "name": "New Year's Day"
      },
      {
        "date": "2026-01-19",
        "name": "Martin Luther King Jr. Day"
      },
      {
        "date": "2026-02-16",
        "name": "Presidents' Day"
      },
      {
        "date": "2026-05-25",
        "name": "Memorial Day"
      },
      {
        "date": "2026-07-03",
        "name": "Independence Day (observed)"
      },
      {
        "date": "2026-09-07",
        "name": "Labor Day"
      },
      {
        "date": "2026-10-12",
        "name": "Columbus Day"
      },
      {
        "date": "2026-11-11",
        "name": "Veterans Day"
      },
      {
        "date": "2026-11-26",
        "name": "Thanksgiving Day"
      },
      {
        "date": "2026-12-25",
        "name": "Christmas Day"
      }
    ]
  },
  "credits_used": 1,
  "remaining_credits": 99
}
Integration Tips

βœ“Best Practices

  • β€’ Always include x-api-key header
  • β€’ Always handle errors gracefully
  • β€’ Validate input data before sending
  • β€’ Use HTTPS for secure communication
  • β€’ Cache responses when appropriate

β„ΉResponse Headers

  • β€’ Content-Type: application/json
  • β€’ x-api-key: Required for authentication
  • β€’ Status codes: 200 (success), 400 (error), 401 (unauthorized)
  • β€’ No rate limiting applied

Built for Real-World Scheduling

🏒

HR Scheduling

Automatically exclude public holidays when calculating leave balances, payroll cycles, and shift rosters across multiple countries.

πŸ“ˆ

Trading Calendars

Skip non-trading days in financial models and backtests. Identify bank holidays that affect settlement and clearing windows.

πŸ“¦

Logistics ETAs

Calculate accurate delivery estimates by skipping holidays in the origin, transit, and destination countries automatically.

βš™οΈ

n8n Automation

Wire into n8n or Zapier workflows to gate time-sensitive actions β€” skip sending emails or reports on national holidays.

HolidayAPI & Nager.Date Alternative

Current-year data, future-year planning, and a production SLA β€” without the free-tier year lock or community-project reliability risk.

HolidayAPI
Nager.Date
API Pick βœ“
Free tierPrevious year onlyFree (no SLA)100 credits on signup
Current year dataPaid plan onlyβœ“βœ“
Future year dataPaid plan onlyβœ“ (limited)βœ“ up to +10 years
Historical data (1900+)Paid plan onlyPartialβœ“ from 1900
Production SLAPaid plans onlyβœ— Community projectβœ“
Countries covered~100~110100+
No credit card to startβœ—βœ“βœ“
Credits / requests expire?Annual planN/ANever expire
AI agent / LLM readyPartialPartialβœ“ Native JSON

The HolidayAPI free-tier trap

HolidayAPI's free plan is intentionally limited to the previous calendar year only. Need to look up holidays for the current year or plan ahead for 2027 leave schedules? You must upgrade to a paid plan. For any scheduling or automation use case, this makes the free tier practically useless from day one.

The Nager.Date reliability risk

Nager.Date is a community-maintained open-source project β€” free to use but with no uptime SLA, no support contract, and no guarantee of continued availability. Teams that have built payroll systems or logistics pipelines on it have been caught out by unexpected downtime or deprecation. Fine for prototyping; not for production.

Response Fields

FieldTypeDescription
data.countrystringISO 3166-1 alpha-2 country code (uppercase)
data.country_namestringFull English name of the country
data.yearintegerThe queried calendar year
data.totalintegerNumber of public holidays in the year
data.holidaysarrayList of holiday objects sorted by date
data.holidays[].datestringHoliday date in YYYY-MM-DD format
data.holidays[].namestringOfficial name of the holiday
credits_usedintegerCredits deducted for this request
remaining_creditsintegerCredits remaining in your account

Rate Limits

⏱️

Request Rate

120req / min

Per API key, per endpoint. Sliding 60-second window.

πŸ”€

Concurrency

3concurrent

Max simultaneous in-flight requests per API key.

Response Headers

X-RateLimit-LimitMaximum requests allowed per minute
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetSeconds until the current window resets
Retry-AfterSeconds to wait before retrying (only on 429)

429 Too Many Requests

HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12

{
  "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded: 120 requests/minute per API key. Retry after 12s.",
  "retry_after": 12
}

Frequently Asked Questions

Q: Which countries are supported?

A: 100+ countries via the open-source python-holidays (vacanza) library. This includes the US, UK, Germany, France, Japan, China, Australia, Canada, India, Brazil, and most of Europe, Asia, Latin America, and Africa. Use a valid ISO 3166-1 alpha-2 code (e.g. US, GB, DE).

Q: How far back and forward can I query?

A: You can query any year from 1900 up to 10 years in the future. Historical holidays are computed based on the rules that were in effect at the time, so results reflect actual historical observances rather than today's rules projected backwards.

Q: Are regional/state holidays included?

A: This endpoint returns national public holidays only. State-, province-, or region-specific observances (e.g. US state holidays, German LΓ€nder holidays) are not included in the default response. Contact us if you need subdivision-level holiday data.

Q: Can AI agents use this as a tool?

A: Yes. The endpoint takes two query parameters (country and year) and returns a structured JSON array β€” straightforward to define as a function tool for OpenAI, Claude, LangChain, or any agent framework. Ideal for scheduling agents that need to reason about working days across multiple countries.

πŸ€–Agent Skill

Use Public Holidays in Claude Code & AI Agents

Install the official Claude Code skill to query public holidays for 100+ countries directly inside your AI coding agent β€” sorted dates, official names, and counts via natural language.

Ask your AI agent naturally

β€ΊWhat are the US public holidays in 2026?
β€ΊList all public holidays in Japan for this year
β€ΊIs December 26 a holiday in the UK?

Compatible platforms

Claude CodeCursorOpenAI CodexManusGoogle AntigravityOpenClaw
apipick-lab /
apipick-public-holidays

Claude Code skill for APIpick Public Holidays API

Returns holiday lists sorted by date with official English names and total counts for 100+ countries. Supports years from 1900 to 10 years ahead.

TypeScriptβ€’1 credit / requestβ€’Free to install
View Skill on GitHub