Kalshi KXELECTION: Election winners and control — order book & trade data
49.5K book and trade events for Kalshi's election winners and control markets, recorded live since 2026-10-01 — about 1,980 events a day.
Coverage
KXELECTION Elections data coverage
What is recorded, how often it updates and how much there is.
Recording since
2026-10-01
25 days so far · no backfill
Events recorded
49,500
≈ 49.5K as of 2026-10-25
Avg events / day
1,980
book snapshot · book delta · trade
Update frequency
Order-book snapshots, deltas and trades streamed in real time
Daily activity · last 25 days
Indicative daily event volume, last 25 days to 2026-10-25. Shape modeled from collector stats; mean matches the average events/day above.
About this market
What is KXELECTION Elections?
KXELECTION covers Kalshi's election winner and chamber-control markets — long-dated contracts that wake up as voting day approaches and polling data accumulates. AymarData has been recording the KXELECTION series since 2026-10-01 and holds 49.5K events so far — about 1,980 a day. History is forward-only; we record live and do not backfill Kalshi.
Trading is slow for months, then accelerates into election day: polls, special-election results, fundraising and debate moments all feed the price. The final days and election night bring the heaviest volume and the sharpest moves as results arrive.
The ramp in activity is the story: use the series to study how a political market's liquidity builds into election day, and how prices behave on the night itself alongside KXTRUMP and KXSCOTUS.
What moves KXELECTION
- Polling averages and high-quality late surveys
- Debates, scandals and candidate-quality news
- Election-night results, which reprice markets as precincts report
Schema
KXELECTION Elections fields and sample rows
The same columns are returned by the API and in Parquet and CSV files.
| Field | Type | Description |
|---|---|---|
| ts_ms | int64 | Exchange event time, Unix milliseconds |
| ticker | string | Full Kalshi market ticker |
| event_type | string | book_snapshot | book_delta | trade |
| side | string | buy / sell on trades; bid / ask on book events |
| yes_bid | number | Best YES bid, 0–1 dollars |
| yes_ask | number | Best YES ask, 0–1 dollars |
| volume | int64 | Contracts traded or resting at the level |
Sample rows
| ts_ms | ticker | event_type | side | yes_bid | yes_ask | volume |
|---|---|---|---|---|---|---|
| 1792873803349 | KXELECTION-2026-HOUSE-D | book_snapshot | bid | 0.7 | 0.72 | 860 |
| 1792873803767 | KXELECTION-2026-SENATE-R | trade | buy | 0.58 | 0.61 | 2924 |
| 1792873805117 | KXELECTION-2026-GOV-PA-D | book_delta | ask | 0.47 | 0.5 | 1001 |
Illustrative rows for the KXELECTION series; tickers follow Kalshi's naming and prices are YES quotes in dollars (0–1).
Code
Pull KXELECTION Elections in Python, cURL or MCP
Market id: KXELECTION-2026-HOUSE-D. Export AYMARDATA_API_KEY from your dashboard, then run the Python requests example.
import os
import requests
API = "https://api.aymardata.com/v1"
KEY = os.environ["AYMARDATA_API_KEY"] # export AYMARDATA_API_KEY=ad_live_…
H = {"Authorization": f"Bearer {KEY}", "User-Agent": "aymardata-docs/1.0"}
# KXELECTION: ten minutes of trades and book updates for one contract
trades = requests.get(
f"{API}/trades",
headers=H,
params={
"source": "kalshi",
"market": "KXELECTION-2026-HOUSE-D",
"start": "2026-10-24T20:25:00Z",
"end": "2026-10-24T20:35:00Z",
"limit": 500,
},
timeout=30,
).json()["data"]
last = trades[-1]
print(last["ticker"], last["yes_bid"], last["yes_ask"])
book = requests.get(
f"{API}/book",
headers=H,
params={
"source": "kalshi",
"market": "KXELECTION-2026-HOUSE-D",
"at": "2026-10-24T20:30:00Z",
"depth": 10,
},
timeout=30,
).json()
print(book.get("spread"), len(trades))FAQ
KXELECTION Elections: common questions
Why does the KXELECTION activity series trend upward?
Election markets get busier as the vote approaches: polls and news flow accelerate, and more participants enter. Recent days are typically well above the period average.
How do I pick one race out of the series?
Use the full ticker (office + date + candidate or party). search_markets with series=KXELECTION lists the active contracts.
What moves KXELECTION prices?
Polling averages and high-quality late surveys; debates, scandals and candidate-quality news; and election-night results, which reprice markets as precincts report.
How much KXELECTION history is available?
Recording began 2026-10-01 and is forward-only. At the time of this page that is 25 days, 49.5K events and about 1,980 events a day.
How do I query KXELECTION data with the API?
Use market=<full ticker> such as KXELECTION-2026-HOUSE-D with source=kalshi on /v1/trades or /v1/book, or ask the MCP server for the series by name. The snippets on this page are ready to run with your API key.
Backtest KXELECTION Elections with real tick data
Get an API key, pull your first window and join it with the other sources in the catalog.