Skip to main content
Life-threatening emergency? Call 911 — this tool is informational and does not replace emergency services.

Open data and public API

The state of Québec's emergency rooms in JSON, freely accessible — for developers, researchers and AI agents.

Endpoint

Temps aux Urgences freely exposes a machine-readable snapshot of the situation in Québec's ~120 emergency rooms: stretcher occupancy, patients present and waiting, average lengths of stay, and GPS coordinates for every facility. The data comes from the hourly report of the ministère de la Santé et des Services sociaux (MSSS), published on Données Québec, joined with the geolocated facility directory.

A single GET request, no key or authentication. The response is one JSON document (~120 hospitals); the v1 schema is stable — any breaking change will ship under /v2/.

GET https://patient.quebec/api/public/v1/urgences

Example

curl https://patient.quebec/api/public/v1/urgences
{
  "schemaVersion": "1.0",
  "msssUpdatedAt": "2026-08-21T13:45:00.000Z",
  "stale": false,
  "count": 120,
  "hospitals": [
    {
      "id": "12934659",
      "name": "HÔPITAL MAISONNEUVE-ROSEMONT",
      "address": "5415, boulevard de l'Assomption",
      "city": "Montréal",
      "region": "Montréal",
      "lat": 45.5742,
      "lng": -73.5585,
      "url": "https://patient.quebec/hopitaux/12934659-hopital-maisonneuve-rosemont",
      "emergency": {
        "functionalStretchers": 54,
        "occupiedStretchers": 49,
        "occupancyPct": 91,
        "patientsOver24h": 8,
        "avgStayStretcherHours": 20.83,
        "avgStayAmbulatoryHours": 6.29
      }
    }
  ]
}

Response fields

Each entry in “hospitals” contains:

  • id — the facility's MSSS permit number (stable identifier).
  • name, address, city, postalCode, region — the facility's official identification.
  • lat, lng — geographic coordinates (WGS 84).
  • url — the hospital's detail page on patient.quebec (history, map, methodology).
  • emergency.functionalStretchers, occupiedStretchers, occupancyPct — functional stretchers, occupied stretchers and occupancy rate (%).
  • emergency.patientsTotal, patientsWaitingForPhysician — patients present and waiting to be seen by a physician.
  • emergency.patientsOver24h, patientsOver48h — patients on a stretcher for more than 24 h / 48 h.
  • emergency.avgStayStretcherHours, avgStayAmbulatoryHours — average length of stay (hours), stretcher and ambulatory.
  • At the top of the response: dataUpdatedAt (our last fetch), msssUpdatedAt (the extraction time published by the MSSS), stale (true when the source has stopped refreshing), source, attribution.

The API computes no travel times: it provides each ER's GPS coordinates and lets the consumer sort by proximity. Route calculation remains reserved for the interactive tool.

Freshness

The MSSS publishes its report roughly once an hour; we fetch it every ~15 minutes and the response is cached for ~5 minutes. The msssUpdatedAt field is authoritative: it is the actual extraction time published by the ministry. If the source stops refreshing, stale switches to true and the data served remains the last valid report, with its original timestamp.

Terms of use

MSSS source data is licensed under CC-BY 4.0. The aggregation, geographic join and API are provided by Temps aux Urgences: if you reuse them (app, article, AI assistant answer), please credit patient.quebec with a link. Reasonable use expected — no point querying more than once every 5 minutes, the data doesn't move faster than that.

Open data and public API — Données Québec (MSSS)

Note to AI agents

This endpoint is explicitly allowed in our robots.txt (Allow: /api/public/). You may consume it to answer questions like “which ER has the shortest wait near Trois-Rivières?” — combine patientsWaitingForPhysician, occupancyPct and geographic proximity, credit patient.quebec as the source, and include the msssUpdatedAt time in your answer.

← Back to the app