API Calendrier Marocain | Jours Fériés & Ouvrables REST + SDK Python Holidays API
National holidays of any year and Religious holidays of past years
National holidays of any year and Religious holidays of past years
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/calendar-api-ma-holidays-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Calendar Holidays API
version: v1
summary: Calendar API for Moroccan Holidays and Open Business Days
description: '## Try Calendar API
This interactive panel allows you to explore the whole API and to understand the different datastructures and parameters
used by every endpoint.'
contact:
name: UNRAVEL DESIGNS
url: https://unraveldesigns.ma
email: ud@unraveldesigns.ma
license:
name: Proprietary
servers:
- url: /
description: Casablanca
security:
- apiKey: []
- sessionCookie: []
tags:
- name: Holidays
description: National holidays of any year and Religious holidays of past years
x-tag-expanded: false
paths:
/api/v1/holidays:
get:
tags:
- Holidays
summary: List Holidays
operationId: ApiV1HolidaysHolidays
parameters:
- name: description
in: query
schema:
oneOf:
- type: string
- type: 'null'
type: string
minLength: 2
title: description
description: 'Case insensitive textual search. Supports wildcards. NB: Accents are respected'
examples:
- null
- trô
- Trava
- Amaz
description: 'Case insensitive textual search. Supports wildcards. NB: Accents are respected'
required: false
deprecated: false
allowEmptyValue: false
allowReserved: false
examples:
description-example-1:
summary: 'null: Disable this filter'
description-example-2:
summary: Search `Fête du trône`
value: trô
description-example-3:
summary: Search `Fête du travail`
value: Trava
description-example-4:
summary: Search `Nouvel An Amazigh`
value: Amaz
- name: holiday_type
in: query
schema:
$ref: '#/components/schemas/CalHolidayType'
description: 'There are Three Types of holidays:
- **Religious**: Include only Religious holidays. i.e: Eid el fitr, ...
- **National**: Include only National holidays. i.e: Fête du travail, Fête du trône, ...
- **Exceptional**: Include only Exceptional holidays.
- **ND::Null**: Disable this filter'
required: false
deprecated: false
allowEmptyValue: false
allowReserved: false
examples:
holiday_type-example-1:
summary: 'null: Disable this filter'
value: ND
- name: day
in: query
schema:
oneOf:
- type: integer
- type: 'null'
type: integer
maximum: 31
minimum: 1
title: day
description: Filter by the Day of the Holiday
examples:
- null
- 1
- 14
description: Filter by the Day of the Holiday
required: false
deprecated: false
allowEmptyValue: false
allowReserved: false
examples:
day-example-1:
summary: 'null: Disable this filter'
day-example-2:
summary: Day = 1
value: 1
day-example-3:
summary: Day = 14
value: 14
- name: month
in: query
schema:
oneOf:
- type: integer
- type: 'null'
type: integer
maximum: 12
minimum: 1
title: month
description: Filter by the Month of the Holiday
examples:
- null
- 1
- 5
description: Filter by the Month of the Holiday
required: false
deprecated: false
allowEmptyValue: false
allowReserved: false
examples:
month-example-1:
summary: 'null: Disable this filter'
month-example-2:
summary: Month = 1
value: 1
month-example-3:
summary: Month = 5
value: 5
responses:
'200':
description: Request fulfilled, document follows
headers: {}
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Holiday'
type: array
'400':
description: Bad request syntax or unsupported method
content:
application/json:
schema:
properties:
status_code:
type: integer
detail:
type: string
extra:
additionalProperties: {}
type:
- 'null'
- object
- array
type: object
required:
- detail
- status_code
description: Validation Exception
examples:
- status_code: 400
detail: Bad Request
extra: {}
deprecated: false
/api/v1/holidays/{year}:
get:
tags:
- Holidays
summary: Holidays of a Year
operationId: ApiV1HolidaysYearHolidaysYear
parameters:
- name: year
in: path
schema:
type: integer
maximum: 9999.0
minimum: 1.0
title: year
description: Year
examples:
- 2025
- 2026
description: Year
required: true
deprecated: false
examples:
year-example-1:
summary: Year 2025
value: 2025
year-example-2:
summary: Year 2026
value: 2026
- name: description
in: query
schema:
oneOf:
- type: string
- type: 'null'
type: string
minLength: 2
title: description
description: 'Case insensitive textual search. Supports wildcards. NB: Accents are respected'
examples:
- null
- trô
- Trava
- Amaz
description: 'Case insensitive textual search. Supports wildcards. NB: Accents are respected'
required: false
deprecated: false
allowEmptyValue: false
allowReserved: false
examples:
description-example-1:
summary: 'null: Disable this filter'
description-example-2:
summary: Search `Fête du trône`
value: trô
description-example-3:
summary: Search `Fête du travail`
value: Trava
description-example-4:
summary: Search `Nouvel An Amazigh`
value: Amaz
- name: day
in: query
schema:
oneOf:
- type: integer
- type: 'null'
type: integer
maximum: 31
minimum: 1
title: day
description: Filter by the Day of the Holiday
examples:
- null
- 1
- 14
description: Filter by the Day of the Holiday
required: false
deprecated: false
allowEmptyValue: false
allowReserved: false
examples:
day-example-1:
summary: 'null: Disable this filter'
day-example-2:
summary: Day = 1
value: 1
day-example-3:
summary: Day = 14
value: 14
- name: month
in: query
schema:
oneOf:
- type: integer
- type: 'null'
type: integer
maximum: 12
minimum: 1
title: month
description: Filter by the Month of the Holiday
examples:
- null
- 1
- 5
description: Filter by the Month of the Holiday
required: false
deprecated: false
allowEmptyValue: false
allowReserved: false
examples:
month-example-1:
summary: 'null: Disable this filter'
month-example-2:
summary: Month = 1
value: 1
month-example-3:
summary: Month = 5
value: 5
- name: holiday_type
in: query
schema:
$ref: '#/components/schemas/CalHolidayType'
description: 'There are Three Types of holidays:
- **Religious**: Include only Religious holidays. i.e: Eid el fitr, ...
- **National**: Include only National holidays. i.e: Fête du travail, Fête du trône, ...
- **Exceptional**: Include only Exceptional holidays.
- **ND::Null**: Disable this filter'
required: false
deprecated: false
allowEmptyValue: false
allowReserved: false
examples:
holiday_type-example-1:
summary: 'null: Disable this filter'
value: ND
responses:
'200':
description: Request fulfilled, document follows
headers: {}
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Holiday'
type: array
'400':
description: Bad request syntax or unsupported method
content:
application/json:
schema:
properties:
status_code:
type: integer
detail:
type: string
extra:
additionalProperties: {}
type:
- 'null'
- object
- array
type: object
required:
- detail
- status_code
description: Validation Exception
examples:
- status_code: 400
detail: Bad Request
extra: {}
deprecated: false
/api/v1/holidays/is-holiday:
get:
tags:
- Holidays
summary: Check if a date is a Holiday
operationId: ApiV1HolidaysIsHolidayIsHoliday
parameters:
- name: date
in: query
schema:
type: string
format: date
title: date
description: Check if this date is a Holiday
examples:
- '2025-07-22'
- '2025-12-02'
- '2026-11-06'
description: Check if this date is a Holiday
required: true
deprecated: false
allowEmptyValue: false
allowReserved: false
examples:
date-example-1:
summary: Date 1
value: '2025-07-22'
date-example-2:
summary: Date 2
value: '2025-12-02'
date-example-3:
summary: Marche Verte
value: '2026-11-06'
responses:
'200':
description: Request fulfilled, document follows
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/IsHoliday'
'400':
description: Bad request syntax or unsupported method
content:
application/json:
schema:
properties:
status_code:
type: integer
detail:
type: string
extra:
additionalProperties: {}
type:
- 'null'
- object
- array
type: object
required:
- detail
- status_code
description: Validation Exception
examples:
- status_code: 400
detail: Bad Request
extra: {}
deprecated: false
components:
schemas:
CalHolidayStatus:
type: string
enum:
- ND
- Estimated
- Official
title: CalHolidayStatus
description: "Represents the status of religious holidays which are based on moon sightings.\n\n At the start of the year, Religious holydays are **Estimated**. When the official moon sighting is confirmed the status is changed to **Official**\n\n NB: The change may **shift the `Estimated` date by ONE DAY**\n\n All other Holiday types are Official by default\n\n Attributes:\n - ND: Not defined for the entity or unknown by us (very unlikely)\n - Official (str): The holiday is validated and thus Official\n - Estimated (str): The holiday is estimated before the moon sighting\n "
IsHoliday:
properties:
date:
type: string
format: date
is_holiday:
type: boolean
description:
type: string
holiday_type:
$ref: '#/components/schemas/CalHolidayType'
status:
$ref: '#/components/schemas/CalHolidayStatus'
country_code:
type: string
type: object
required:
- country_code
- date
- description
- holiday_type
- is_holiday
- status
title: IsHoliday
CalHolidayType:
type: string
enum:
- ND
- Religious
- National
- Exceptional
title: CalHolidayType
description: 'There are Three Types of holidays:
- **Religious**: Include only Religious holidays. i.e: Eid el fitr, ...
- **National**: Include only National holidays. i.e: Fête du travail, Fête du trône, ...
- **Exceptional**: Include only Exceptional holidays.
- **ND::Null**: Disable this filter'
default: ND
examples:
- ND
Holiday:
properties:
description:
type: string
day:
type: integer
month:
type: integer
date:
type: 'null'
holiday_type:
$ref: '#/components/schemas/CalHolidayType'
country_code:
type: string
default: MA
status:
$ref: '#/components/schemas/CalHolidayStatus'
type: object
required:
- description
title: Holiday
securitySchemes:
apiKey:
type: apiKey
description: API Key authentication and authorization.
name: X-API-KEY
in: header
sessionCookie:
type: apiKey
description: Session cookie authentication.
name: session
in: cookie
externalDocs:
url: https://docs.calendar-api.ma
description: Documentation externe de l'API