---
title: "Announced and moon-sighted holidays across countries, estimated or confirmed"
method: GET
path: "/v1/holidays/watch"
tags: ["Holidays and business days"]
---

# Announced and moon-sighted holidays across countries, estimated or confirmed

`GET /v1/holidays/watch`

## Request

- Base URL: `https://api.africacompliancedata.com`
- URL: `https://api.africacompliancedata.com/v1/holidays/watch`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Holidays whose date depends on an announcement (Eid, Mawlid and other moon-sighted holidays, ad-hoc days off) from 7 days ago to `days` ahead, with status estimated (not announced yet; also weekend substitutes of estimated dates) or confirmed (with the official source). Countries without a verified holiday list are skipped. Shares the per-key limit of 5 requests per minute with full country profiles (429).

## Query parameters

- `days` integer
- `countries` string

## Response `200`

Holiday watch

- object
  - `from` string, date
  - `to` string, date
  - `generated` string, date: Date (UTC) the answer was computed
  - `dataset_version` string
  - `pending` integer: Upcoming holidays still estimated
  - `holidays` object[]
    - `country` string
    - `country_name` string
    - `date` string, date
    - `name` string
    - `rule_id` string, nullable
    - `kind` 'moon_sighted' | 'announced'
    - `status` 'estimated' | 'confirmed'
    - `scope` string
    - `source_url` string, nullable
    - `source_note` string: When the official notice is not online, or the date is known from a press report of it
    - `past` boolean
  - `announcements` object: Per country in the list: who announces the dates
  - `notes` string[]
  - `disclaimer` string

## Other responses

- `400`: Missing or invalid parameter
- `401`: Missing or invalid API key
- `403`: Key paused for review after unusual bulk access ('Access paused')
- `404`: Unknown country, path or webhook id
- `429`: Plan rate limit exceeded, or the shared limit of 5 requests per minute for full country profiles and the holiday watch, or key checks busy (many new keys from your network); see Retry-After
- `503`: Key check temporarily unavailable, or webhook storage unavailable (webhook endpoints); retry after Retry-After seconds

---

[API](https://skmtc.dev/africacompliancedata/apis/africa-compliance-data-api.md) · [All operations](https://skmtc.dev/africacompliancedata/apis/africa-compliance-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/africacompliancedata/apis/africa-compliance-data-api/revisions/cb17c8aafda8?raw)
