Feeds & API
Everything Has Things knows about Kingston 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 kingston.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
- 1257 Midland Avenue · 1 upcoming
- Broom Factory · 8 upcoming
- Chalmers United Church · 1 upcoming
- Cineplex Odeon Gardiners Road · 16 upcoming
- Daft Brewing · 1 upcoming
- Isabel Bader Centre for the Performing Arts · 10 upcoming
- Italo Canadian Club · 1 upcoming
- Jack's Kingston · 1 upcoming
- Kingston Frontenac Public Library - Central Branch · 1 upcoming
- Kingston Grand Theatre · 62 upcoming
- Kingston Marriott · 3 upcoming
- Kingston Marriott - Easton Room · 2 upcoming
- Kingston Marriott - Limestone City Ballroom C · 21 upcoming
- Kingston Marriott - Rideau Room · 10 upcoming
- LaVida Bistrobar & Social · 1 upcoming
- Landmark Cinemas Kingston · 20 upcoming
- Musiikki Café & Whiskey Bar · 1 upcoming
- Overtime Sports Bar · 1 upcoming
- Overtime Sports Bar And Grill · 2 upcoming
- Portuguese Cultural Centre of Kingston · 1 upcoming
- Poutine Feast Ontario · 1 upcoming
- Royal Canadian Legion Branch 560 · 2 upcoming
- Slush Puppie Place · 24 upcoming
- Something in the Water · 1 upcoming
- Something in the Water Brewing Co. · 3 upcoming
- The Ale House · 3 upcoming
- The Buckle · 1 upcoming
- The Grizzly Grill · 1 upcoming
- The Merchant Tap House · 2 upcoming
- The RCHA Club · 4 upcoming
- The Screening Room · 2 upcoming
- The Spire · 7 upcoming
- University Tavern · 1 upcoming