Kalshi Markets & Odds API
Pricing
from $0.05 / fetch run
Kalshi Markets & Odds API
Clean, normalized Kalshi prediction-market data: markets, live two-sided quotes, volumes and liquidity. No API key needed, parlays filtered out.
Pricing
from $0.05 / fetch run
Rating
0.0
(0)
Developer
Franclim Diogo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Kalshi Markets & Odds API — live prediction market data
Get clean, normalized Kalshi prediction-market data — every open market with live quotes, implied probabilities, volumes, liquidity and open interest — as a ready-to-use dataset. No API key, no auth, no setup.
Kalshi's raw API is powerful but full of traps: prices arrive as strings, the /markets endpoint is flooded with hundreds of thousands of multivariate parlay combos without quotes, and half the fields need decoding. This Actor is the plumbing done right, so you can build on top of the data instead of fighting it.
What you get
Each row is one market, flat and typed:
| Field | Description |
|---|---|
ticker, event_ticker | Kalshi identifiers |
title, subtitle, category | Event title + market sub-title (e.g. candidate, threshold) |
yes_ask, yes_bid, no_ask, no_bid, last_price | Live prices as floats (dollars, 0–1) |
implied_prob_pct | Implied probability of YES (yes_ask × 100) |
spread | yes_ask − yes_bid |
quoted | True when the market has live two-sided quotes |
volume_24h, liquidity, open_interest | Activity metrics |
close_time, url | When it closes + direct Kalshi link |
Why this Actor
- Parlays filtered out — multivariate combo markets (no standalone quotes) are excluded, leaving only real, tradeable markets.
- Quotes guaranteed two-sided — by default every row has a live yes ask and no ask strictly between 0 and 1.
- Clean flat schema — prices parsed to floats, volumes to integers; no string-decoding on your side.
- MCP-ready — output schema included, so AI agents can consume this Actor programmatically.
Modes
- All quoted markets (default) — the full live snapshot, sorted by 24h volume.
- Search — case-insensitive match on title + subtitle (
searchQuery: "bitcoin","fed decision","premier league"). - Closing soon — only markets closing within
closingWithinHours(default 24) — useful for expiry plays and monitoring.
Filters: minVolume24h, minLiquidity, maxResults, maxPages (each page ≈ 200 events).
Use cases
- Dashboards — live odds boards for politics, sports, economics, weather
- Bots & alerts — feed a trading or notification pipeline on a schedule
- Research — snapshot market-implied probabilities over time
- Arbitrage tooling — pair it with my Polymarket × Kalshi Arbitrage Scanner to hunt cross-platform mispricings
Honest notes
- This is public market data; prices move fast — schedule frequent runs if freshness matters.
- Kalshi's public events endpoint currently reports
liquidityas 0 for all markets — judge executability byvolume_24h,open_interestandspreadinstead. The field stays in the schema in case Kalshi starts populating it. - Prices are order-book asks/bids at fetch time, not guaranteed fills.
- Not financial advice.
Pricing
Pay-per-event: a small flat fee per fetch run plus a tiny per-row fee. You only pay for the data you get.