Business days, holidays and settlement dates as JSON
Public holidays and business-day arithmetic for 224 countries with regional calendars; trading sessions, settlement dates and payment value dates for 31 exchanges and 7 payment schemes. Both are sold through RapidAPI with a free tier, precomputed for 2000 to 2060 and served from memory.
Business Days and Holidays
Add business days to a date, count working days between two dates, compute an SLA deadline in business hours, or list holidays by year and region. Regional calendars for 20 countries. Every country and region is also an iCalendar feed.
Request
GET /v1/businessdays/sla?country=DE®ion=DE-BY&start=2027-03-05T16:40:00+01:00&offset=3&unit=days
Response
{
"country": "DE",
"region": "DE-BY",
"start": "2027-03-05T16:40:00+01:00",
"deadline": "2027-03-10T16:40:00+01:00",
"businessDaysUsed": 3,
"weekendDaysSkipped": 2,
"holidaysSkipped": 0
}
| Method | Path | Returns |
|---|---|---|
| GET | /v1/holidays/{country}/{year} |
Holidays for a country and year. Filter by region, type and language. |
| GET | /v1/businessdays/add |
Move a date forward or back by a number of business days. |
| GET | /v1/businessdays/between |
Count business days, weekend days and holidays between two dates. |
| GET | /v1/businessdays/sla |
Deadline after N business days or business hours from a start time. |
| GET | /v1/holidays/{country}/{year}.ics |
iCalendar feed for a country, year and optional region. |
| GET | /countries |
Supported countries and how many regions each one has. |
Settlement Calendar and Payment Value Dates
Trading sessions, holidays and early closes for 31 exchanges; T+0 to T+3 settlement dates; payment value dates with cutoffs for SEPA, SEPA Instant, TARGET2, Fedwire, ACH, BACS and CHAPS.
Request
POST /v1/valuedate {"initiatedAt": "2027-03-05T19:30:00-05:00", "scheme": "FEDWIRE"}
Response
{
"valueDate": "2027-03-08",
"cutoffHit": true,
"nextCutoff": "2027-03-08T19:01:00-05:00",
"closuresSkipped": 2,
"reason": "cutoff"
}
| Method | Path | Returns |
|---|---|---|
| GET | /v1/markets |
Exchanges covered, with MIC codes, time zones and coverage. |
| GET | /v1/markets/{mic}/holidays |
Holidays for an exchange and year. |
| GET | /v1/markets/{mic}/sessions |
Open and close times by date range, with early closes. |
| GET | /v1/markets/{mic}/is-open |
Whether the market is open at an instant, with next open and close. |
| POST | /v1/settlement |
Settlement date for a trade date, exchange and cycle. |
| POST | /v1/valuedate |
Value date for a payment by scheme, with cutoff handling. |
| GET | /v1/schemes/{scheme}/closures |
Closure days for a payment scheme and year. |
| GET | /v1/markets/{mic}/calendar.ics |
iCalendar feed of an exchange's holidays and early closes. |
Holiday data for your spreadsheet
Public holidays for 224 countries and territories, 2000 to 2060. CSV, Parquet and iCalendar files for spreadsheets, databases and calendars.
How it works
Sixty years, precomputed
Every calendar from 2000 to 2060 is generated ahead of time and served from memory. No upstream calls at request time, so responses are fast and the same input always returns the same answer.
Business-day arithmetic, not just a holiday list
Add or subtract business days, count working days in a range, and compute deadlines in business hours with your own working-day window. Weekend definitions follow each country.
Sourced rules
Exchange rules come from the Apache-2.0 exchange_calendars project; scheme closures and cutoffs from the ECB, the Federal Reserve, UK bank holidays and the EPC rulebooks, cited in the data files. Coverage flags mark exchanges whose upstream data ends before 2060.
Questions
Where does the holiday data come from?
The base calendars are generated from the MIT-licensed source of the Nager.Date project. Countries it does not cover and Islamic holidays generally come from date-holidays (ISC and CC BY 3.0, attribution on this page). Both sources are reviewed before a country ships.
Is coverage the same for every country?
No, and the API says so. Every entry in /countries carries a coverage field: full means the national list is complete and reviewed through 2060; partial means the national list is known to be incomplete or lunar-calendar holidays are missing for some years. India, Thailand and Malaysia are partial today and are being upgraded. Check the flag before relying on a country for payroll or legal deadlines.
Are holidays listed on the observed date?
Yes. When a holiday falls on a weekend and the country observes it on a weekday, the observed date is what the API returns, because that is the day offices are closed.
How are weekends defined?
Per country. Most use Saturday and Sunday. Countries with a Friday and Saturday weekend are handled without any configuration on your side.
What happens if a government changes a holiday?
Calendars are regenerated when upstream data changes, and the change is noted in the changelog. Historical years never change.
Is there an SLA?
The API runs on Deno Deploy across multiple regions. There is no contractual uptime guarantee on these plans. Incidents are recorded in the changelog.
Sources
Holiday data derived from Nager.Date (MIT, source 2026-09-14) and date-holidays (ISC and CC BY 3.0). Business-day logic, regional coverage and the precomputed calendars are the work of Polystash.