Every endpoint. Zero guesswork.
/sports/{id}/events/{date}Filtered events and odds for a sport on a date. Market deltas require a known zero-delay entitlement, an explicit X-Data-Delay-Seconds: 0 header returned by the bootstrap response, and a positive integer or numeric string in body meta.delta_last_id. Delayed or unknown plans repeat narrow snapshots.
Read the Efficient Polling guide.curl -i "https://therundown.io/api/v2/sports/4/events/$(date -u +%F)?market_ids=1,2,3&affiliate_ids=3,19,23&main_line=true&hide_closed=true" -H "X-TheRundown-Key: $THERUNDOWN_API_KEY"{
"meta": { "delta_last_id": "11929034100012" },
"events": [{
"teams": [
{ "name": "Celtics" },
{ "name": "Lakers" }
],
"markets": [{
"market_id": 1,
"name": "moneyline",
"participants":
}]
}]
}Everything you need. Nothing you don't.
20+ Data Sources
Published sportsbooks and prediction markets normalized into a single schema.
550+ Market Types
Real-Time WebSocket
Sub-second across all books.
No polling. Ever.
22 Leagues + 9 Variants
Odds History
Up to unlimited line movement history for every event, every book.
Live Scores & Game Data
Period-by-period scores, venue, broadcast, game clock.
$ if [ -z "${THERUNDOWN_API_KEY:-}" ]; then
> echo "Set THERUNDOWN_API_KEY before running this example." >&2
> exit 1
> fi
$ DATE=$(date -u +%F)
$ URL="https://therundown.io/api/v2/sports/4/events/$DATE?market_ids=1,2,3&affiliate_ids=3,19,23&main_line=true&hide_closed=true"
$ curl --fail-with-body -sS --connect-timeout 5 --max-time 20 \
> -D response-headers.txt -o snapshot.json "$URL" \
> -H "X-TheRundown-Key: $THERUNDOWN_API_KEY"
$ curl_exit_status=$?
$ if [ "$curl_exit_status" -ne 0 ]; then exit "$curl_exit_status"; fi
$ awk 'tolower($1)=="x-datapoints:" {print "Billed data points: " $2}' response-headers.txt
Billed data points: 21
$ jq . snapshot.json
{
"meta": { "delta_last_id": "11929034100012" },
"events": [{
"event_id": "a1b2c3d4e5f6",
"teams": [
{ "name": "Boston Celtics", "is_away": true },
{ "name": "Los Angeles Lakers", "is_away": false }
],
"score": { "score_away": 112, "score_home": 108 },
"markets": [
{ "market_id": 1, "name": "moneyline", "participants": [...] },
{ "market_id": 2, "name": "spread", "participants": [...] },
{ "market_id": 3, "name": "total", "participants": [...] }
]
}]
}For odds, one datapoint is one returned participant/outcome × line/value × affiliate price row. V2 event snapshot responses also add event, score, and live-state rows. X-Datapoints is authoritative for the billed total on billed responses. X-Datapoints-Breakdown is optional, is not currently emitted by /api/v2/markets/delta. Starter and other delayed plans should request narrow snapshots at an appropriate cadence; every successful snapshot bills its returned rows. Do not seed deltas from delayed-plan body metadata. For /api/v2/markets/delta, use the delta cursor only when the account has a known zero-delay entitlement, the bootstrap response explicitly returns X-Data-Delay-Seconds: 0, and meta.delta_last_id is a valid positive integer (as a number or numeric string). If any condition is missing or invalid, repeat narrow snapshots; see the Efficient Polling guide.
API plans & pricing
- Free$0/monthNo credit card required20,000/day · 200,000/monthdata points
- REST API access
- 3 sportsbooks (BetMGM, DK, FD)
- Pre-match odds
- Schedules & reference data
- Stats access for new accounts: Catalog + fixed sample; no-card 7-day current-season stats evaluation
- 200,000 data points per calendar month
- No player props or alt markets
- No live in-game odds
- No historical data
- 5-minute data delay
- No WebSocket streaming
1 req/sec rate limit5 minutes delayStart Building - Starter$49/monthExpanded odds data access25,000,000/modata pointsHard-capped by default · optional overage $12.25/1M
- Currently published data sources
- Supported periods & markets
- Live odds access
- Best lines
- 7-day odds history
- Stats access for new accounts: Current-season completed-game boxes and season aggregates
- 60-second data delay
- No WebSocket streaming
- No +EV calculations
- Internal or personal use only
2 req/sec rate limit60 seconds delayGet Started - Pro$149/month+EV tools & faster data125,000,000/modata pointsHard-capped by default · optional overage $7.45/1M
- Everything in Starter
- Value / +EV calculations
- Opening & closing lines
- Commercial end-user display
- 30-day odds history
- Stats access for new accounts: Starter access plus available prior-season game and season archives
- 30-second data delay
- No WebSocket streaming
5 req/sec rate limit30 seconds delayUpgrade to Pro - Most PopularUltra$399/monthReal-time WebSocket delivery500,000,000/modata pointsHard-capped by default · optional overage $4.99/1M
- Everything in Pro
- 1 concurrent WebSocket connection per account
- 3 multiplexed subscriptions per connection
- Real-time data
- 90-day odds history
- Priority support
- Stats access for new accounts: Pro access plus live REST event boxes and live stats over WebSocket
10 req/sec rate limitReal-timeGo Real-Time
Higher-volume plans
- Super$649/monthScaling production workloads
- Everything in Ultra
- 3 concurrent WebSocket connections per account
- 5 multiplexed subscriptions per connection
- Run production and a shadow consumer side by side
- 6-month odds history
- Priority support
- Same new-account stats access as Ultra
1,250,000,000/mo data points · hard cap default; optional $3.25/1M15 req/sec rate limitReal-timeScale Up - Mega$999/monthSportsbook-grade volume
- Everything in Super
- 5 concurrent WebSocket connections per account
- 10 multiplexed subscriptions per connection
- Separate capacity for independent consumers
- 1-year odds history
- Same new-account stats access as Ultra
2,500,000,000/mo data points · hard cap default; optional $2.50/1M20 req/sec rate limitReal-timeScale Up - Max$2499/monthMaximum throughput
- Everything in Mega
- 10 concurrent WebSocket connections per account
- 25 multiplexed subscriptions per connection
- More room for independent consumer services
- Unlimited odds history
- Dedicated support
- Same new-account stats access as Ultra
12,500,000,000/mo data points · hard cap default; optional $1.25/1M50 req/sec rate limitReal-timeScale Up - EnterpriseContact usUnlimited scale & dedicated support
- Everything in Max
- 50 concurrent WebSocket connections per account
- 50 multiplexed subscriptions per connection
- Custom data points & rate limits
- Dedicated support & SLA
- Stats entitlements are scoped by contract
Custom data pointsCustom rate limitReal-timeTalk to Sales
$ curl https://therundown.io/api/v2/sports -H "X-TheRundown-Key: $THERUNDOWN_API_KEY"Get your API key in 30 seconds
Free tier. No credit card. 20,000 data points/day, up to 200,000/month. Start building now.
Frequently Asked API Questions
General API Questions
Technical API Questions
1. Bootstrap once with a narrow snapshot
Call
GET /api/v2/sports/{sport_id}/events/{date}?market_ids=1,2,3,41,42,43&affiliate_ids=3,19,23&main_line=true&hide_closed=true to load open main-line moneyline, spread, and total prices.2. On delayed plans, poll narrow snapshots
Delayed or unknown plans should repeat the narrowest snapshot that fits the use case at an appropriate cadence. Every successful snapshot bills the rows it returns.
3. On zero-delay plans, poll market deltas
Use market deltas only when you have a known zero-delay entitlement, the bootstrap response explicitly returns
X-Data-Delay-Seconds: 0, and body meta.delta_last_id is a valid positive integer (as a number or numeric string). Pass that cursor to GET /api/v2/markets/delta?last_id=…&sport_id=4&market_ids=1,2,3,41,42,43&affiliate_ids=3,19,23. Delta filters are literal, so include live market IDs 41, 42, and 43 with the same sport and book scope. Apply each row's is_main_line and closed_at values, and save the cursor from each successful delta page. If any requirement is absent or invalid, repeat narrow snapshots. Read the Efficient Polling guide.4. Or use WebSocket on Ultra+
Ultra+ can use the multiplexed WebSocket stream for a server-side connection. Use a scoped WebSocket snapshot or a REST baseline, then apply live updates and refresh state after reconnecting.