Curiocity
Curiocity's own city 'things to do' feeds, parsed into individual events — title, when, time, where, cost and a click-through link — instead of the raw…
Curiocity's own city 'things to do' feeds, parsed into individual events — title, when, time, where, cost and a click-through link — instead of the raw RSS/HTML a caller would otherwise have to regex apart.
Domain: curiocity.com
Also known as: Curiocity, curiocity, curiocity.com
Call it directly
bowmark.providers.curiocity.listEvents(query: CuriocityListEventsQuery): Promise<CuriocityEvent[]>Functions
| Function | What it does |
|---|---|
listEvents | Reads curiocity.com's own 'things to do' feed for one city and returns individual events — title, when, time, where, cost and a click-through link — parsed out of the site's roundup posts… |
Types
interface CuriocityEvent {
title: string; // "Slayyyter – WOR$T GIRL IN THE WORLD TOUR"
url: string; // click-through — the event's own link, or the article's
when: string | null; // "Thursday, Sept. 3, 2026" — free text, as curiocity writes it
time: string | null; // "7 p.m."
where: string | null; // "868 Granville St."
cost: string | null; // "$650+"
articleTitle: string; // the roundup (or single-event) post this came from
articleUrl: string;
publishedAt: string | null; // the article's own pubDate
}
interface CuriocityListEventsQuery {
city: string; // curiocity's own city slug, e.g. "vancouver", "toronto"
}Examples
// What's on in Vancouver this week?
const events = await bowmark.providers.curiocity.listEvents({ city: "vancouver" });
return events.map((e) => ({ title: e.title, when: e.when, where: e.where }));// Free events in Toronto right now
const events = await bowmark.providers.curiocity.listEvents({ city: "toronto" });
return events.filter((e) => (e.cost ?? "").toLowerCase().includes("free"));