Search Markets
Changed onSearch and browse markets across all exchanges.
Supports:
- Exact match on ticker, condition_id, slug, river_id
- Full-text search on name, description, tags
- Browse by filters (no query required)
- Results ranked by relevance
- Keyset pagination with cursor / next_cursor in every mode
Only active markets are searched. An exact identifier (river_id, condition_id, slug, Kalshi ticker) resolves its market whatever the status.
Request
- Base URLhttps://api.rivermarkets.com (the document declares no server; this is the origin it was published from)
- URLhttps://api.rivermarkets.com/v1/markets/search
- Authnone declared
Query parameters
Search query
Filter 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)
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)
Filter to markets with last_price >= this value (0.0–1.0 YES probability).
Filter to markets with last_price <= this value (0.0–1.0 YES probability).
Filter to events whose total summed volume >= this value.
sort_by values for /v1/markets/search, in flat and event mode alike.
Sort mode: trending, volume, newest, ending-soon, start-time, price. Without it a text search orders events by relevance.
How /v1/markets/search treats combos (is_combo: Kalshi parlays, Polymarket US caoc- / crossd-).
- EXCLUDE (default): drop combos — standard markets/browse behaviour.
- INCLUDE: return combos alongside standard markets.
- ONLY: return combos exclusively (the Combos browse tab / parlay search).
How to treat parlays: 'exclude' (default), 'include' alongside standard markets, or 'only' combos.
Maximum number of results
Offset for pagination, at most 10000. To enumerate further, page with cursor.
Paginate by events instead of markets. Up to 200 by default; values above that require start_datetime_after or start_datetime_before.
Event offset for event-based pagination, at most 10000. To enumerate further, page with cursor.
With event pagination, cap the markets returned per event to the top N by volume (query-matched markets always survive the cap). Each row's event_market_count carries the event's full market count so clients can lazy-load the rest.
Opaque cursor from a previous response's next_cursor. Send it with the same query and filters, without offset / event_offset, to get the next page. Works in every sort mode.
Response
Successful Response
Changes
- info
added the optional property
//to the response with the status
- info
- warning
deleted the
queryrequest parameterstatus
- warning