Montréal Théâtre

Some shows, some venues, one calendar.

Venue
Status
Downloads an .ics file for the venues selected above.

API Documentation

Free, public, no API key required. Data is scraped directly from each venue's own website.

https://eventcalendarmtl.com
GET /api/v1/shows

Returns all shows currently in the database.

Query parameters (both optional):
  • venue — filter by venue name. Partial, case-insensitive match (e.g. ?venue=espace matches both Espace Go and Espace Libre).
  • status — filter by upcoming, ongoing, or ended.
GET /api/v1/shows?venue=TNM&status=upcoming { "count": 3, "shows": [ { "venue": "TNM", "title": "L'Orestie", "dates": { "start": "2026-09-22", "end": "2026-10-25" }, "url": "https://tnm.qc.ca/2026-2027/lorestie", "status": "upcoming" } ] }
GET /api/v1/shows/:id

Returns a single show by its database ID. IDs are not predictable — get one from the _id field returned by /api/v1/shows first, then use it here.

// Step 1 — get an _id from the list endpoint GET /api/v1/shows?venue=TNM { "shows": [ { "_id": "670a1b2c3d4e5f6a7b8c9d0e", "title": "L'Orestie", ... } ] } // Step 2 — use that _id here GET /api/v1/shows/670a1b2c3d4e5f6a7b8c9d0e { "venue": "TNM", "title": "L'Orestie", "dates": { "start": "2026-09-22", "end": "2026-10-25" }, "url": "https://tnm.qc.ca/2026-2027/lorestie", "status": "upcoming" }
GET /api/v1/calendar

Returns an .ics calendar file, subscribable in Google Calendar, Apple Calendar, or Outlook.

Query parameters (optional):
  • venue — repeatable, to include multiple venues (e.g. ?venue=TNM&venue=Centaur). Omit entirely to include every venue.
GET /api/v1/calendar?venue=TNM&venue=Centaur → downloads montreal-theatre.ics