TheRundown developer API
Sports odds API built around the prices you need
Choose TheRundown for multi-book odds with stable event, market, participant and line identities. Select your sources and markets, measure returned usage, and choose a public plan with the freshness your product needs.
Free: delayed pre-match main lines from three books. No credit card. Real-time REST and WebSocket require Ultra or above.
Main lines, props and signed alternate lines
Moneyline, spread and total are the starting scopes for many odds screens. TheRundown exposes them as market IDs 1, 2 and 3; in-play variants are 41, 42 and 43. Select both pre-match and in-play IDs when your eligible plan and workflow need both. Props and period markets are opt-in catalog scopes.
A sportsbook price belongs to a participant’s exact line. Keep a signed spread such as -3.5 separate from +3.5, and preserve each alternate rung rather than merging everything into one market price. TYPE_TEAM, TYPE_PLAYER and TYPE_RESULT identify different selection types.
| Scope | Request selection | Integration detail |
|---|---|---|
| Full-game main lines | market_ids=1,2,3; main_line=true | Each source can have a different priced line |
| In-play main lines | market_ids=41,42,43 | Paid access and plan delay apply |
| Props and periods | Choose explicit IDs from /api/v2/markets | Preserve participant type and period_id |
| Alternates | Include desired catalog markets without the main-line filter | Retain line IDs and signed values |
Evaluate the books and leagues your product uses
Free evaluates delayed pre-match main lines from DraftKings, FanDuel and BetMGM. Paid access adds eligible sources, markets and in-play odds. Discover current sources from the affiliates catalog, then verify a representative event response. Source counts do not establish complete market coverage.
The same request structure supports league-specific sport IDs. Use the correct season variant for preseason and playoffs. Cataloged tennis match markets and futures-only PGA/Formula 1 scopes have different event patterns; do not assume they share an NFL slate structure.
| Example league | Regular season | Variants to check |
|---|---|---|
| NFL | 2 | 25 preseason; 26 playoffs |
| NBA | 4 | 23 preseason; 24 playoffs; 32 summer league |
| MLB | 3 | 30 spring training; 31 playoffs |
| NHL | 6 | 27 preseason; 28 playoffs |
| EPL / MLS | 11 / 10 | Optional regulation three-way markets |
| ATP / WTA | 38 / 39 | Set-market IDs are opt-in |
Read open main-line prices in Python
Set a key and install requests. The sample selects regular-season NFL and three Free-tier sources, so it is usable for delayed pre-match evaluation. Empty dates are normal. The hide_closed filter requests open prices; the parser also excludes an explicit closing timestamp and the off-board sentinel.
Store the participant type and ID, signed line value and source ID beside each price. American prices and cent-denominated prediction-market prices need different presentation rules; this sample selects sportsbooks only.
import os
from datetime import datetime, timezone
import requests
api_key = os.environ["THERUNDOWN_API_KEY"]
day = datetime.now(timezone.utc).date().isoformat()
response = requests.get(
f"https://therundown.io/api/v2/sports/2/events/{day}",
headers={"X-TheRundown-Key": api_key},
params={"market_ids": "1,2,3", "affiliate_ids": "19,22,23",
"main_line": "true", "hide_closed": "true"},
timeout=20,
)
response.raise_for_status()
print("Data points:", response.headers.get("X-Datapoints"))
for event in response.json().get("events", []):
print(event["event_id"], event.get("event_date"), event.get("score", {}))
for market in event.get("markets", []):
for participant in market.get("participants", []):
for line in participant.get("lines", []):
for affiliate, quote in line.get("prices", {}).items():
if quote.get("closed_at") or quote.get("price") == 0.0001:
continue
print(market["market_id"], participant["type"],
participant["id"], line["value"], affiliate,
quote["price"])A snapshot parser for the nested event model. Streaming updates have a different shape; implement them from the stream specification.
Choose freshness and delivery before comparing a bill
Free prices are delayed five minutes; Starter 60 seconds and Pro 30 seconds. Ultra and higher plans provide real-time REST and WebSocket. A short HTTP response time does not remove a plan delay. Confirm the effective delay header rather than assuming every paid tier streams live prices.
For two-sided main lines, one fully priced event from three books across three markets has 18 price rows. Add an event point and a score point when present: 20 data points without live_game_state. A returned live_game_state adds another score point. Missing quotes lower the row count. Confirm the total with X-Datapoints.
Use the 2026 buyer hub to compare current vendor prices, source coverage, rights and billing units. TheRundown’s public plans and measurable request scope make budgeting inspectable; they do not establish a universal cheapest or fastest feed.
Sports odds API pricing and plan delays
Published USD monthly plans start at Free, Starter $49, Pro $149 and Ultra $399. Select the feature set first, then size your included data-point volume. Free and Starter are for internal or personal use; commercial end-user display begins on Pro. Real-time odds and WebSocket begin on Ultra. Paid plans have a fixed subscription fee with included data-point volume. Choose the sports, books and markets your application needs: unrequested price rows do not consume that volume, but using fewer points does not reduce the base fee. Measure each request with X-Datapoints; requests, event objects, credits and data points are different billing units.
| Monthly plan | USD/month | Odds delay | Included volume | Use and delivery |
|---|---|---|---|---|
| Free | $0 | 5 minutes | 20,000/day · 200,000/month | Three books; delayed pre-match main lines. Internal or personal use. |
| Starter | $49 | 60 seconds | 25,000,000/mo | Additional books, props, alternates and delayed in-play odds. Internal or personal use. |
| Pro | $149 | 30 seconds | 125,000,000/mo | Commercial end-user display and a 30-second odds delay. |
| Ultra | $399 | Real-time | 500,000,000/mo | Real-time REST, WebSocket, futures and supported live game data. |
Annual billing has different monthly equivalents. Monthly and annual plans stop at included data points by default; optional overage and weekly billing have separate terms. Super, Mega and Max add published volume and connection capacity; Enterprise is scoped by contract. Confirm effective API and stats access in response headers.
Sports odds API FAQ
- What is a sports odds API?
- It returns structured bookmaker prices for sporting events. TheRundown nests markets, participants, lines and source prices under events so an integration can distinguish the exact selection and line being priced.
- Does every paid plan include real-time odds?
- No. Starter is delayed 60 seconds and Pro 30 seconds. Real-time REST and WebSocket require Ultra or above. Check the effective data-delay header for the key making the request.
- Can I request only selected bookmakers?
- Yes. Use affiliate_ids and market_ids to narrow returned prices. Unrequested rows do not consume the data-point allowance; a paid plan’s fixed subscription fee remains payable.
- Can I evaluate the odds API without a card?
- Free requires no credit card. It includes 20,000 data points per day, capped at 200,000 per month, and five-minute-delayed pre-match main lines from DraftKings, FanDuel and BetMGM. Props, other books, in-play odds and streaming require eligible paid plans.
Build and compare
Choose the API scope that matches your application. Each guide below covers a different integration need.
Product and documentation sources checked October 13, 2026. Source, sport, event and market availability varies; catalog entries do not guarantee a priced line or a populated statistic.