Sports prediction market data API — NBA, NFL, EPL
Polymarket lists discrete-outcome markets on every NBA, NFL, and English Premier League game. Resolved Markets captures their orderbooks event-driven at ~2 Hz, stores every snapshot with full bid/ask depth in ClickHouse, and exposes the data through the same REST + WebSocket + MCP interface used for crypto markets. No 31-day retention cliff. No category-specific surcharges.
Last updated:
- NBA · NFL · EPLLeagues covered
- ~2 HzCapture rate
- UnlimitedHistorical retention
- Pro / EnterpriseTier required
What is captured
Each Polymarket sports market has two tokens — UP (one team wins) and DOWN (the other) — and each token has its own orderbook in USDC probabilities (0.01–0.99). For every event from the upstream Polymarket WebSocket, we apply the delta in memory, derive best bid/ask, mid, spread, depth at the top 5 levels, and persist a full snapshot if the top-of-book changed. Every snapshot carries:
- Full
bidsandasksarrays asArray(Tuple(price, size)) best_bid,best_ask,mid,spread- Cumulative depth at the top 5 price levels per side
- Monotonic
sequence_number(gap detection) event_timestampfrom Polymarket andcapture_timestampfrom our pipeline- Token side (
UP/DOWN) and the parentcondition_id
Pull live NBA orderbooks
# 1. List active NBA markets
curl -s "https://api.resolvedmarkets.com/v1/markets/live?category=sports&subcategory=NBA" \
-H "X-API-Key: rm_your_key" | jq '.markets[] | {slug, condition_id, question}'
# 2. Pull live orderbook for one market
curl -s "https://api.resolvedmarkets.com/v1/markets/<condition_id>/orderbook" \
-H "X-API-Key: rm_your_key" | jq '.up.bids[0:5]'
# 3. Pull last 4 hours of snapshots for time-series analysis
curl -s "https://api.resolvedmarkets.com/v1/markets/<condition_id>/snapshots?limit=500" \
-H "X-API-Key: rm_your_key" | jq '.snapshots[0]'Use cases
- In-game probability research. Reconstruct minute-by-minute implied probabilities through the final quarter of close games and benchmark against win-probability models.
- Spread compression studies. Measure how spreads tighten as resolution approaches — Polymarket sports markets often see sub-cent spreads in the last minutes of play.
- Cross-market arbitrage signals. Compare Polymarket discrete-outcome prices against centralized sportsbooks, in-play odds feeds, or DraftKings markets where regulation allows.
- AI agent reporting. Wire the MCP server into a Claude or ChatGPT agent and ask "what was the implied probability of the Lakers winning at the start of the 4th quarter on game X?"
Frequently asked questions
Which sports leagues are covered?
NBA, NFL, and English Premier League game-outcome markets on Polymarket. Each market has Up (one team wins) and Down (the other) tokens with full bid/ask depth. Markets are tracked from listing through resolution.
How fresh is sports market data?
We capture event-driven snapshots at roughly 2 Hz per token. Each snapshot carries a Polymarket event timestamp and a capture timestamp so you can measure end-to-end latency. During the final minutes of close games, capture rate scales with order activity.
Can I get pre-game and in-game data separately?
Yes — every snapshot has captureTimestamp and eventTimestamp. Filter by ISO timestamp range using /v1/markets/:id/snapshots?from=...&to=... or use /v1/markets/:id/summary for aggregated stats over a window.
What tier do I need for sports markets?
Sports markets are available on Pro ($17/mo) and Enterprise ($249/mo). Free tier is limited to BTC and weather categories.
Can I stream sports orderbooks via WebSocket?
Currently the streaming WebSocket exposes BTC/ETH/SOL/XRP on Pro and Enterprise. Sports markets are accessible via REST and via the MCP server. WebSocket subscription for sports is on the roadmap.