FinancePopular

Public Holidays API

Comprehensive GCC public holiday data for 6 countries across 4 years (2024–2027). Supports listing, date checking, next-holiday queries, and filtering by type and month. Covers public, Islamic, and national holidays.

Endpoint:/api/v1/holidays
Method:GET
Latency:~5ms

Try it out

GET/api/v1/holidays

Parameters

Code

curl
curl -X GET "https://khaleejiapi.dev/api/v1/holidays?country=AE&year=2025" \
-H "Authorization: Bearer your_api_key"

Parameters

ParameterTypeRequiredDescription
countrystringOptionalGCC country code (AE, SA, KW, BH, OM, QA)
yearnumberOptionalYear to list holidays for (2024–2027)
typestringOptionalFilter by type: public, islamic, national
monthnumberOptionalFilter by month (1–12)
datestringOptionalCheck if a specific date (YYYY-MM-DD or 'today') is a holiday
modestringOptionalSpecial modes: 'next' (upcoming holiday) or 'check' (date check)

Query Modes

Standard Listing (default)

Returns all holidays for the specified country and year. Supports filtering by type and month. Includes total counts, next upcoming holiday, and available years.

mode=next

Returns the next upcoming holiday for the country, including days until the holiday and whether it's currently ongoing.

mode=check / date=YYYY-MM-DD

Check if a specific date is a holiday, weekend, or day off. Use date=today for the current date.

Supported Countries

CountryCodeWeekend
UAEAESat–Sun
Saudi ArabiaSAFri–Sat
KuwaitKWFri–Sat
BahrainBHFri–Sat
OmanOMFri–Sat
QatarQAFri–Sat

Rate Limits

PlanRequests/MonthRate Limit
Free1,00010 req/min
Starter10,00060 req/min
Professional100,000300 req/min
Business500,0001,000 req/min

Debugging & Support

Include X-Request-ID when contacting support

Every response from KhaleejiAPI includes an X-Request-ID header — a unique identifier that lets our support team pull the exact log entry for your request within seconds. Always share it when reporting an unexpected error or unexpected result.

How to capture it

JavaScript / fetch

const res = await fetch("https://khaleejiapi.dev/api/v1/...", {
  headers: { Authorization: "******" },
});
const requestId = res.headers.get("x-request-id");
console.log("Request ID:", requestId);
// → e.g. "req_01j9xkz4vp8..."

cURL

curl -si "https://khaleejiapi.dev/api/v1/..." \
  -H "Authorization: ******" | grep -i x-request-id
# → x-request-id: req_01j9xkz4vp8...

Browser DevTools

Open DevTools (F12) → Network tab → click the failing request → scroll to the Response Headers section → copy the value next to x-request-id.

For a full list of error codes and guidance on common issues, see the Troubleshooting guide.