Discover/YOHOMO API
live

YOHOMO APIyohomo.ca

Access YOHOMO's curated list of upcoming Toronto LGBTQ2+ events. Filter by category, search by text, and fetch full event details including venue, price, and tickets.

Endpoint health
verified 2h ago
list_events
get_event
2/2 passing latest checkself-healing
Endpoints
2
Updated
2h ago

What is the YOHOMO API?

The YOHOMO API exposes 2 endpoints that surface the full curated feed of upcoming Toronto LGBTQ2+ events as published on yohomo.ca. The list_events endpoint returns paginated event summaries — including event ID, category, title, and venue — across both one-off events and long-running events such as exhibitions and recurring classes. The get_event endpoint delivers per-event detail including description, times, address, price label, and external ticketing or social links.

This call costs1 credit / call— charged only on success
Try it
1-based page number over the filtered result list.
Free-text search matched as a substring of the event title or venue name. Omitted = no text filter.
Event category filter (case-insensitive). Omitted = all categories.
Events per page; values above 100 are clamped to 100.
api.parse.bot/scraper/dee5e3ea-936a-4a8b-a31c-b1f5e81f9921/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/dee5e3ea-936a-4a8b-a31c-b1f5e81f9921/list_events?query=519' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace yohomo-ca-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: browse Toronto queer events, filter by category, and drill into details."""
from parse_apis.yohomo_ca_api import Yohomo, Category, EventNotFound

client = Yohomo()

# List upcoming culture events, capped at 5 total items.
for ev in client.event_summaries.list(category=Category.CULTURE, limit=5):
    print(ev.title, "|", ev.start_date, "-", ev.end_date, "|", ev.price)

# Search by text and drill into the first match's full detail page.
hit = client.event_summaries.list(query="yoga", limit=1).first()
if hit is not None:
    detail = hit.details()
    print(detail.title)
    print(detail.start_date_label, "—", detail.end_date_label)
    print(detail.description[:120])
    if detail.socials_url is not None:
        print("Social:", detail.socials_url)

# Point lookup by an id discovered from the listing above.
if hit is not None:
    try:
        event = client.events.get(event_id=hit.event_id)
        print(event.title, "|", event.location_name, "|", event.price)
    except EventNotFound:
        print("Event no longer available")

print("exercised: event_summaries.list / details / events.get")
All endpoints · 2 totalmissing one? ·

Returns the full curated list of upcoming Toronto LGBTQ2+ events (one row per event, both one-off events and long-running events such as exhibitions or recurring classes), sorted by start date ascending. The whole list is fetched in one round trip and then optionally narrowed by category (exact match on the site's Party / Drag / Culture tags) and by a free-text query matched case-insensitively as a substring of the event title or venue name, mirroring the site's own search box. Results are paged locally with page and page_size (default page 1, 50 per page, max 100); total is the count of events matching the filters across all pages and has_more tells whether a further page exists. A filter matching nothing returns an empty events array with total 0. One-off events carry start_time/end_time and a single-day start_date = end_date; long_running events carry a start_date/end_date range and null times (the end year is inferred from the start year, rolling into the next year when the end month precedes the start month). Dates are ISO YYYY-MM-DD in Toronto local terms; price is the site's free-text price label.

Input
ParamTypeDescription
pageinteger1-based page number over the filtered result list.
querystringFree-text search matched as a substring of the event title or venue name. Omitted = no text filter.
categorystringEvent category filter (case-insensitive). Omitted = all categories.
page_sizeintegerEvents per page; values above 100 are clamped to 100.
Response
{
  "type": "object",
  "fields": {
    "page": "integer page returned",
    "total": "integer count of events matching the filters across all pages",
    "events": "array of event summaries; event_id (string, e.g. event/<slug> or events-long/<slug>) is the key accepted by get_event; category is one of Party, Drag, Culture; long_running boolean; start_date/end_date ISO dates; start_time/end_time 12-hour clock labels or null for long-running events; sold_out boolean; price free-text label",
    "has_more": "boolean, true when a further page exists",
    "page_size": "integer effective page size"
  },
  "sample": {
    "data": {
      "page": 1,
      "total": 93,
      "events": [
        {
          "url": "https://www.yohomo.ca/event/shrek-lesque-drag-bingo-brunch-granite-brewery",
          "price": "$18.48 +",
          "title": "Shrek-Lesque Drag Bingo Brunch @ Granite Brewery",
          "address": "245 Eglinton Avenue East",
          "category": "Drag",
          "end_date": "2026-09-13",
          "end_time": "3:00 pm",
          "event_id": "event/shrek-lesque-drag-bingo-brunch-granite-brewery",
          "sold_out": false,
          "image_url": "https://cdn.prod.website-files.com/63ced8a399e3774611313bd8/6a9b0e8d1a22b428dcf3bb7e_oklplll.webp",
          "start_date": "2026-09-13",
          "start_time": "12:05 pm",
          "description": "Get ready for a wild drag bingo brunch with all the Shrek vibes and burlesque twist you didn't know you needed!",
          "long_running": false,
          "location_name": "Granite Brewery"
        },
        {
          "url": "https://www.yohomo.ca/events-long/2slgbtq-community-yoga-2",
          "price": "Free, Register on first day only",
          "title": "2SLGBTQ+ Community Yoga",
          "address": "519 Church Street",
          "category": "Culture",
          "end_date": "2026-12-15",
          "end_time": null,
          "event_id": "events-long/2slgbtq-community-yoga-2",
          "sold_out": false,
          "image_url": "https://cdn.prod.website-files.com/63ced8a399e3774611313bd8/6a73795db11a296cc953940e_742154339_18599160469047773_2896728611443530963_n.jpg",
          "start_date": "2026-07-14",
          "start_time": null,
          "description": "2SLGBTQ+ Community Yoga summer and winter cohorts will run from July 14 to December 15.",
          "long_running": true,
          "location_name": "The 519 Community Centre"
        }
      ],
      "has_more": true,
      "page_size": 50
    },
    "status": "success"
  }
}

About the YOHOMO API

Event List and Filtering

The list_events endpoint returns all upcoming events in a single sorted fetch, ordered by start date ascending. You can narrow results using three optional filters: query matches substrings against event title or venue name; category filters by event category (case-insensitive); and page / page_size handle pagination. The page_size parameter is clamped to a maximum of 100. Each call returns total (count of matched events across all pages), has_more (boolean), and an events array of summaries. The event_id field in each summary — formatted as event/<slug> or events-long/<slug> — is what you pass into get_event.

Per-Event Detail

The get_event endpoint accepts a single required parameter, event_id, exactly as it appears in list_events results. It returns the full event record: title, description (plain text), start_date_label, price (free-text label), tickets_url, and socials_url (both nullable). The long_running boolean distinguishes event types: when true, end_date_label and time_note are populated and start_time / end_time are null; when false, start_time and end_time appear in 12-hour format and time_note is null.

Coverage and Scope

Coverage is specific to Toronto and reflects YOHOMO's editorial curation — the events listed are chosen by the YOHOMO team, not algorithmically aggregated from all sources. Both repeating/long-running events (e.g. gallery exhibitions, weekly classes) and discrete one-off events are included and are distinguished by the events-long/<slug> vs event/<slug> ID prefix, as well as the long_running field on each detail record.

Reliability & maintenanceVerified

The YOHOMO API is a managed, monitored endpoint for yohomo.ca — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when yohomo.ca changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official yohomo.ca API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a Toronto LGBTQ2+ event calendar app filtered by category using list_events category param
  • Aggregate event venue addresses from get_event to plot community event locations on a map
  • Notify subscribers of newly added events by polling list_events sorted by start date
  • Display ticket and social links from tickets_url and socials_url in a curated event digest
  • Separate one-off events from long-running exhibitions using the long_running boolean for distinct UI treatment
  • Power a search feature over event titles and venue names using the query param on list_events
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does YOHOMO offer an official developer API?+
No. YOHOMO (yohomo.ca) does not publish a public developer API or documented data feed. This Parse API is the way to access its curated event data programmatically.
How does the API distinguish a one-off event from a long-running event like an exhibition or recurring class?+
The get_event response includes a long_running boolean. When true, the event has an end_date_label and a free-text time_note (e.g. 'Every Tuesday'); start_time and end_time will be null. When false, start_time and end_time are populated in 12-hour format and time_note is null. The event_id prefix also signals the type: events-long/<slug> vs event/<slug>.
Is event data available for cities outside Toronto?+
Not currently. YOHOMO focuses on Toronto, and the API reflects that geographic scope. You can fork this API on Parse and revise it to add coverage for another city if a comparable curated source exists.
Does the API return past events or only upcoming ones?+
The list_events endpoint returns upcoming events only — there is no date-range parameter or archive access. Past events are not exposed. You can fork the API on Parse and revise it to add a historical or date-filtered endpoint if the source surfaces that data.
What does the `price` field contain — is it structured (numeric) or free-text?+
The price field on get_event is a free-text label as shown on the site, such as 'Free', 'Pwyc', or a dollar amount string. It is not a numeric value, so direct price-range filtering is not supported in the current API. You can fork the API on Parse and revise it to parse and expose a numeric price field.
Page content last updated . Spec covers 2 endpoints from yohomo.ca.
Related APIs in EntertainmentSee all →
fr.travelgay.com API
Access data from fr.travelgay.com.
queer.paris API
Access data from queer.paris.
coronacrush.co API
Discover and browse upcoming Jewish speed dating events hosted by CoronaCrush to find your next dating opportunity. View detailed information about available events including dates, times, and other relevant details to plan your attendance.
helloburlingtonvt.com API
Retrieve detailed community event information from the Hello Burlington VT tourism site by providing an event URL, including details like event names, dates, descriptions, and venue information. Perfect for discovering and accessing comprehensive Burlington area events to plan your visits and activities.
siegessaeule.de API
Discover and explore queer events happening in Berlin by searching the Siegessäule event listings, complete with venue information, calendar dates, and categorized event details. Filter events by section to find exactly what you're interested in attending.
humanitix.com API
Search and discover events on Humanitix, viewing detailed information including dates, times, locations, descriptions, and host names. Filter by keyword, category, price, and date to find events that match your interests.
phangan.events API
Search and discover upcoming events, parties, and festivals happening on Koh Phangan by keyword or event type to plan your island experience. Browse through comprehensive listings with detailed information about each event to find exactly what you're looking for.
feverup.com API
Discover and search live events, exhibitions, and experiences happening in cities worldwide, filtering by categories to find concerts, shows, expos, and more that match your interests. Get detailed information about any event including schedules, descriptions, and venue details to plan your next outing.