Search Markets
Search 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
Defaults to status=active; pass status=all to include closed markets.
Authorizations
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.
Query Parameters
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. Defaults to active; pass 'all' for active and closed markets.
active, closed, inactive, all 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).
0 <= x <= 1Filter to markets with last_price <= this value (0.0–1.0 YES probability).
0 <= x <= 1Filter to events whose total summed volume >= this value.
x >= 0Sort mode for event-based pagination: trending, volume, newest, ending-soon, start-time, price
How to treat parlays: 'exclude' (default), 'include' alongside standard markets, or 'only' combos.
exclude, include, only 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 >= 0With 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.
x >= 1
