Endpoint Playground
Lists Kalshi markets, up to `limit` rows (default 25, max 200), continued with `cursor`. Filter by `event_ticker`, `series_ticker`, `ticker`, or `status` (`unopened`, `open`, `closed` or `settled`). Each market has its title, status, prices, bid and ask, volume, open interest and rules text. A returned status can read `active` even though the filter does not accept it.
14 Oct 2026: 20 markets; 18 fields had a value in every checked item.
Sample value profiles: open_time: 2026-10-13; ticker: “KXMVECROSSCATEGORY0-S20262BC98949215-DF1C410E741” and 19 other values; title: median 147 characters.
curl 'https://api.crawlora.net/api/v1/kalshi/markets?status=unopened' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| limit | integer | No | Rows to return, default 25, max 200 | |
| cursor | string | No | Pagination cursor from a previous Kalshi response | |
| event_ticker | string | No | Kalshi event ticker filter | |
| series_ticker | string | No | Kalshi series ticker filter | |
| status | string | No | unopened | Market status filter |
| ticker | string | No | Kalshi market ticker filter |
{
"code": 200,
"msg": "OK",
"data": {
"limit": 3,
"source_url": "https://external-api.kalshi.com/trade-api/v2/markets?limit=3",
"fetched_at": "2026-06-07T14:00:00Z",
"markets": [
{
"ticker": "KXELONMARS-99",
"event_ticker": "KXELONMARS-99",
"title": "Will Elon Musk visit Mars before Aug 1, 2099?",
"status": "active",
"last_price": 0.08,
"yes_bid": 0.08,
"yes_ask": 0.1,
"volume": 94840.88
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.