List venue events
Returns paginated venue events with optional filters for venue, status, category, and search.
Returns paginated venue events with optional filters for venue, status, category, and search. DEPRECATION: the per-item description field is deprecated and will be removed from list responses — fetch the full event (including description) via GET /venue-events/:id. The embedded venueMarkets on each item are a top-N preview only; for the full market list use GET /venue-markets?venueEventId=.
Authorizations
API key passed in the header.
Query Parameters
"asc" | "desc""volume" | "volume24hr" | "createdAt" | "endDate" | "arbReturn"x >= 1, x <= 100"true" | "false""kalshi" | "polymarket" | "limitless" | "opinion" | "predict" | "probable" | "myriad" | "hyperliquid"Response
200
dataarray<object>requireddata.idstringrequiredEvent id. List responses return one row per matched cluster, and for a matched event this id is the cluster anchor — the handle to use for cross-venue lookups. Re-resolve it from discovery rather than storing it as a permanent key: clusters can merge, after which the id remains a valid event but is no longer the cluster head. See the Matched Clusters guide.
data.externalIdentifierstringrequireddata.titlestringrequireddata.descriptionstringdata.imagestringrequireddata.venue"kalshi" | "polymarket" | "limitless" | "opinion" | "predict" | "probable" | "myriad" | "hyperliquid"required"kalshi" | "polymarket" | "limitless" | "opinion" | "predict" | "probable" | "myriad" | "hyperliquid"data.volumenumberx >= 0data.status"open" | "closed" | "resolved" | "unopened" | "paused""open" | "closed" | "resolved" | "unopened" | "paused"data.startDatestringdata.endDatestringdata.creationDatestringdata.gameStartTimestringdata.categoriesarray<object>requireddata.slugstringdata.subtitlestringdata.venuesarray<"kalshi" | "polymarket" | "limitless" | "opinion" | "predict" | "probable" | "myriad" | "hyperliquid">Venues this row's matched cluster spans — use it for venue badges. On a cluster anchor this is the cluster-wide set; a non-anchor member usually reports the same set, but narrows to its own venue when none of its markets have cross-venue counterparts.
data.marketCountintegerNumber of markets on this event. Use this rather than the length of an embedded venueMarkets array, which is a preview on list responses.
x >= 0data.venueCountintegerLength of `venues` — the size of the matched cluster.
x >= 0data.groupMarketCountintegerx >= 0data.updatedAtstringdata.venueMarketsarray<object>Embedded markets. On list responses this is a preview of up to three markets chosen to represent the event on a card — not the complete set, and not necessarily the largest; use marketCount for totals. On the by-id response it is uncapped. Deprecated on both — fetch markets from GET /venue-markets?venueEventId=.
data.matchStatus"pending" | "unmatched" | "review" | "matched" | "verified" | "rejected""pending" | "unmatched" | "review" | "matched" | "verified" | "rejected"data.arbReturnnumberdata.seriesobjectdata.recurrencestringdata.aggKeystringDeterministic canonical key computed from this venue's own data; null when not canonicalizable. This is a fetch filter, not a cross-venue join key — it is guaranteed identical across venues only for sports head-to-head and crypto up/down markets, and two members of the same matched cluster can carry different keys. Use the event id and matchedVenueMarkets for identity.
data.structureType"candidate" | "sport" | "axis" | "dates""candidate" | "sport" | "axis" | "dates"data.sportstringdata.settlementDiffobjectdata.matchedVenueEventsarray<object>nextCursorstringrequiredhasMorebooleanrequired