List Kalshi markets
List Kalshi markets with prices, volume and settlement fields. Filter by event, series, tickers, status and close time. Auto-generated combo markets are excluded unless you set combos to include or only. Page with cursor.
/v1/kalshi/marketsx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Optional event ticker, for example KXHIGHNY-26OCT13.
Optional series ticker, for example KXHIGHNY.
KXHIGHNYOptional comma-separated market tickers, at most 20.
max 2100 chars
Optional: unopened, open, paused, closed or settled. Records report Kalshi’s own status names (open returns active, settled returns finalized).
one of: unopened, open, paused, closed, settled
openOnly markets closing after this time, ISO 8601 or Unix seconds.
Only markets closing before this time, ISO 8601 or Unix seconds; later than closesAfter.
exclude (default) leaves out auto-generated combo markets, include returns every market, only returns combo markets only.
one of: exclude, include, only
Optional cursor from the previous response’s nextCursor. Omit for the first page.
Markets per page, 1–200; default 50.
20Request correlation UUID.
Upstream requests, decoded response bytes and elapsed milliseconds.
Always included.
≥ 0
Always included.
≥ 0
Always included.
≥ 0
True when usable data is returned; inspect status and coverage for omissions.
Optional: unopened, open, paused, closed or settled. Records report Kalshi’s own status names (open returns active, settled returns finalized).
one of: success, partial
Kalshi public API URL the data was read from.
absolute HTTPS URL
UTC retrieval time.
order is source_order. complete is false when a warning names an omission. order states the record order.
Always included.
Always included.
Always included.
Always included.
one of: newest_first, oldest_first, ranked, relevance, source_order
Optional.
Optional.
Optional.
Markets with Kalshi’s field names, as described for the market endpoint.
up to 200 items
Always included.
Always included.
Always included.
Optional.
Optional.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Optional.
Optional.
Always included.
Always included.
initialized, inactive, active, closed, determined, disputed, amended or finalized. Filter names differ: open returns active, settled returns finalized.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Always included.
Optional.
Optional.
Optional.
Optional.
Always included.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Optional.
Always included.
Always included.
Optional.
Optional.
up to 100 items
Optional.
Optional.
Optional.
Optional.
Always included.
Always included.
up to 50 items
Always included.
Always included.
Always included.
Optional.
Optional.
Cursor for the next page, or null on the last page. Pass it back as cursor.
No fields match.
HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.
| HTTP | failure.code | Meaning |
|---|---|---|
| 200 | partial | Usable data with market_limit, metadata_unavailable, candle_limit, window_truncated, comment_limit or metrics_unavailable warnings. |
| 400 | invalid_request | Missing, duplicate, malformed or unsupported parameters, a link outside kalshi.com/markets, a price-history window above its period limit, or parameters Kalshi rejected. |
| 401 | unauthorized | Missing or invalid worker API key. |
| 404 | not_found | Unknown market, event, series, post or trader. |
| 429 | upstream_rate_limited | Kalshi rate limited the request. |
| 502 | upstream_challenged | Kalshi refused the public request. |
| 502 | unsupported_page | Malformed, mismatched or non-JSON source data. |
| 502 | response_too_large payload_too_complex | Response exceeded byte or parsing limits. |
| 502 | unsafe_redirect request_limit upstream_error | Bounded source retrieval could not complete. |
| 503 | busy | All worker slots and the waiting queue are occupied. |
| 504 | timeout | Total request deadline expired. |