Feeds & API
Everything Has Things knows about Kitchener-Waterloo is available as an open feed, covering the next 60 days. No key, no sign-up, CORS enabled. If you build something with these, we would rather you did than not.
City feeds
- /feeds/events.ics · subscribe in any calendar app
- /feeds/events.json · structured JSON, same shape as the API
- /feeds/events.rss · RSS 2.0
- /feeds/events.csv · one row per showtime, for spreadsheets
Every city site publishes the same four feeds, so montreal.hasthings.com/feeds/events.csv is Montréal's. City pages announce them with <link rel="alternate">, so feed readers and calendar apps can find them from the page address.
API
- /api/events · tonight by default; paginated; carries the forecast
- /api/venues · every active venue
/api/events/<slug>· one event with every showtime/api/venues/<slug>· one venue/api/venues/<slug>/events· upcoming at one venue
Parameters for /api/events
- night
YYYY-MM-DD— one night. Nights run to 5 AM, so a 1 AM show belongs to the evening before.- date
YYYY-MM-DD— one calendar date, midnight to midnight, America/Toronto.- from, to
- ISO 8601 instants. Use one time selector at a time.
- category
musicfilmcomedydj-partytheatrearttalkother. One name or a comma-separated set (category=music,comedy);otherstands for every kind without a filter of its own.- venue, neighbourhood
- Venue slug; neighbourhood display name.
- tag
- Tag slug — a genre, a series, or a provider such as
rickshaw-theatre. Items carry their tags. - size, minImportance, bands
notable(importance 20 and up: club and theatre nights) orbig(40 and up: arenas, festivals, sold-out shows); or a number 0–100. Importance is computed from the room's size, how many independent sources list the event, and whether it sold out — never from taste.- status
scheduledsold-outpostponedcancelled- sort, dir
timetitlevenueneighbourhoodcategoryagestatusimportance;ascordesc.- limit, offset
- Default 100, maximum 500. The envelope carries
totalandnextOffset.
The API is scoped by hostname. There is no ?city= parameter, because kitchener-waterloo.hasthings.com already says which city you mean. Unknown or malformed parameters return a 400 with a reason.
Limits and caching
Responses are cached at the edge: feeds for 15 minutes, API answers for 5 minutes, and both may be served stale for a while after that. Polling more often than that gets you the same bytes. There is no rate limit today beyond that cache; if a client makes the site slow for people, that client gets blocked, so identify yourself with a User-Agent that says who you are.
Licence and attribution
The listing metadata in these feeds — titles, times, venues, categories, tags and links — is published under CC BY 4.0. Use it, reshape it, republish it; credit it as “Data: Has Things (hasthings.com)” and, where you can, keep the link to the venue or seller each row carries. Every JSON envelope repeats this in a license block and every item names its sources.
The forecast is not ours and travels under its own terms. /api/events, /api/events/<slug> and /feeds/events.json all carry a weather block beside the events — the whole city's nights on the list endpoints, and just the nights one event runs on when you ask for that event — with a source naming Open-Meteo and its CC BY 4.0 terms. Join it to events on nightDate; the outdoors field is what says whether the weather bears on one, and it sits on each occurrence rather than on the event, because a run can be in one room on Friday and another on Saturday. Keep the attribution “Weather data by Open-Meteo.com” with anything you publish from it.
What the bulk feeds deliberately leave out: descriptions, posters and images. Those belong to the venues and ticketing platforms that wrote them, and their terms do not allow us to hand them on in bulk. The single-event API endpoint mirrors the event page, description included, for display only. Has Things is a directory of pointers, not a copy of anyone's catalogue; if you need the full listing, follow the link.
Venue calendars
- AOK Craft Beer + Arcade · 1 upcoming
- Alba Shisha Restaurant and Lounge · 1 upcoming
- Alpine Club · 1 upcoming
- Aura Nightclub · 1 upcoming
- Bingemans · 1 upcoming
- Boathouse DTK · 1 upcoming
- CONRAD CENTRE FOR THE PERFORMING ARTS · 1 upcoming
- Centre in The Square · 70 upcoming
- Concordia Club · 1 upcoming
- Crown Bar & Social · 1 upcoming
- Dallas Night Club · 6 upcoming
- Dickson Park · 3 upcoming
- Emmanuel United Church · 3 upcoming
- Empire Nightclub · 1 upcoming
- Farm League Brewing · 3 upcoming
- First United Church · 1 upcoming
- Homewood Suites by Hilton Waterloo/St. Jacobs, Ontario, Canada · 1 upcoming
- Indulgence Studio · 1 upcoming
- KWFamous Creative Café · 1 upcoming
- Kitchener Public Library · 2 upcoming
- Kitchener-Waterloo Art Gallery · 2 upcoming
- Kitchener-Waterloo Little Theatre · 1 upcoming
- Kitchener-Waterloo Multicultural Centre · 1 upcoming
- Landmark Cinemas Waterloo · 1 upcoming
- Maureen Forrester Hall | Wilfrid Laurier University · 2 upcoming
- Maureen Forrester Recital Hall · 8 upcoming
- Maxwell's Concerts & Events · 25 upcoming
- Medusa Shisha Bar and Lounge · 1 upcoming
- Midnight Run Cafe · 1 upcoming
- Mortys Pub · 1 upcoming
- Princess Twin Cinemas · 1 upcoming
- Revive - Blue Room · 1 upcoming
- Revive Karaoke · 3 upcoming
- Room 47 · 2 upcoming
- Savvas Chamberlain Music Building · 1 upcoming
- Schneider Haus · 2 upcoming
- Sleeman Centre · 1 upcoming
- Sonic Hall · 2 upcoming
- THEMUSEUM · 1 upcoming
- TWB Brewing · 1 upcoming
- TWH Social · 12 upcoming
- Tamasha: Bar + Indian Kitchen · 1 upcoming
- The Break Room · 1 upcoming
- The Jazz Room · 3 upcoming
- The Prohibition Warehouse · 1 upcoming
- The Rabbid Fox · 1 upcoming
- The Registry Theatre · 40 upcoming
- Theatre Auditorium · 2 upcoming
- University of Waterloo School of Pharmacy · 1 upcoming
- Visitor Information Centre · 1 upcoming
- Waterloo · 1 upcoming
- Whoopsie Daisy Drinks · 2 upcoming