Public Holidays by Country Online
Public, bank and observance holidays of ~200 countries and their states, next holidays, is-it-a-holiday checks and business days between dates.
Result
Press “Run” to see the result.
Give a country (ISO code, optionally with a subdivision: US-CA, DE-BY, GB-SCT) and get its holidays for a year: date, end date for multi-day holidays, start and end instants in the country time zone, local name, English name, Vietnamese name when the data has one, type (public, bank, school, optional, observance) and whether it is a substitute day. Filter with types=public, choose the name language with lang, and list subdivisions with list=states; without country the API lists every supported country.
Other modes: date=2026-12-25 tells whether a day is a holiday, a weekend or a business day; next=5 returns the next holidays from today (or from); from + to counts business days (both dates included) and lists the holidays in the range; add=10 + from adds business days. Weekends follow CLDR per country (Friday–Saturday in Saudi Arabia, Sunday only in India…) or weekend=6,0; days off are holidays of type public and bank (business_types to change), half-day holidays such as Christmas Eve afternoon do not close the day.
Rules come from the open date-holidays project (CC BY-SA 4.0, attribution returned in every response), including Easter, lunar, Hebrew and Islamic calendars, and are refreshed weekly. Islamic dates are calculated and may differ by a day from moon sightings. For Vietnam use /v1/vn-holidays, which follows the Labour Code and the official yearly schedules.
Use this in your code
curl "https://apibox.io.vn/v1/holidays?country=US&next=2&from=2026-11-11" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/holidays?country=US&next=2&from=2026-11-11', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/holidays?country=US&next=2&from=2026-11-11",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/holidays?country=US&next=2&from=2026-11-11');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));API documentation → Get a free API key
FAQ
Where does the data come from?
From the date-holidays project (github.com/commenthol/date-holidays), licensed CC BY-SA 4.0; the attribution field must be kept when you republish the data.
Are state or regional holidays included?
Yes, for countries with subdivisions in the data: use country=US-CA or state=CA; list=states shows the codes.
What about Vietnam?
Vietnam is included, but /v1/vn-holidays is more accurate: it applies the Labour Code and the official Tết and 2/9 schedules.