Events
matchedVenueEvents[] on each result lists the same event on every other venue.
Markets
matchedVenueMarkets[] lists the same market on every other venue.
Outcomes
matchedVenueMarketOutcomes[] gives a { venueMarketId, venueMarketOutcomeId } reference
pair for the counterpart outcome on each matched venue — IDs only, correctly aligned even
where the two venues frame the question in opposite directions. This endpoint does not
return the counterpart objects themselves: fetch them from /venue-markets using the
returned venueMarketId if you need labels, prices, or venue metadata.
Rules
venueis required for/venue-eventsand/venue-markets. It is optional for/venue-market-outcomes, where identifiers are globally unique.- Batch up to 20 identifiers per request by repeating the parameter. Over 20
returns
400. - Unknown identifiers are omitted from
datarather than returned as nulls. Match responses back to your input by readingexternalIdentifieron each item.
Two limits worth knowing
Kalshi outcome identifiers cover one side only. Kalshi puts its ticker on the Yes-side outcome; the No side has no identifier and cannot be looked up directly. Fetch the market instead and read both outcomes fromvenueMarketOutcomes[].
Do not persist cluster ids as permanent keys. When two clusters merge, members
are re-pointed onto the surviving anchor. The old id stays a valid event, but it is
no longer the cluster head. Re-resolve from discovery, or key your own storage on
the venue identifier you already hold — that one is stable.