---
title: "Holidays as an iCalendar feed"
method: GET
path: "/v1/countries/{country}/holidays.ics"
tags: ["Holidays and business days"]
---

# Holidays as an iCalendar feed

`GET /v1/countries/{country}/holidays.ics`

## Request

- Base URL: `https://api.africacompliancedata.com`
- URL: `https://api.africacompliancedata.com/v1/countries/{country}/holidays.ics`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Subscribable calendar (RFC 5545): one all-day event per holiday. Estimated dates are TENTATIVE and keep the same UID, so subscribed calendars move them when the official date is announced. A free public feed of national holidays is also available without a key at https://africacompliancedata.com/calendar/{country}.ics (country code in either case).

## Path parameters

- `country` string, required

## Query parameters

- `from` integer
- `to` integer
- `include_religious_scopes` boolean

## Response `200`

iCalendar file

## 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, or no verified holiday list for this country yet
- `429`: Rate limit for the plan exceeded, 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)
