Kalshi prediction-market odds, prices and volume as data
Pick a Kalshi series (Fed rate decisions, CPI, recession, Bitcoin, weather, elections, sports and more), a category or a keyword, and get one row per market: the question, the yes/no bid and ask, the last price (which reads directly as the implied probability), 24-hour and total volume, open interest, status and close time, from Kalshi's public API. It is for researchers, analysts, dashboard and app builders who want event-market prices as clean rows instead of writing a Kalshi client.
What you get
Every active Fed rate-decision market (series KXFED) that traded at least 100 contracts in the last 24 hours, read on 1 October 2026 at 20:09 UTC, as the CSV from the script under Downloads saved it (volumes rounded):
| ticker | question (outcome) | last price | yes bid / ask | 24h volume | open interest | closes |
|---|---|---|---|---|---|---|
| KXFED-26OCT-T3.75 | Fed upper bound above 3.75% after the 28 Oct meeting | 0.99 | 0.99 / 1.00 | 1,818 | 17,663 | 2026-10-28 |
| KXFED-26OCT-T4.00 | … above 4.00% after 28 Oct | 0.27 | 0.27 / 0.28 | 10,625 | 76,247 | 2026-10-28 |
| KXFED-26OCT-T4.25 | … above 4.25% after 28 Oct | 0.02 | 0.00 / 0.01 | 468 | 25,345 | 2026-10-28 |
| KXFED-26OCT-T4.75 | … above 4.75% after 28 Oct | 0.01 | 0.00 / 0.01 | 4,114 | 5,095 | 2026-10-28 |
| KXFED-26DEC-T4.00 | … above 4.00% after the 9 Dec meeting | 0.83 | 0.82 / 0.83 | 931 | 12,993 | 2026-12-09 |
| KXFED-26DEC-T4.25 | … above 4.25% after 9 Dec | 0.23 | 0.23 / 0.26 | 100 | 26,416 | 2026-12-09 |
| KXFED-26DEC-T4.50 | … above 4.50% after 9 Dec | 0.09 | 0.06 / 0.09 | 56,520 | 86,904 | 2026-12-09 |
Seven markets, seven charged ($0.35 on the Free plan). Prices are dollars per $1 contract: a last price of 0.27 means the market last traded at a 27% implied chance that the upper bound will be above 4.00% after the October meeting. Volume and open interest are in contracts as Kalshi reports them (they can be fractional). The full record also has the event and series tickers, the full market question, the previous price, open, close, expiration and update times, the market status and, once settled, the result.
How fresh this is. Each run reads Kalshi's public API at the moment it runs, and every row carries observed_at, the time it was read. A row is a snapshot of the prices the API served at that moment, not a live stream: Kalshi's public data may be delayed, and prices move between runs. For a time series, schedule the run (for example hourly) and keep the rows.
Get it in one click
Two ready-made searches; open one, press Start, then change the inputs:
- Fed Rate Decision Markets on Kalshi — Traded Contracts
- CPI Inflation Markets on Kalshi — Traded Contracts
Each returns up to 10 markets ($0.50 at most on the Free plan). Or open the Actor, Kalshi Prediction Market Data API — Odds, Prices & Volume, with:
{"seriesTickers": ["KXFED"], "statusFilter": "active", "minVolume24h": 100, "maxRecords": 10}
Other useful inputs: {"keyword": "bitcoin", "statusFilter": "active", "minVolume24h": 100}, {"category": "Economics", "statusFilter": "active"}, {"eventTickers": ["KXFED-26DEC"]} for every market in one event, or "statusFilter": "settled" for results.
Get it from code
curl -X POST "https://api.apify.com/v2/acts/nexgensignal~kalshi-event-market-data-api/run-sync-get-dataset-items?maxTotalChargeUsd=1" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"seriesTickers": ["KXFED"], "statusFilter": "active", "minVolume24h": 100, "maxRecords": 10}'
Or the Python script under Downloads, which saves a CSV (it produced the table above):
export APIFY_TOKEN=your_apify_token # Windows: set APIFY_TOKEN=your_apify_token
python kalshi_odds_to_csv.py # Fed rate decisions
python kalshi_odds_to_csv.py --series KXCPI # CPI inflation
python kalshi_odds_to_csv.py --series "" --keyword bitcoin --max 25
The script starts one run per call. If Apify does not answer, it stops and says so: the run may still have started, so check Apify Console → Runs before running it again. Python 3.8+, nothing to install.
What it costs
Existing prices: you pay per market delivered; blocked runs and empty results cost nothing.
| Apify plan | Per market | The 7 Fed markets above | 100 markets |
|---|---|---|---|
| Free | $0.05 | $0.35 | $5.00 |
| Bronze | $0.045 | $0.32 | $4.50 |
| Silver | $0.04 | $0.28 | $4.00 |
| Gold / Platinum / Diamond | $0.0335 | $0.23 | $3.35 |
A whole category's active markets can run to thousands; add minVolume24h, a series or a keyword to keep only the markets you need.
Know before you rely on it
- A snapshot, not real time. Values are as Kalshi's public API served them when the run read them (
observed_at) and may be delayed. - Informational only. Not trading, investment or financial advice, and not an offer to trade.
- Kalshi's terms govern reuse. The data is Kalshi's (© Kalshi); downstream use is subject to Kalshi's Developer Agreement and terms.
- Market level only. One record per market: no order book, no trade history, no account data. Kalshi only (not Polymarket).
- Not affiliated with Kalshi.
Downloads
- Python script (CSV output) — save as
kalshi_odds_to_csv.py - The real output shown above (CSV) — save as
sample_kalshi_fed_markets_2026-10-01.csv - This guide as a web page
Published by NexGen Signal (official-source data products on Apify). Prices are the Actors' existing pay-per-record prices on 1 October 2026; check the Actor page for current prices.