Skip to main content
GET
Search Markets

Query Parameters

q
string | null

Search query

Minimum string length: 1
exchange_name
string | null

Filter by exchange name (KALSHI, POLYMARKET)

category
string | null

Filter by canonical category (Sports, Crypto, Politics, Finance, Entertainment, Science & Tech, Weather, World Affairs, Health, Social, Other)

status
enum<string> | null

Filter by instrument status Instrument status derived in mv_instruments 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

Available options:
active,
closed,
inactive
expiration_date_start
string<date-time> | null

Start of expiration date range (inclusive, ISO 8601)

expiration_date_end
string<date-time> | null

End of expiration date range (exclusive, ISO 8601)

limit
integer
default:20

Maximum number of results

Required range: 1 <= x <= 1000
offset
integer
default:0

Offset for pagination

Required range: x >= 0

Response

Successful Response

Schema for market search response.

query
string
required
results
MarketSearchResult · object[]
required
total
integer
required