Get a Kalshi market
Get one Kalshi market by ticker: the question, Yes and No bid and ask, last price, volume, open interest, rules, strike and settlement result. Settled markets that Kalshi has moved to its archive are returned with archived true. A kalshi.com event link also works when its event has one market.
/v1/kalshi/marketx-api-keyHeaders
Get your API keyYour ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.
Market ticker, for example KXWC-30-ESP. Lower case is accepted.
KXWC-30-ESPAlternative to ticker: a kalshi.com/markets/<series>/<slug>/<event> link whose event has exactly one market.
max 600 chars
Request 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.
success, partial, failed or challenged. HTTP 200 can be partial.
one of: success, partial
Kalshi public API URL the data was read from.
absolute HTTPS URL
UTC retrieval time.
complete is false when a warning names an omission. order states the record order.
Always included.
Always included.
Always included.
Market record with Kalshi’s field names. Prices are dollar strings with up to 4 decimals (0.1510 is 15.1¢, a 15.1% implied probability); *_fp fields are contract counts as strings with 2 decimals.
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.
true when the market was read from Kalshi’s archive of markets settled before its archive cutoff.
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. |