Live (API key)

Live Kalshi markets where the roster holds positions now

Kalshi markets the roster holds right now, refreshed about every 30 seconds: open markets where two or more roster traders hold positions with combined unrealized P&L above zero, on either side (consensus_side and consensus_pct say how they split); while those number fewer than 40, also open markets one roster trader holds up $100 or more, and if still short, recently settled markets where two or more of them made a combined profit (status "settled", returned only with include_settled). Markets priced as all but decided are left out. Default order: combined P&L, largest first. Each market carries YES/NO prices in cents, consensus side and percentage, trader count, dollar flow, time to close, and every roster position (value, unrealized P&L, cost, lifetime P&L, ROI per dollar traded (null when no dollar volume is available), top category, when it was placed). This is the data a subscriber uses to decide which Kalshi market to take. Use the free-text search parameter on this tool to find held markets by keyword (for example "fed rate" or "super bowl"); it matches the market question, outcome, series ticker and ticker. Send it under the argument name this tool's own schema gives: an argument the tool does not take is refused, naming the ones it does. Requires a KalshiSpy API key (Elite or Lifetime plan). Before presenting a market, call searchSettledWins with its series_ticker so you can say how the same roster did on comparable past markets.

get/api/v1/markets/live

Request

  • Base URL: https://kalshispy.com
  • URL: https://kalshispy.com/api/v1/markets/live
  • Auth: HTTP bearer

Query parameters

qstring

Free-text search over the open markets in this feed. Terms are ANDed and matched as substrings against the market question, outcome, series ticker and ticker; terms shorter than 2 characters are ignored, and more than 8 terms are refused. Example: "fed rate" or "lakers". SCOPE, state it when you report a miss: this feed is a capped slice of the roster's current positions (at most 100, largest combined P&L first), not the whole exchange and not every position. An empty result means "nothing matching in the roster's top current positions" - it is NOT evidence that the roster holds nothing, and never evidence that Kalshi has no such market. To find a market by name beyond the roster's current positions, use search_markets (searchMarkets), which also fuzzy-matches every Kalshi market series by title.

limitinteger

Maximum markets to return.

category'politics' | 'elections' | 'sports' | 'entertainment' | 'economics' | 'financials' | 'crypto' | 'weather' | 'world' | 'scitech' | 'companies' | 'health' | 'social' | 'transportation' | 'mentions' | 'exotics' | 'other'

Category key filter.

seriesstring

Only markets in this Kalshi series.

sort'whale_flow' | 'whale_count' | 'consensus' | 'lifetime_pnl' | 'closing_soon'

Omit for KalshiSpy's default order: combined roster P&L on the market, largest first, settled markets last. whale_flow = most dollars committed; whale_count = most roster traders; consensus = strongest agreement; lifetime_pnl = largest lifetime P&L; closing_soon = earliest close first.

side'YES' | 'NO'

Only markets where the consensus side is YES (or NO).

min_whalesinteger

Only markets with at least this many whales.

include_settledboolean

Also include recently settled markets from the feed (status "settled").

Response

OK

oktrue required

Changes

No recorded changes to this operation across all 1 revision of this API.