canonical: https://jentic.com/apis/canada-holidays.ca/canada-holidays

# Canada Holidays Ca Canada Holidays API

The Canada Holidays API exposes all 31 public holidays observed across Canada's 13 provinces and territories, including federal holidays. Six GET endpoints return the full holiday list, single holidays by ID, every province with its observed holidays, and a province by abbreviation. The API requires no authentication and is well suited for scheduling, payroll, and HR-tooling agents that need authoritative Canadian holiday dates.

## For AI agents

Look up the 31 Canadian public holidays across all 13 provinces and territories with a free, unauthenticated REST API.

## Scope

Does not handle US holidays, religious observance dates, business-day calculations, or time-zone conversions - use for Canadian federal and provincial public-holiday lookups only.

## Capabilities

- List every Canadian public holiday for the current or a specified year via `/api/v1/holidays`
- Retrieve a single holiday by numeric ID via `/api/v1/holidays/{holidayId}`
- List the 13 provinces and territories with their observed holidays via `/api/v1/provinces`
- Look up a province or territory by two-letter abbreviation via `/api/v1/provinces/{provinceId}`
- Determine whether a given date falls on a federal or provincial holiday for scheduling logic
- Fetch the JSON schema describing the API response shapes via `/api/v1/spec`

## Use cases

### Payroll Scheduling for Canadian Employers

Payroll systems need to advance pay dates that fall on statutory holidays and to apply holiday-pay multipliers. The `/api/v1/provinces/{provinceId}` endpoint returns the holidays observed in a specific province, letting payroll software flag affected days at the right jurisdiction without maintaining a static holiday table.

Example prompt: GET `/api/v1/provinces/ON` to retrieve Ontario's observed holidays for the current year and shift any pay date matching a holiday to the previous business day.

### HR and Booking Calendar Integration

HR portals and booking systems display Canadian holidays so employees and customers can plan time off and appointments. `/api/v1/holidays` returns every observed holiday with its date and observing provinces, ready to render directly in a calendar UI.

Example prompt: GET `/api/v1/holidays` for the next 12 months and render each entry as a calendar event with the federal flag and observing provinces.

### Compliance Date Validation for Contracts

Legal and compliance workflows must avoid scheduling deadlines on statutory holidays. The `/api/v1/holidays` endpoint paired with the federal flag in each holiday entry lets a compliance bot check whether a proposed deadline falls on a holiday before sending the document.

Example prompt: GET `/api/v1/holidays` for the contract's year, scan for the proposed deadline date, and warn if it matches a federal or provincial holiday.

### AI Agent Scheduling Workflows via Jentic

Through Jentic, an agent searches for 'list Canadian public holidays', loads the input schema for `/api/v1/holidays`, and executes the call. Because the API is unauthenticated, Jentic exposes it directly; an agent gains the same intent-based discovery as authenticated APIs without holding any credential.

Example prompt: Use the Jentic SDK to search 'list Canadian public holidays', load the `/api/v1/holidays` operation schema, and execute it with year=2026 to return all observed dates.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/v1/holidays` | List all Canadian public holidays |
| GET | `/api/v1/holidays/{holidayId}` | Retrieve a single holiday by ID |
| GET | `/api/v1/provinces` | List all provinces and their observed holidays |
| GET | `/api/v1/provinces/{provinceId}` | Retrieve a province by two-letter abbreviation |

## Key resources

- **Holidays** — List all holidays or retrieve a single holiday by ID
- **Provinces** — List all provinces and territories or retrieve one by abbreviation
- **Info** — Root endpoint and JSON schema describing the API responses

## Why Jentic

- **Setup:** Wiring the Canada Holidays API by hand still means reading its holiday and province routes and shaping requests yourself, even though it needs no auth. Through Jentic you install once, import Canada Holidays from the API Directory, and your agent calls it with no credential to manage.
- **Permission scoping:** This API is a read-only public holiday lookup, so scope the agent to the operations it needs, such as listing holidays and provinces. You choose the operations it may call, so it stays limited to the read routes you enable.
- **Credential handling:** The Canada Holidays API needs no authentication, so there is no credential for your Jentic One instance to store or inject at execution time. Nothing secret enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list Canadian federal holidays' or 'get holidays for a province', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Nager.Date Public Holidays API** — Nager.Date covers public holidays in 100+ countries, where the Canada Holidays API focuses solely on Canada with provincial-level detail.
- **Abstract Public Holidays API** — Abstract offers a paid global holidays API behind an API key, where the Canada Holidays API is free and Canada-specific.
- **Google Calendar API** — Google Calendar manages user calendars and events, where Canada Holidays supplies the statutory holiday data to layer onto those calendars.

## FAQ

### What authentication does the Canada Holidays API use?

The API is fully unauthenticated. No API key, OAuth token, or basic credential is required. Through Jentic, the operation can be executed directly with no vault credential attached, which makes it a useful starter API for testing the search-load-execute flow.

### Can I look up holidays for a specific province?

Yes. Call GET `/api/v1/provinces/{provinceId}` with the two-letter abbreviation (for example, ON, QC, BC) to retrieve that province's observed holidays. `/api/v1/provinces` returns the full list of provinces with their holidays in one response.

### How many holidays does the API cover?

It covers all 31 public holidays observed across Canada's 13 provinces and territories, including federal holidays. Each holiday entry indicates whether it is federal and which provinces observe it.

### How do I check whether a date is a Canadian holiday through Jentic?

Use the Jentic SDK to search 'check Canadian holiday'. Jentic returns the GET `/api/v1/holidays` operation. Execute it for the relevant year, then in the agent compare the target date to each returned holiday's date and observing provinces.

### Are there rate limits on the Canada Holidays API?

The OpenAPI specification does not document rate limits. The service is run as a free public utility, so be courteous with request volume and cache responses on your side. Holiday data only changes once a year per province.

### Is the Canada Holidays API free?

Yes. The API is offered free of charge with no API key required. The maintainer accepts donations on canada-holidays.ca but there is no paid tier.

### Can I limit what my agent is allowed to do with the Canada Holidays API?

Yes. Because you run Jentic One yourself, your own rules decide which operations the agent may call, so you can restrict it to just the read routes it needs, such as GET `/api/v1/holidays` to list holidays or GET `/api/v1/provinces/{provinceId}` to look up a single province. This API is a read-only public holiday lookup with no write access, and you enable only the specific operations you approve, leaving everything else out of reach. Since the API needs no authentication, there are no credentials for your instance to store or inject, so scoping comes down entirely to which of the six read operations you allow.
