Passer au contenu principal
whatweek.ca

Voyez en direct quelle semaine de l’année nous sommes au Canada, avec le numéro de semaine actuel et les dates de début et de fin de la semaine.

API jours fériés Canada — JSON

API publique, gratuite et sans clé : jours fériés fédéraux et provinciaux, longs week-ends, et numéro de semaine ISO. Compatible CORS, données mises en cache.

GET /api/holidays.json

Retourne les jours fériés pour une année et une province.

Paramètres de requête

NomTypeDescription
yearintegerAnnée (1900–2100). Par défaut : année courante.
provincestringCode province (ON, QC, BC, AB, ...). Si omis, jours fériés fédéraux.
longWeekends0 | 1Si « 1 », inclut la liste des longs week-ends.

Codes de province acceptés

Exemples cURL

curl https://whatweek.ca/api/holidays.json?year=2026&province=on
curl "https://whatweek.ca/api/holidays.json?year=2026&province=qc&longWeekends=1"

Réponse type

{
  "year": 2026,
  "province": { "code": "CA-ON", "nameEn": "Ontario", "nameFr": "Ontario" },
  "count": 13,
  "holidays": [
    {
      "date": "2026-01-01",
      "nameEn": "New Year's Day",
      "nameFr": "Jour de l'An",
      "global": true,
      "counties": null,
      "isoWeek": 1
    }
  ],
  "source": {
    "site": "https://whatweek.ca",
    "data": "https://date.nager.at",
    "docs": "https://whatweek.ca/en/api-docs"
  }
}

GET /api/week.json

Renvoie le numéro de semaine actuel (ISO et Canada), les dates de la semaine, le jour de l'année, les jours fériés de la semaine et le prochain long week-end.

Paramètres de requête

NomDescription
provinceCode province (optionnel)
dateDate YYYY-MM-DD (par défaut : aujourd'hui)
localeen | fr
curl "https://whatweek.ca/api/week.json?province=bc&locale=en"

GET /api/holidays.ics

Calendrier ICS prêt à importer dans Google, Apple, Outlook.

curl "https://whatweek.ca/api/holidays.ics?year=2026&province=ab" -o holidays-2026-AB.ics

Mise en cache & quotas

Les réponses sont mises en cache au niveau Vercel pour 24 heures (s-maxage=86400) avec stale-while-revalidate. Côté client, 1 heure (max-age=3600). Cela suffit pour la plupart des intégrations.

Limites par défaut : 60 req/min/IP en anonyme, 600+/min avec une clé partenaire. Les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset et X-RateLimit-Bucket sont retournés sur chaque réponse.

Demander une clé partenaire →

Questions fréquentes

L'API est-elle gratuite ?

Oui — l'API est ouverte, sans clé pour un usage léger (60 req/min/IP), et CORS-permissive. Les partenaires à fort volume peuvent demander une clé gratuite.

Quelle est la limite de débit ?

60 requêtes par minute par IP en mode anonyme; 600+/min avec une clé partenaire. Les en-têtes X-RateLimit-* indiquent l'utilisation. Voir /api-keys pour demander une clé.

D'où viennent les données ?

L'API publique Nager.Date est la source primaire. Une retombée fédérale est utilisée si Nager.Date n'est pas disponible.

Puis-je mettre les données en cache ?

Oui, recommandé. La payload est immuable une fois l'année en cours commencée. Cache-Control conseille 1h navigateur, 24h CDN.