Kalshi API 数据
Kalshi API 数据:市场、订单簿、K线和交易
Kalshi 公开 API 返回系列、事件、市场、当前订单簿、蜡烛图和交易,且这些调用均无需 API 密钥。不返回的是过去时刻的订单簿。本页映射每种 Kalshi 数据到其端点,展示调用,并用1.5十亿条记录订单簿填补空白。
Kalshi API 数据是由 Kalshi 的交易 API 在 https://external-api.kalshi.com/trade-api/v2. 提供的交易所数据。公共市场数据涵盖系列、事件、市场、当前订单簿、K线和交易;超过公布截止时间的结算数据转移至 /historical 端点。账户数据(订单、成交、持仓)需要 RSA 签名的 API 密钥请求。
一份录制的 Kalshi 订单簿
复制自 DepthFeed 档案中存储的一个 BTC 15分钟观察。Kalshi 的订单簿响应包含当前时刻相同的两个买盘阶梯。
价格为 p 的是出价是价格为 1 − p 的否要价,因此隐含的是要价是 1 − 最佳否要价。: 完整深度REST轮询.
- 是美元/是价格
- 挂单是买价,按价格和合约数,优先最佳。
- 无美元 / 无价格
- 挂单否买价。每个为是的报价,价格为 1 − 价格,得出隐含是卖价(此处为 0.33)。
- 行情代码
- 精确市场代码,含行权价。
- recv_ts_ms
- DepthFeed 的接收时间为纪元毫秒;Kalshi 的盘口响应无交易所时间戳。
Kalshi API 数据一览
- 基础 URL
- https://external-api.kalshi.com/trade-api/v2
- 市场数据认证
- 系列、事件、市场、订单簿、K线和交易均无
- 账户数据认证
- RSA 签名的 API 密钥头
- 订单簿
- 当前买卖盘阶梯;卖盘 = 1 − 最佳对手买盘
- K线周期
- 1 分钟 · 1 小时 · 1 天
- 较旧的已结算数据
- 公布的截止时间之后的 /historical 端点
- 过去的订单簿
- Kalshi 不提供;DepthFeed 自 2026-01-08 录制。
使用curl获取Kalshi API数据
以下所有调用均为公开。用首次响应中的代码替换ticker;时间戳为Unix秒。
# Open markets in one series
curl -s "https://external-api.kalshi.com/trade-api/v2/markets?series_ticker=KXBTC15M&status=open&limit=5"
# The current order book for one exact market
curl -s "https://external-api.kalshi.com/trade-api/v2/markets/<market_ticker>/orderbook"
# Hourly candles for that market
curl -s "https://external-api.kalshi.com/trade-api/v2/series/KXBTC15M/markets/<market_ticker>/candlesticks?start_ts=1793232000&end_ts=1793318400&period_interval=60"
# Recent trades, then the cutoff for older ones
curl -s "https://external-api.kalshi.com/trade-api/v2/markets/trades?ticker=<market_ticker>&limit=100"
curl -s "https://external-api.kalshi.com/trade-api/v2/historical/cutoff"- 跟随游标字段直到返回空值。
- 将是的卖价读作 1 − 最佳否买价;订单簿无卖价数组。
- 截止前结算的市场仅在 /historical 端点提供。
Kalshi API 数据
Kalshi API 返回什么,以及来自哪里
系列、事件和市场:层级结构
一个序列是一个重复的问题(KXBTC15M 是每 15 分钟的比特币),一个事件是它的一个实例,而一个市场是事件中的一个可交易的是/否合约,其行权价在代码中。GET /series/{series_ticker}, GET /events/{event_ticker} 和 GET /markets?series_ticker=… 返回它们。使用完整的市场代码作为连接键:事件代码会命名多个价格差异很大的市场。
无 API 密钥的市场数据
Kalshi 将其市场数据端点标记为公开:系列、事件、市场、订单簿、K线或交易无需 API 密钥头。生产基础 URL 是 https://external-api.kalshi.com/trade-api/v2; 较旧的 api.elections.kalshi.com 主机提供相同市场,不仅限于选举。账户端(订单、成交、持仓)和 WebSocket 订阅需要密钥。
订单簿:仅买单,且仅当前
GET /markets/{ticker}/orderbook 返回两个买单阶梯,分别为是和否,以美元价格和合约数量表示(orderbook_fp.yes_dollars 和 no_dollars)。无卖单数组:否买单价格 p 即是是卖单价格 1 − p,因此本页记录样本中最佳是买单为 0.32,最佳否买单为 0.67,隐含是卖单为 0.33。响应为当前订单簿;再次调用不会返回历史状态。
K线:1分钟、小时或日线
GET /series/{series_ticker}/markets/{ticker}/candlesticks 接受 start_ts、end_ts 和周期间隔,单位为 1、60 或 1440 分钟。每根 K 线包含是买单的开、高、低、收价,是卖单的开、高、低、收价及成交价,另有成交量和未平仓合约数。此为绘制市场图表最经济方式,但记录的是成交价和订单簿顶价收盘价,不显示可用挂单量。
交易,以及旧数据的流向
GET /markets/trades 列出已执行交易,支持游标分页。Kalshi 将数据分为实时和历史层:一旦市场在 GET /historical/cutoff 发布的截止时间前结算,该市场及其 K 线由 GET /historical/markets 和 /historical/markets/{ticker}/candlesticks 提供,较早交易由 GET /historical/trades 提供。使用前请阅读各数据类型截止时间,勿假设实时端点包含全部数据。
速率限制和轮询
Kalshi 的限制是按层级的令牌预算,读写分开,而非单一的每秒请求数。对每个开放市场轮询订单簿端点会迅速消耗读取预算。遇到429响应时采用指数退避,使用游标分页直至空,需实时订单簿变更时使用认证 WebSocket。
Kalshi API 无法提供什么
没有任何Kalshi端点能返回一小时前、一周前或一月前的买卖阶梯。需要在过去决策时间点的价差和挂单量的回测,必须使用实时录制的订单簿。DepthFeed自2026年1月起轮询完整深度的Kalshi订单簿:截至2026年6月21,覆盖2,600,000+市场的1.5十亿快照,通过REST或197个封存的每日Parquet文件提供。
添加 Kalshi API 未保留的订单簿
Kalshi 公开 API 免费提供市场、蜡烛图和交易数据。回测需要过去时刻的静态是和否阶梯时,可用免费密钥查询 DepthFeed 记录的订单簿,或购买整天 UTC 的 Parquet 文件。
