Skip to content
scrapeatlas.Dashboard

Prediction markets

Kalshi API

Search Kalshi prediction markets and read markets, events, series, order books, trades and price history, plus public trader profiles, comments and the leaderboard.

12 endpointsx-api-key

Twelve endpoints read Kalshi’s public market data and Kalshi Social: market prices, order books, trades and candles, event and series details, trader profiles, comments and leaderboards, with Kalshi’s field names, dollar-string prices and cursors.

API availability: Available

Base URL · local workerhttp://localhost:3051Public API: https://api.scrapeatlas.com.
Authenticationx-api-keyCustomer key from your account. See Authentication.

Endpoints

GET/v1/kalshi/search

Search Kalshi markets

Search Kalshi events by keyword, as kalshi.com search does. Each result is an event with its series, category, volume, trending flags and its markets with current Yes bid, ask and last price. Omit query to list the full ranked catalog. Page with cursor.

Reference
GET/v1/kalshi/markets

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.

Reference
GET/v1/kalshi/market

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.

Reference
GET/v1/kalshi/events

List Kalshi events

List Kalshi events, the questions that group related markets, with title, category, series and settlement sources. Filter by series, tickers, status and close time, and set includeMarkets to embed each event’s markets. Page with cursor.

Reference
GET/v1/kalshi/event

Get a Kalshi event

Get a Kalshi event and all its markets by event ticker or kalshi.com link. Markets settled into Kalshi’s archive are included with marketsArchived true. Set includeMetadata for images, per-market colors and the competition.

Reference
GET/v1/kalshi/series

Get a Kalshi series

Get a Kalshi series, the template that recurring events share, by ticker or kalshi.com link: title, frequency, category, tags, fee structure, contract terms, settlement sources and total volume.

Reference
GET/v1/kalshi/orderbook

Get a Kalshi order book

Get the order book of a Kalshi market: resting Yes and No bids by price with their sizes, plus the best bid and ask on each side. Kalshi books hold bids only; a Yes ask is one dollar minus the best No bid.

Reference
GET/v1/kalshi/trades

List Kalshi market trades

List the executed trades of a Kalshi market, newest first: price on each side, size, taker side and time. Filter with since and until and page with cursor; paging continues from recent trades into Kalshi’s archive of older trades.

Reference
GET/v1/kalshi/price-history

Get Kalshi price history

Get price candles for one Kalshi market, or for every market of an event in one call: traded price open, high, low, close and mean, Yes bid and ask, volume and open interest per minute, hour or day. Periods without trades carry only the previous price.

Reference
GET/v1/kalshi/profile

Get a Kalshi trader profile

Get a public Kalshi trader profile by nickname: bio, followers, following, posts, profile views, top categories and join date, plus the trading metrics the trader shows publicly (volume, dollars traded, profit and loss, markets traded).

Reference
GET/v1/kalshi/comments

Get Kalshi comments

Get public Kalshi Social comments: a trader’s recent comments with the post (trade idea) each one answers, or a post with all its comments. Posts include the market, side, position cost and payout, return and engagement counts.

Reference
GET/v1/kalshi/leaderboard

Get the Kalshi leaderboard

Get Kalshi’s public trader leaderboard by projected profit, volume or number of markets traded, optionally for one category such as Politics or Sports.

Reference

Quick start

Create an API key on your account page, then call the public API. Values below are placeholders.

Terminal
curl "https://api.scrapeatlas.com/v1/kalshi/search?query=bitcoin&limit=10" \
  -H "x-api-key: YOUR_API_KEY"

Coverage & limits

  • Independent, stateless worker: eight concurrent operations, with up to 16 more waiting at most 8 seconds for a slot; 25-second total deadline, including the wait; at most six upstream HTTP requests per operation, including one shared retry on a network failure or HTTP 5xx. HTTP 429 is never retried.
  • Fixed public HTTPS origin api.elections.kalshi.com (Trade API v2 and the public website API). No login, cookies, browser, outbound link visits, media downloads or result storage. The service API key is never forwarded.
  • Source reads are paced at up to 8 per second per worker, with a burst of 8; a request waits for its turn within its deadline.
  • At most 16 MiB decoded JSON per operation, depth 64 and 600,000 parsed nodes.
  • Page sizes: 50 search results, 200 markets, 100 events, 500 trades, 20 trader comments, 100 leaderboard rows. An event returns up to 1,000 markets and a post up to 500 comments.
  • Price history: a market request covers at most 5,000 periods; an event request at most 500 periods per market and 20,000 candles in total, keeping the latest periods (candle_limit). Kalshi returns up to 5,000 candles per event read across all its markets (for example 60 hourly periods for 82 markets); a longer event window is moved to end at until, and coverage.window gives the period returned (window_truncated).
  • Prices are dollar strings and contract counts fixed-point strings, as Kalshi returns them. Social timestamps (created_ts) are Unix microseconds.
Error codes
11
HTTPfailure.codeMeaning
200partialUsable data with market_limit, metadata_unavailable, candle_limit, window_truncated, comment_limit or metrics_unavailable warnings.
400invalid_requestMissing, duplicate, malformed or unsupported parameters, a link outside kalshi.com/markets, a price-history window above its period limit, or parameters Kalshi rejected.
401unauthorizedMissing or invalid worker API key.
404not_foundUnknown market, event, series, post or trader.
429upstream_rate_limitedKalshi rate limited the request.
502upstream_challengedKalshi refused the public request.
502unsupported_pageMalformed, mismatched or non-JSON source data.
502response_too_large payload_too_complexResponse exceeded byte or parsing limits.
502unsafe_redirect request_limit upstream_errorBounded source retrieval could not complete.
503busyAll worker slots and the waiting queue are occupied.
504timeoutTotal request deadline expired.