Search and browse markets across all exchanges.
Supports:
We default to active markets in the view so things are faster
Documentation Index
Fetch the complete documentation index at: https://docs.rivermarkets.com/llms.txt
Use this file to discover all available pages before exploring further.
UUID of your API key (from Settings → API Keys).
Current unix seconds. Must be within 30s of server time.
Base64 Ed25519 signature over the canonical request: METHOD\nPATH\nSORTED_QUERY\nTIMESTAMP\nSHA256(body) hex. See /api-reference/authentication for the full recipe.
Search query
1Filter by exchange name (KALSHI, POLYMARKET)
Filter by canonical category. Repeat the param to filter to multiple categories (Sports, Crypto, Politics, Finance, Entertainment, Science & Tech, Weather, World Affairs, Health, Social, Other).
Filter by subcategory (e.g. Basketball, Football)
Filter by instrument status Instrument status derived in instruments table from exchange-specific fields.
Kalshi: maps from kalshi_markets.status - 'active' -> ACTIVE - everything else (closed, determined, finalized, settled, amended, inactive, initialized) -> CLOSED
Polymarket: maps from polymarket_markets.closed and polymarket_markets.active booleans - closed=true -> CLOSED - active=true (and not closed) -> ACTIVE - else (active=false, closed=false) -> INACTIVE
active, closed, inactive Start of expiration date range (inclusive, ISO 8601)
End of expiration date range (exclusive, ISO 8601)
Filter to markets with start_datetime >= this (ISO 8601)
Filter to markets with start_datetime < this (ISO 8601)
Filter by event_ticker (exact match)
Sort mode for event-based pagination: trending, volume, newest, ending-soon, start-time
Maximum number of results
1 <= x <= 1000Offset for pagination
x >= 0Paginate by events instead of markets. Up to 200 by default; values above that require start_datetime_after or start_datetime_before.
1 <= x <= 2000Event offset for event-based pagination
x >= 0