Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Kalshi historical API

The historical API from Kalshi — 7 operation(s) for historical.

Kalshi historical API is one of 21 APIs that Kalshi publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include historical. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 7 operations across 7 paths, and defines 23 schemas. It is described by OpenAPI 3.0.0, at version 3.19.0.

Requests are made against 4 base URLs: https://external-api.kalshi.com/trade-api/v2, https://api.elections.kalshi.com/trade-api/v2, https://external-api.demo.kalshi.co/trade-api/v2, https://demo-api.kalshi.co/trade-api/v2.

7 operations 7 paths 23 schemas 7 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
3.19.0
Base URL
https://api.elections.kalshi.com/trade-api/v2
Authentication
API Key, API Key, API Key
Resource Areas
1

Authentication & Security 3

Kalshi historical API declares 3 security schemes for authenticating requests. An API key is passed in the header as KALSHI-ACCESS-KEY (kalshiAccessKey). An API key is passed in the header as KALSHI-ACCESS-SIGNATURE (kalshiAccessSignature). An API key is passed in the header as KALSHI-ACCESS-TIMESTAMP (kalshiAccessTimestamp).

  • kalshiAccessKey — Your API key ID
  • kalshiAccessSignature — RSA-PSS signature of the request
  • kalshiAccessTimestamp — Request timestamp in milliseconds

Paths & Operations 7

Across 7 paths, the API surfaces 7 operations — 7 GET. Each is listed below with its method, path, parameters, and response codes.

historical 7
GET
/historical/cutoff
Get Historical Cutoff Timestamps
GetHistoricalCutoff → 200500
GET
/historical/markets/{ticker}/candlesticks
Get Historical Market Candlesticks
GetMarketCandlesticksHistorical 4 params → 200400404500
GET
/historical/fills
Get Historical Fills
GetFillsHistorical 4 params → 200400401404500
GET
/historical/orders
Get Historical Orders
GetHistoricalOrders 4 params → 200400401500
GET
/historical/trades
Get Historical Trades
GetTradesHistorical 5 params → 200400404500
GET
/historical/markets
Get Historical Markets
GetHistoricalMarkets 6 params → 200400500
GET
/historical/markets/{ticker}
Get Historical Market
GetHistoricalMarket 1 param → 200404500

Schemas 23

The contract defines 23 schemas that model the data the API accepts and returns. The most detailed are Market (55 properties), Order (27 properties), Fill (17 properties), Trade (9 properties). Each schema is shown below with its type and property counts.

GetHistoricalCutoffResponse
object
3 properties 3 required
PriceRange
object
3 properties 3 required
MarketCandlestickHistorical
object
6 properties 6 required
Trade
object
9 properties 9 required
GetMarketsResponse
object
2 properties 2 required
Fill
object
17 properties 14 required
GetOrdersResponse
object
2 properties 2 required
ExchangeIndex
integer
Identifier for an exchange shard. Defaults to 0 if unspecified. Note: currently only 0 supported.
SelfTradePreventionType
string
The self-trade prevention type for orders. takeratcross cancels the taker order when it would trade against another order from the same user; execution stops a…
ErrorResponse
object
4 properties
Order
object
27 properties 19 required
BidAskDistributionHistorical
object
4 properties 4 required
GetTradesResponse
object
2 properties 2 required
Market
object
55 properties 35 required
PriceDistributionHistorical
object
6 properties 6 required
GetFillsResponse
object
2 properties 2 required
FixedPointCount
string
Fixed-point contract count string (2 decimals, e.g., "10.00"; referred to as "fp" in field names). Requests accept 0–2 decimal places (e.g., "10", "10.0", "10.…
OrderStatus
string
The status of an order
GetMarketCandlesticksHistoricalResponse
object
2 properties 2 required
BookSide
string
Side of the book for an order or trade. For event markets, this refers to the YES leg only: bid means buy YES, ask means sell YES. (Selling YES is economically…
FixedPointDollars
string
US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a…
GetMarketResponse
object
1 property 1 required
MveSelectedLeg
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

kalshi-historical-api-openapi.yml Raw ↑

Other APIs Kalshi publishes across the network.

Kalshi Trade API (Demo)
Kalshi WebSocket Streaming API
Kalshi AsyncAPI Specification
Kalshi Python Starter Kit
Kalshi account API
Kalshi api-keys API
Kalshi communications API
Kalshi events API
Kalshi exchange API
Kalshi fcm API
Kalshi incentive-programs API
Kalshi live-data API