
Polymarket & Kalshi Historical Data: Free Sources & APIs
Every source for Polymarket and Kalshi historical data — free API endpoints, candlesticks, trade history, on-chain data, and unified options.
Whether you're backtesting a strategy, doing academic research on forecast accuracy, or building charts, you need historical prediction market data — and it's scattered across more places than you'd expect. Here's every meaningful source for Polymarket and Kalshi historical data, what each covers, and what it costs (mostly: nothing).
Polymarket historical data
Polymarket's read APIs are free and require no authentication. Three endpoints matter for history:
1. Price history — CLOB API
GET https://clob.polymarket.com/prices-history returns time-series prices for a specific CLOB token (each market has a Yes token and a No token):
import requests
resp = requests.get(
"https://clob.polymarket.com/prices-history",
params={"market": "YOUR_CLOB_TOKEN_ID", "interval": "max"},
)
history = resp.json()["history"] # [{"t": timestamp, "p": price}, ...]
Get the token ID from the market object's clobTokenIds field via the Gamma API (gamma-api.polymarket.com/markets). Note it's a JSON-encoded string you must parse. For a full walkthrough of Gamma, CLOB, and the Data API, see our complete Polymarket API guide.
2. Trade history — Data API
GET https://data-api.polymarket.com/trades returns individual trades — the granular record of who traded what, when, at what price. Essential if candle-level data isn't enough (e.g., slippage modeling).
3. On-chain data — Polygon
Every Polymarket trade settles on Polygon, so the blockchain itself is a complete, tamper-proof historical record. Querying it directly (via a Polygon node or an indexer) is the most work, but it's the ground truth — useful for research that needs wallet-level attribution, like tracking historical smart-money performance.
Resolved markets: the Gamma API keeps closed markets queryable (closed=true), so you can enumerate historical questions and outcomes for calibration studies.
Kalshi historical data
Kalshi's market data endpoints are also public and free. The wrinkle: Kalshi splits data into live and historical databases, with a cutoff timestamp separating them.
1. Candlesticks — live markets
GET /markets/{ticker}/candlesticks on api.elections.kalshi.com/trade-api/v2 returns OHLC data at 1-minute, 1-hour, or 1-day resolution. There's also a batch endpoint for multiple markets, and event-level candlesticks aggregated across an event's markets.
2. The /historical/ endpoints — archived markets
Markets settled before the historical cutoff move to dedicated endpoints: GET /historical/markets, GET /historical/markets/{ticker}/candlesticks, and GET /historical/trades. If a market you're looking for 404s on the live endpoints, it's in the archive. GET /historical/cutoff_timestamps tells you where the boundary sits.
3. Public trades
GET /markets/trades returns the tape — every public trade with price, quantity, and timestamp, cursor-paginated:
import requests
resp = requests.get(
"https://api.elections.kalshi.com/trade-api/v2/markets/trades",
params={"ticker": "CONTROLH-2026-D", "limit": 100},
)
for t in resp.json()["trades"]:
print(t["created_time"], t["yes_price"], t["count"])
Prices are in cents (1–99), mapping directly to implied probability. New to the Kalshi API? Start with our getting started guide.
The gap: cross-platform history
Here's what none of the above gives you: the same event's price history across platforms, aligned.
For most interesting questions — Was Kalshi or Polymarket faster to react to the jobs report? How large do cross-platform spreads get before they close? Which platform's prices are better calibrated? — you need matched, time-aligned series from multiple venues. Building that yourself means running collectors against every platform's API, 24/7, plus solving entity resolution (Kalshi's PRES-2028-DEM = Polymarket's presidential-2028 = PredictIt's #8102).
That matched, multi-platform view is what the Prediction HuntPrediction.com API provides: 6 platforms behind one key, with events automatically resolved to a single entity across venues — so a single query returns each platform's pricing for the same real-world question:
curl -H "X-API-Key: YOUR_API_KEY" \
"https://prediction.com/api/v2/search?q=fed+rate+hike"
For ongoing collection, WebSocket price channels let you build your own tick archive across all platforms from one connection instead of six. The free tier (1,000 requests/month) covers exploratory research; Dev covers production collection.
Which source should you use?
| You need | Use |
|---|---|
| One Polymarket market's price chart | CLOB /prices-history |
| Polymarket trade-level data | Data API /trades |
| Wallet-level attribution | Polygon on-chain data |
| Kalshi OHLC for a live market | /markets/{ticker}/candlesticks |
| Kalshi data on settled/old markets | /historical/ endpoints |
| Same event across platforms, matched | Prediction HuntPrediction.com API |
| Cross-platform tick archive going forward | Prediction HuntPrediction.com WebSockets |
Researching the platforms themselves rather than their data? Our Polymarket vs Kalshi side-by-side comparison covers fees, liquidity, and market selection.
Backtest across every platform, not just one. Get a free Prediction HuntPrediction.com API key — matched cross-platform market data in a single call.
Frequently Asked Questions
Is Polymarket historical data free?
Yes — prices-history, trades, and market metadata are all public, no API key required.
Is Kalshi historical data free?
Yes — candlesticks, trades, and the historical archive endpoints are public.
How far back does the data go?
Polymarket price history extends back to each market's creation (the platform launched in 2020). Kalshi's archive covers settled markets back to its 2021 launch, via the /historical/ endpoints.
What about PredictIt and other platforms?
Coverage varies and APIs are thinner — this is where a unified API saves the most time, since Prediction HuntPrediction.com normalizes platforms that lack good native historical access.
Build with this data
Automate your strategies, create arb bots, or build your own dashboard. Free tier includes 1,000 requests/mo across all prediction market platforms.
Free Trading Tools
View allCompare fees across Kalshi, Polymarket & PredictIt.
Find fair probabilities with the overround removed.
See if a trade has positive EV before you enter.
Convert American, decimal & implied probability.
Combined odds and payouts for multi-leg bets.
Your real take-home after fees and taxes.
Related Posts

Best API for Prediction Markets in 2026 (Kalshi, Polymarket)
Compare the best prediction market API in 2026: Polymarket API, Kalshi API, PredictIt, Predict.fun and Prediction HuntPrediction.com's unified cross-platform data API.
16 min readRead
Kalshi API: The Complete Getting Started Guide (2026)
How to use the Kalshi API — market data endpoints, RSA API key authentication, the Python SDK, WebSockets, and the demo environment. With code examples.
4 min readRead
Polymarket API Guide: Gamma, CLOB & Data API (2026)
Everything you need to use the Polymarket API — Gamma, CLOB, and Data API endpoints, authentication, rate limits, WebSockets, and Python examples.
5 min readRead