Markets
A market is addressed by its venue and that venue’s own id: a ticker on Kalshi, a slug on Polymarket.Size fields
Every object that names a market, in every response, carries the same size fields, because a price nobody can trade at is not a price:
Lists that suggest something to act on leave
thin markets out by default and rank the rest by the money behind them; min_volume_usd, max_spread_usd and include_thin change that wherever they apply.
Events
An event groups a venue’s markets: “Fed decision in October” holds one market per possible decision. When both venues list the same event and its outcomes are proven equivalent,GET /v1/events returns it once, with a twin and both venues’ asks on each outcome.
Each outcome carries its
label, the listing market’s venue, market_id and title, the implied chance, change_24h, an hourly sparkline of the last day’s Yes asks, the size fields above, and prices: the current asks on every venue with a proven-equivalent market, with best_venue naming the cheaper Yes when there is more than one.
Finding events
GET /v1/events pages with limit (1 to 60, default 24) and offset. q matches event titles only; for plain-language search with filters, use /v1/search. See Search and topics.
Prices
Every price is an ask per contract that pays $1, as a decimal string in USD: what it costs to buy Yes or No right now. The impliedchance of an outcome is the midpoint of its best Yes ask and one minus its best No ask across the venues that list it. Asks come from each venue’s recorded top of book on the last crawl; for resting size, read the order book, and for how prices moved, read History.
Every graph-derived response names the graph_run it was read from; runs finish hourly.
Related
- Venues: what differs between Kalshi and Polymarket and how the API evens it out.
- Liquidity: the grades and the floors.
- Relations: what the
relationscounts mean. - Search and topics: finding events by what they are about.
- Pagination: cursors and offsets.