Global Holidays and Business Days API

API ID 12760

Look up public holidays for 55 countries, calculate business day deadlines, find the next business day, export holidays to iCal, and more — all backed by versioned JSON data with no external dependencies at runtime. Covers 55 countries across Africa, Americas, Asia, Europe and Oceania for years 2024 to 2027.

114 ms avg response

API Documentation

Endpoints

Request
Returns all 55 supported countries with their ISO 3166-1 alpha-2 codes. Use this to validate country codes before calling other endpoints.
Endpoint ID: 24841
GET https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24841/list+supported+countries
INPUT PARAMETERS

Free test requests remaining: 3 of 3.

This endpoint does not require any input parameters.

API EXAMPLE RESPONSE
JSON
{"success":true,"data":[{"code":"AD","name":"Andorra","supported":true},{"code":"AR","name":"Argentina","supported":true},{"code":"AU","name":"Australia","supported":true},{"code":"AT","name":"Austria","supported":true},{"code":"BE","name":"Belgium","supported":true},{"code":"BR","name":"Brazil","supported":true},{"code":"CA","name":"Canada","supported":true},{"code":"CL","name":"Chile","supported":true},{"code":"CN","name":"China","supported":true},{"code":"CO","name":"Colombia","supported":true},{"code":"HR","name":"Croatia","supported":true},{"code":"CZ","name":"Czech Republic","supported":true},{"code":"DK","name":"Denmark","supported":true},{"code":"EG","name":"Egypt","supported":true},{"code":"FI","name":"Finland","supported":true},{"code":"FR","name":"France","supported":true},{"code":"DE","name":"Germany","supported":true},{"code":"GR","name":"Greece","supported":true},{"code":"HU","name":"Hungary","supported":true},{"code":"HK","name":"Hong Kong","supported":true},{"code":"ID","name":"Indonesia","supported":true},{"code":"IE","name":"Ireland","supported":true},{"code":"IT","name":"Italy","supported":true},{"code":"JP","name":"Japan","supported":true},{"code":"KE","name":"Kenya","supported":true},{"code":"LU","name":"Luxembourg","supported":true},{"code":"SK","name":"Slovakia","supported":true},{"code":"MX","name":"Mexico","supported":true},{"code":"MA","name":"Morocco","supported":true},{"code":"NL","name":"Netherlands","supported":true},{"code":"NZ","name":"New Zealand","supported":true},{"code":"NG","name":"Nigeria","supported":true},{"code":"NO","name":"Norway","supported":true},{"code":"CY","name":"Cyprus","supported":true},{"code":"PE","name":"Peru","supported":true},{"code":"PH","name":"Philippines","supported":true},{"code":"PL","name":"Poland","supported":true},{"code":"PT","name":"Portugal","supported":true},{"code":"RO","name":"Romania","supported":true},{"code":"RU","name":"Russia","supported":true},{"code":"UA","name":"Ukraine","supported":true},{"code":"SG","name":"Singapore","supported":true},{"code":"VN","name":"Vietnam","supported":true},{"code":"ZA","name":"South Africa","supported":true},{"code":"KR","name":"South Korea","supported":true},{"code":"ES","name":"Spain","supported":true},{"code":"SE","name":"Sweden","supported":true},{"code":"CH","name":"Switzerland","supported":true},{"code":"GB","name":"United Kingdom","supported":true},{"code":"US","name":"United States","supported":true},{"code":"IN","name":"India","supported":true},{"code":"IL","name":"Israel","supported":true},{"code":"MY","name":"Malaysia","supported":true},{"code":"PK","name":"Pakistan","supported":true},{"code":"SA","name":"Saudi Arabia","supported":true}],"meta":{"count":55}}
List Supported Countries — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24841/list+supported+countries' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request

Returns all public holidays for a given country and year. URL Parameters: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. Use GET /countries for the full list. - year (required): Four digit year. Supported values: 2024, 2025, 2026, 2027. Query Parameters: - type (optional): Filter by holiday type. Accepted values: Public, Bank, Optional, Observance.

Endpoint ID: 24842
GET https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24842/get+holidays+by+year
INPUT PARAMETERS

Get Holidays by Year — Endpoint Features

Object Description
type Optional Optional. Filter by holiday type. Accepted values: Public, Bank, Optional, Observance.
country Required
year Required

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

type
API EXAMPLE RESPONSE
JSON
{"success":true,"data":[{"date":"2026-01-01","localName":"New Year's Day","name":"New Year's Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-03-21","localName":"Human Rights Day","name":"Human Rights Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-03","localName":"Good Friday","name":"Good Friday","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-06","localName":"Family Day","name":"Family Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-27","localName":"Freedom Day","name":"Freedom Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-05-01","localName":"Workers' Day","name":"Workers' Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-06-16","localName":"Youth Day","name":"Youth Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-08-10","localName":"National Women's Day","name":"National Women's Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-09-24","localName":"Heritage Day","name":"Heritage Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-12-16","localName":"Day of Reconciliation","name":"Day of Reconciliation","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-12-25","localName":"Christmas Day","name":"Christmas Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-12-26","localName":"St. Stephen's Day","name":"Day of Goodwill","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]}],"meta":{"country":"ZA","year":2026,"count":12}}
Get Holidays by Year — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24842/get+holidays+by+year&country=Required&/=Required&year=Required' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request

Returns public holidays for a given country, year, and month. URL Parameters: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. Use GET /countries for the full list. - year (required): Four digit year. Supported values: 2024, 2025, 2026, 2027. - month (required): Month number between 1 and 12. Query Parameters: - type (optional): Filter by holiday type. Accepted values: Public, Bank, Optional, Observance.

Endpoint ID: 24843
GET https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24843/get+holidays+by+month
INPUT PARAMETERS

Get Holidays by Month — Endpoint Features

Object Description
type Optional Optional. Filter by holiday type. Accepted values: Public, Bank, Optional, Observance.
country Required
year Required
month Required

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

type
API EXAMPLE RESPONSE
JSON
{"success":true,"data":[{"date":"2026-12-16","localName":"Day of Reconciliation","name":"Day of Reconciliation","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-12-25","localName":"Christmas Day","name":"Christmas Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-12-26","localName":"St. Stephen's Day","name":"Day of Goodwill","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]}],"meta":{"country":"ZA","year":2026,"month":12,"count":3}}
Get Holidays by Month — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24843/get+holidays+by+month&country=Required&/=Required&year=Required&/=Required&month=Required' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request
Returns a breakdown of public holiday counts per month for a given country and year. All 12 months are returned, including months with zero holidays. URL Parameters: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. Use GET /countries for the full list. - year (required): Four digit year. Supported values: 2024, 2025, 2026, 2027.
Endpoint ID: 24844
GET https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24844/get+holiday+summary+by+month
INPUT PARAMETERS

Free test requests remaining: 3 of 3.

API EXAMPLE RESPONSE
JSON
{"success":true,"data":[{"month":1,"name":"January","count":1},{"month":2,"name":"February","count":0},{"month":3,"name":"March","count":1},{"month":4,"name":"April","count":3},{"month":5,"name":"May","count":1},{"month":6,"name":"June","count":1},{"month":7,"name":"July","count":0},{"month":8,"name":"August","count":1},{"month":9,"name":"September","count":1},{"month":10,"name":"October","count":0},{"month":11,"name":"November","count":0},{"month":12,"name":"December","count":3}],"meta":{"country":"ZA","year":2026,"total":12}}
Get Holiday Summary by Month — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24844/get+holiday+summary+by+month&country=Required&/=Required&year=Required' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request
Returns public holidays occurring within the next N days from today for a given country. Defaults to 30 days if no window is specified. URL Parameters: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. Use GET /countries for the full list. Query Parameters: - days (optional): Number of days to look ahead. Must be between 1 and 365. Defaults to 30 if not provided.
Endpoint ID: 24845
GET https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24845/get+upcoming+holidays
INPUT PARAMETERS

Get Upcoming Holidays — Endpoint Features

Object Description
country Required

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":[],"meta":{"country":"ZA","from":"2026-06-22","to":"2026-07-22","days_window":30,"count":0}}
Get Upcoming Holidays — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24845/get+upcoming+holidays&country=Required' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request
Returns public holidays for a given country and year that fall between two dates. Both dates must be in YYYY-MM-DD format and within the same year. The from date must be on or before the to date. URL Parameters: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. Use GET /countries for the full list. - year (required): Four digit year. Supported values: 2024, 2025, 2026, 2027. - from (required): Start date in YYYY-MM-DD format. Must be within the specified year. - to (required): End date in YYYY-MM-DD format. Must be within the specified year and on or after the from date.
Endpoint ID: 24846
GET https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24846/get+holidays+by+date+range
INPUT PARAMETERS

Free test requests remaining: 3 of 3.

API EXAMPLE RESPONSE
JSON
{"success":true,"data":[{"date":"2026-01-01","localName":"New Year's Day","name":"New Year's Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-03-21","localName":"Human Rights Day","name":"Human Rights Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-03","localName":"Good Friday","name":"Good Friday","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-06","localName":"Family Day","name":"Family Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-27","localName":"Freedom Day","name":"Freedom Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]}],"meta":{"country":"ZA","year":2026,"from":"2026-01-01","to":"2026-04-30","count":5}}
Get Holidays by Date Range — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24846/get+holidays+by+date+range&country=Required&/=Required&year=Required&/=Required&from=Required&/=Required&to=Required' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request
Returns all public holidays for a given country and year as a downloadable iCal (.ics) file. Compatible with Google Calendar, Apple Calendar, Outlook, and any calendar application that supports the iCal format. Note: this endpoint returns a text/calendar file, not JSON. URL Parameters: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. Use GET /countries for the full list. - year (required): Four digit year. Supported values: 2024, 2025, 2026, 2027.
Endpoint ID: 24847
GET https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24847/export+holidays+to+ical
INPUT PARAMETERS

Free test requests remaining: 3 of 3.

API EXAMPLE RESPONSE
JSON
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//sebbo.net//ical-generator//EN
NAME:ZA Public Holidays 2026
X-WR-CALNAME:ZA Public Holidays 2026
BEGIN:VEVENT
UID:383d700d-ed90-4c90-9d1a-f5561a22a9e1
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20260101
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:New Year's Day
END:VEVENT
BEGIN:VEVENT
UID:90225314-c30e-40ef-a688-2c62d3d09ed2
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20260321
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Human Rights Day
END:VEVENT
BEGIN:VEVENT
UID:f3ed1d6b-cdc1-45da-8301-c36466b11619
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20260403
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Good Friday
END:VEVENT
BEGIN:VEVENT
UID:198e2a30-90fa-4618-9136-33b7ddc23481
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20260406
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Family Day
END:VEVENT
BEGIN:VEVENT
UID:25124a20-9f1f-4dcd-a371-ae5e1d8fefe9
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20260427
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Freedom Day
END:VEVENT
BEGIN:VEVENT
UID:56e65b8f-26e8-4d43-ae06-5449f3c2f77f
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20260501
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Workers' Day
END:VEVENT
BEGIN:VEVENT
UID:a34dc671-dc66-4372-8a1f-f33d8a0d3041
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20260616
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Youth Day
END:VEVENT
BEGIN:VEVENT
UID:12dba5f4-cf40-47e8-a0e2-ee4395639c4c
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20260810
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:National Women's Day
END:VEVENT
BEGIN:VEVENT
UID:f841d110-4163-4366-aca2-a944f19d3cab
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20260924
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Heritage Day
END:VEVENT
BEGIN:VEVENT
UID:74c797d0-6086-435d-94f0-838772be1ba8
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20261216
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Day of Reconciliation
END:VEVENT
BEGIN:VEVENT
UID:52665438-64aa-40fa-aaac-4bde58e7899d
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20261225
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Christmas Day
END:VEVENT
BEGIN:VEVENT
UID:c650d3dd-e456-4519-be08-92b279b0bd9d
SEQUENCE:0
DTSTAMP:20260622T155815Z
DTSTART;VALUE=DATE:20261226
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
X-MICROSOFT-MSNCALENDAR-ALLDAYEVENT:TRUE
SUMMARY:Day of Goodwill
END:VEVENT
END:VCALENDAR
Export Holidays to iCal — CODE SNIPPETS

curl --location --request GET 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24847/export+holidays+to+ical&country=Required&/=Required&year=Required' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Request

Fetch public holidays for multiple countries in a single request. Pass an array of up to 10 country codes and a year to get holidays for all of them in one response. Ideal for multi-country HR, payroll, and logistics platforms. Request Body: - countries (required): Array of 1 to 10 ISO 3166-1 alpha-2 country codes. Example: ["ZA", "US", "GB"]. - year (required): Four digit year. Supported values: 2024, 2025, 2026, 2027.

Endpoint ID: 24848
POST https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24848/bulk+holiday+lookup
INPUT PARAMETERS

Bulk Holiday Lookup — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"ZA":[{"date":"2026-01-01","localName":"New Year's Day","name":"New Year's Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-03-21","localName":"Human Rights Day","name":"Human Rights Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-03","localName":"Good Friday","name":"Good Friday","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-06","localName":"Family Day","name":"Family Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-27","localName":"Freedom Day","name":"Freedom Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-05-01","localName":"Workers' Day","name":"Workers' Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-06-16","localName":"Youth Day","name":"Youth Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-08-10","localName":"National Women's Day","name":"National Women's Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-09-24","localName":"Heritage Day","name":"Heritage Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-12-16","localName":"Day of Reconciliation","name":"Day of Reconciliation","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-12-25","localName":"Christmas Day","name":"Christmas Day","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-12-26","localName":"St. Stephen's Day","name":"Day of Goodwill","countryCode":"ZA","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]}],"US":[{"date":"2026-01-01","localName":"New Year's Day","name":"New Year's Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]},{"date":"2026-01-19","localName":"Martin Luther King, Jr. Day","name":"Martin Luther King, Jr. Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]},{"date":"2026-02-12","localName":"Lincoln's Birthday","name":"Lincoln's Birthday","countryCode":"US","fixed":false,"global":false,"counties":["US-CA","US-CT","US-IL","US-IN","US-KY","US-MI","US-NY","US-MO","US-OH"],"launchYear":null,"types":["Observance"]},{"date":"2026-02-16","localName":"Washington's Birthday","name":"Presidents Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]},{"date":"2026-04-03","localName":"Good Friday","name":"Good Friday","countryCode":"US","fixed":false,"global":false,"counties":["US-CT","US-DE","US-HI","US-IN","US-KY","US-LA","US-NC","US-ND","US-NJ","US-TN"],"launchYear":null,"types":["Public"]},{"date":"2026-04-03","localName":"Good Friday","name":"Good Friday","countryCode":"US","fixed":false,"global":false,"counties":["US-TX"],"launchYear":null,"types":["Optional"]},{"date":"2026-05-08","localName":"Truman Day","name":"Truman Day","countryCode":"US","fixed":false,"global":false,"counties":["US-MO"],"launchYear":null,"types":["School","Authorities"]},{"date":"2026-05-25","localName":"Memorial Day","name":"Memorial Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]},{"date":"2026-06-19","localName":"Juneteenth National Independence Day","name":"Juneteenth National Independence Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]},{"date":"2026-07-03","localName":"Independence Day","name":"Independence Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]},{"date":"2026-09-07","localName":"Labor Day","name":"Labour Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]},{"date":"2026-10-12","localName":"Columbus Day","name":"Columbus Day","countryCode":"US","fixed":false,"global":false,"counties":["US-AL","US-AZ","US-CO","US-CT","US-GA","US-ID","US-IL","US-IN","US-IA","US-KS","US-KY","US-LA","US-ME","US-MD","US-MA","US-MS","US-MO","US-MT","US-NE","US-NH","US-NJ","US-NM","US-NY","US-NC","US-OH","US-OK","US-PA","US-RI","US-SC","US-TN","US-UT","US-VA","US-WV"],"launchYear":null,"types":["Public"]},{"date":"2026-10-12","localName":"Columbus Day","name":"Columbus Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Bank"]},{"date":"2026-10-12","localName":"Indigenous Peoples' Day","name":"Indigenous Peoples' Day","countryCode":"US","fixed":false,"global":false,"counties":["US-AK","US-AL","US-CA","US-HI","US-IA","US-LA","US-ME","US-MI","US-MN","US-NC","US-NE","US-NM","US-OK","US-OR","US-SD","US-TX","US-VA","US-VT","US-WI"],"launchYear":null,"types":["Public"]},{"date":"2026-11-11","localName":"Veterans Day","name":"Veterans Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]},{"date":"2026-11-26","localName":"Thanksgiving Day","name":"Thanksgiving Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]},{"date":"2026-12-25","localName":"Christmas Day","name":"Christmas Day","countryCode":"US","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public","Bank"]}],"GB":[{"date":"2026-01-01","localName":"New Year's Day","name":"New Year's Day","countryCode":"GB","fixed":false,"global":false,"counties":["GB-ENG","GB-NIR","GB-SCT","GB-WLS"],"launchYear":null,"types":["Public"]},{"date":"2026-01-02","localName":"2 January","name":"2 January","countryCode":"GB","fixed":false,"global":false,"counties":["GB-SCT"],"launchYear":null,"types":["Public"]},{"date":"2026-03-17","localName":"Saint Patrick's Day","name":"Saint Patrick's Day","countryCode":"GB","fixed":false,"global":false,"counties":["GB-NIR"],"launchYear":null,"types":["Public"]},{"date":"2026-04-03","localName":"Good Friday","name":"Good Friday","countryCode":"GB","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-04-06","localName":"Easter Monday","name":"Easter Monday","countryCode":"GB","fixed":false,"global":false,"counties":["GB-ENG","GB-WLS","GB-NIR"],"launchYear":null,"types":["Public"]},{"date":"2026-05-04","localName":"Early May Bank Holiday","name":"Early May Bank Holiday","countryCode":"GB","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-05-25","localName":"Spring Bank Holiday","name":"Spring Bank Holiday","countryCode":"GB","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-06-15","localName":"World Cup Bank Holiday","name":"World Cup Bank Holiday","countryCode":"GB","fixed":false,"global":false,"counties":["GB-SCT"],"launchYear":null,"types":["Public"]},{"date":"2026-07-13","localName":"Battle of the Boyne","name":"Battle of the Boyne","countryCode":"GB","fixed":false,"global":false,"counties":["GB-NIR"],"launchYear":null,"types":["Public"]},{"date":"2026-08-03","localName":"Summer Bank Holiday","name":"Summer Bank Holiday","countryCode":"GB","fixed":false,"global":false,"counties":["GB-SCT"],"launchYear":null,"types":["Public"]},{"date":"2026-08-31","localName":"Summer Bank Holiday","name":"Summer Bank Holiday","countryCode":"GB","fixed":false,"global":false,"counties":["GB-ENG","GB-WLS","GB-NIR"],"launchYear":null,"types":["Public"]},{"date":"2026-11-30","localName":"Saint Andrew's Day","name":"Saint Andrew's Day","countryCode":"GB","fixed":false,"global":false,"counties":["GB-SCT"],"launchYear":null,"types":["Public"]},{"date":"2026-12-25","localName":"Christmas Day","name":"Christmas Day","countryCode":"GB","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]},{"date":"2026-12-28","localName":"Boxing Day","name":"St. Stephen's Day","countryCode":"GB","fixed":false,"global":true,"counties":null,"launchYear":null,"types":["Public"]}]},"meta":{"year":2026,"countries_requested":3,"countries_returned":3,"missing":[]}}
Bulk Holiday Lookup — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24848/bulk+holiday+lookup' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "countries": ["ZA", "US", "GB"],
  "year": 2026
}'

    
Request

Counts the number of business days between two dates for a given country, excluding weekends and public holidays. Follows the standard financial convention — includes the start date, excludes the end date. Request Body: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. - startDate (required): Start date in YYYY-MM-DD format. - endDate (required): End date in YYYY-MM-DD format. Must be on or after startDate.

Endpoint ID: 24849
POST https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24849/count+business+days
INPUT PARAMETERS

Count Business Days — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"businessDays":21,"calendarDays":30,"startDate":"2026-01-01","endDate":"2026-01-31"},"meta":{"country":"ZA"}}
Count Business Days — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24849/count+business+days' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "country": "ZA",
  "startDate": "2026-01-01",
  "endDate": "2026-01-31"
}'

    
Request

Adds a specified number of business days to a start date for a given country, skipping weekends and public holidays. Returns the resulting date. Useful for calculating due dates, SLAs, and delivery windows. Request Body: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. - startDate (required): Start date in YYYY-MM-DD format. - days (required): Number of business days to add. Must be a positive integer.

Endpoint ID: 24850
POST https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24850/add+business+days
INPUT PARAMETERS

Add Business Days — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"startDate":"2026-01-01","days":5,"resultDate":"2026-01-08"},"meta":{"country":"ZA"}}
Add Business Days — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24850/add+business+days' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "country": "ZA",
  "startDate": "2026-01-01",
  "days": 5
}'

    
Request

Subtracts a specified number of business days from a start date for a given country, skipping weekends and public holidays. Returns the resulting date. Useful for calculating backdated deadlines and notice periods. Request Body: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. - startDate (required): Start date in YYYY-MM-DD format. - days (required): Number of business days to subtract. Must be a positive integer.

Endpoint ID: 24851
POST https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24851/subtract+business+days
INPUT PARAMETERS

Subtract Business Days — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"startDate":"2026-01-31","days":5,"resultDate":"2026-01-26"},"meta":{"country":"ZA"}}
Subtract Business Days — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24851/subtract+business+days' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "country": "ZA",
  "startDate": "2026-01-31",
  "days": 5
}'

    
Request

Checks whether a specific date is a business day for a given country. Returns false for weekends and public holidays, true for all other weekdays. Request Body: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. - date (required): Date to check in YYYY-MM-DD format.

Endpoint ID: 24852
POST https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24852/check+business+day
INPUT PARAMETERS

Check Business Day — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"date":"2026-04-03","isBusinessDay":false,"dayOfWeek":"Friday","country":"ZA"},"meta":{"country":"ZA"}}
Check Business Day — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24852/check+business+day' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "country": "ZA",
  "date": "2026-04-03"
}'

    
Request

Returns the next business day after a given date for a specified country, skipping weekends and public holidays. Useful for payment processing, notification scheduling, and deadline forwarding. Request Body: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. - date (required): Date in YYYY-MM-DD format to find the next business day from.

Endpoint ID: 24853
POST https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24853/get+next+business+day
INPUT PARAMETERS

Get Next Business Day — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"fromDate":"2026-01-01","nextBusinessDay":"2026-01-02","daysSkipped":0},"meta":{"country":"ZA"}}
Get Next Business Day — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24853/get+next+business+day' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "country": "ZA",
  "date": "2026-01-01"
}'

    
Request

Calculates a deadline date by adding a specified number of SLA days to a start date. Supports two modes — business (skips weekends and public holidays, default) and calendar (counts raw calendar days and flags if the result lands on a holiday or weekend). Request Body: - country (required): ISO 3166-1 alpha-2 country code. Example: ZA. - startDate (required): Start date in YYYY-MM-DD format. - slaDays (required): Number of SLA days. Must be a positive integer. - mode (optional): Calculation mode. Use business (default) to skip weekends and holidays, or calendar to count raw calendar days.

Endpoint ID: 24854
POST https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24854/calculate+business+day+deadline
INPUT PARAMETERS

Calculate Business Day Deadline — Endpoint Features

Object Description
Request Body Required Json

Free test requests remaining: 3 of 3.


INPUT PARAMETERS

API EXAMPLE RESPONSE
JSON
{"success":true,"data":{"startDate":"2026-01-01","slaDays":10,"deadlineDate":"2026-01-15","deadlineIsHoliday":false,"deadlineIsWeekend":false,"mode":"business","country":"ZA"},"meta":{"country":"ZA"}}
Calculate Business Day Deadline — CODE SNIPPETS

curl --location --request POST 'https://zylalabs.com/api/12760/global+holidays+and+business+days+api/24854/calculate+business+day+deadline' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "country": "ZA",
  "startDate": "2026-01-01",
  "slaDays": 10,
  "mode": "business"
}'

    

API Access Key & Authentication

After signing up, every developer is assigned a personal API access key, a unique combination of letters and digits provided to access to our API endpoint. To authenticate with the Global Holidays and Business Days API simply include your bearer token in the Authorization header.

Headers
Header Description
Authorization Required Should be Bearer access_key. See "Your API Access Key" above when you are subscribed.

No long-term commitment. Upgrade, downgrade, or cancel anytime. Free Trial includes up to 50 requests.

(Save 2 months with annual billing 🎉)

🚀 Enterprise Plan

Starts at
$ 10,000/Year


  • Custom Volume
  • Custom Rate Limit
  • Specialized Customer Support
  • Real-Time API Monitoring

Overview

Look up public holidays for 55 countries, calculate business day deadlines, find the next business day, export holidays to iCal, and more — all backed by versioned JSON data with no external dependencies at runtime. Covers 55 countries across Africa, Americas, Asia, Europe and Oceania for years 2024 to 2027.

Global Holidays and Business Days API FAQs

The API covers 55 countries across Africa, Americas, Asia, Europe, and Oceania. Use the GET /countries endpoint to retrieve the full list with ISO codes.

Holiday data is available for 2024, 2025, 2026, and 2027. Data is refreshed automatically each January to add the new year.

Business mode counts only working days, skipping weekends and public holidays. Calendar mode counts raw calendar days from the start date and flags if the result lands on a holiday or weekend.

Yes — use the Export Holidays to iCal endpoint to download a .ics file compatible with Google Calendar, Apple Calendar, Outlook, and any application that supports the iCal format.

The Bulk Holiday Lookup endpoint lets you fetch holidays for up to 10 countries in a single request, ideal for multi-country HR, payroll, and logistics platforms.

Business days exclude Saturdays, Sundays, and country-specific public holidays. The count follows the standard financial convention — includes the start date, excludes the end date.

Yes — holiday data is refreshed automatically every January via an automated pipeline. No changes are required from API consumers.

This endpoint returns a list of public holidays for a specified country and year, including details such as the holiday date, local name, and holiday type. Each holiday entry includes fields like "date," "localName," "name," "countryCode," and "types."

Users can customize requests by specifying the country code, year, and month number (1-12). An optional "type" parameter allows filtering by holiday type, such as Public, Bank, Optional, or Observance.

The response includes fields such as "date," "localName," "name," "countryCode," and "types." Additionally, metadata like "from," "to," and "days_window" provides context for the holiday timeframe.

This endpoint provides a breakdown of public holiday counts for each month of a specified year in a given country. It returns all 12 months, including months with zero holidays, along with the count of holidays for each month.

The response is structured as a JSON object containing a "success" field and a "data" field. The "data" field is an object where each key is a country code, and the value is an array of holiday objects for that country.

This endpoint is useful for calculating deadlines, project timelines, or payment processing schedules by determining the number of business days between two dates while excluding weekends and public holidays.

Users can check if a specific date is a business day, which helps in scheduling meetings, setting deadlines, or planning events. The response indicates whether the date is a business day and provides the day of the week for reference.

The API's holiday data is refreshed annually through an automated pipeline, ensuring that it reflects the most current public holiday information. This process helps maintain high data quality and accuracy across all supported countries.

General FAQs

To obtain your API key, first sign in to your account and navigate to the API you want to use. From the API's Pricing section, choose a plan and complete the subscription process. Once subscribed, return to the API page and you will see your API Access Key displayed at the top of the documentation page. You can use this key to authenticate your requests.

You can’t switch APIs during the free trial. If you subscribe to a different API, your trial will end and the new subscription will start as a paid plan.

The free trial lasts for 7 days and allows you to make up to 50 API requests.

No, the free trial is available only once, so we recommend using it on the API that interests you the most. Most of our APIs offer a free trial, but some may not include this option.

Yes. If the API offers a free trial, you will see a "Free 7-Day Trial" option in its Pricing section. The trial lasts for 7 days and allows up to 50 API requests, enabling you to evaluate the API before subscribing to a paid plan.

Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.

Prices are listed in USD (United States Dollar), EUR (Euro), CAD (Canadian Dollar), AUD (Australian Dollar), and GBP (British Pound). We accept all major debit and credit cards. Our payment system uses the latest security technology and is powered by Stripe, one of the world's most reliable payment companies. If you have any trouble paying by card, just contact us at [email protected]

Additionally, if you already have an active subscription in any of these currencies (USD, EUR, CAD, AUD, GBP), that currency will remain for subsequent subscriptions. You can change the currency at any time as long as you don't have any active subscriptions.
The local currency shown on the pricing page is based on the country of your IP address and is provided for reference only. The actual prices are in USD (United States Dollar). When you make a payment, the charge will appear on your card statement in USD, even if you see the equivalent amount in your local currency on our website. This means you cannot pay directly with your local currency.
Occasionally, a bank may decline the charge due to its fraud protection settings. We suggest reaching out to your bank initially to check if they are blocking our charges. Also, you can access the Billing Portal and change the card associated to make the payment. If these does not work and you need further assistance, please contact our team at [email protected]
Prices are determined by a recurring monthly or yearly subscription, depending on the chosen plan.
API calls are deducted from your plan based on successful requests. Each plan comes with a specific number of calls that you can make per month. Only successful calls, indicated by a Status 200 response, will be counted against your total. This ensures that failed or incomplete requests do not impact your monthly quota.
Zyla API Hub works on a recurring monthly subscription system. Your billing cycle will start the day you purchase one of the paid plans, and it will renew the same day of the next month. So be aware to cancel your subscription beforehand if you want to avoid future charges.
To upgrade your current subscription plan, simply go to the pricing page of the API and select the plan you want to upgrade to. The upgrade will be instant, allowing you to immediately enjoy the features of the new plan. Please note that any remaining calls from your previous plan will not be carried over to the new plan, so be aware of this when upgrading. You will be charged the full amount of the new plan.
To check how many API calls you have left for the current month, refer to the 'X-Zyla-API-Calls-Monthly-Remaining' field in the response header. For example, if your plan allows 1,000 requests per month and you've used 100, this field in the response header will indicate 900 remaining calls.

You can monitor your API usage through the response headers included with every request:

x-zyla-api-calls-monthly-used: Shows the total number of API requests you have used during the current billing period.
x-zyla-api-calls-monthly-remaining: Shows the number of API requests you have remaining for the current billing period.

The 'X-Zyla-RateLimit-Reset' header shows the number of seconds until your rate limit resets. This tells you when your request count will start fresh. For example, if it displays 3,600, it means 3,600 seconds are left until the limit resets.

Yes, you can cancel your subscription at any time. Simply go to the Pricing section of the API you're subscribed to and click the "Unsubscribe" button.

Please note that upgrades, downgrades, and cancellations take effect immediately. Once your subscription is canceled, access to the service will end immediately, regardless of any remaining API calls in your quota.

After 7 days, you will be charged the full amount for the plan you were subscribed to during the trial. Therefore, it's important to cancel before the trial period ends. Refund requests for forgetting to cancel on time are not accepted.
When you subscribe to an API free trial, you can make up to 50 API calls. If you wish to make additional API calls beyond this limit, the API will prompt you to perform an "Start Your Paid Plan." You can find the "Start Your Paid Plan" button in your profile under Subscription -> Choose the API you are subscribed to -> Pricing tab.
You can contact us through our chat channel to receive immediate assistance. We are always online from 8 am to 5 pm (EST). If you reach us after that time, we will get back to you as soon as possible. Additionally, you can contact us via email at [email protected]

Please have a look at our Refund Policy: https://zylalabs.com/terms#refund


Related APIs