TheRundown developer API
Sports betting API for accurate tools and game views
Choose TheRundown for structured prices with explicit participant, line and closure identity. Build comparisons and alerts from the data your tool uses, with public plans and response headers that make usage measurable.
Free: delayed pre-match main lines from three books. No credit card. Real-time REST and WebSocket require Ultra or above.
Match the API data to the tool you are building
A line-comparison screen needs the same event, market period, participant and signed line across sources. A player-prop view also needs player identity and the correct stat market. A value or arbitrage calculation cannot safely compare different rungs or treat a withdrawn price as available.
TheRundown supplies data, not a guarantee that a sportsbook will accept a wager at a displayed price. Source identifiers may be present where available; they are not a universal ready-made bet-slip link or an SGP builder. Verify those requirements separately before replacing a tool dependency.
| Tool | Useful API fields | Validation |
|---|---|---|
| Line comparison | event_id, market_id, period_id, participant and line IDs | Compare the same signed line and open price |
| Prop screen | TYPE_PLAYER participant, market catalog, lines/prices | Join on player ID rather than name |
| Price alert | Price timestamp, line identity, closed_at | Distinguish a price change, line move and closure |
| Game context | score status and scheduled event_date | Handle missing score metadata and season variants |
Start with main lines; add the needed props and periods
Free supplies five-minute-delayed pre-match game lines from three books. Eligible paid plans add other sources, props, alternates and in-play access. Discover catalog market IDs and test the sport/book combination, rather than assuming every cataloged market has a quote for every game.
NFL 2, NBA 4 and MLB 3 are regular-season scopes. Preseason and playoff IDs differ. Prematch game markets 1/2/3 and their in-play counterparts 41/42/43 should be requested explicitly when your paid entitlement and workflow need both phases.
| Data need | Scope to test | Plan consideration |
|---|---|---|
| Pre-match main lines | 1,2,3 from selected affiliates | Free evaluates three books with five-minute delay |
| Props / alternates | Explicit catalog IDs and desired rungs | Eligible paid tier; availability varies |
| In-play odds | 41,42,43 plus needed live prop IDs | Starter 60s, Pro 30s, Ultra real-time |
| Customer-facing display | Exact data and licensed use | Pro or above; confirm intended use |
Parse the exact prices your tool compares
The Python sample fetches a narrow regular-season NFL snapshot. Set THERUNDOWN_API_KEY, install requests and choose an active date or sport variant. It prints the market, participant identity, signed line, source and price for the returned open sportsbook quotes.
Keep a composite identity in your application instead of flattening every quote into a market-level value. The same participant may have several alternate lines, and one side can close while another remains open.
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"])Use the response fields as inputs to your own calculations. This does not place a bet or guarantee execution.
Handle closure, reopen and freshness explicitly
A recorded closed_at timestamp closes the exact price record. Apply a later explicit closed_at empty-string reopen as open. An old updated_at value, a game clock or the absence of a source screen does not itself establish closure. Preserve withdrawn alternates when your display needs that state.
The off-board price sentinel 0.0001 should not become a tradable price in a calculation. Treat unknown or missing inputs as unavailable information. In a streaming consumer, merge updates into the exact participant/line/source record rather than replacing all prices for a market.
Measure a representative filtered workload before choosing volume. Narrow requests conserve the included allowance, while the fixed plan fee remains payable. Choose commercial rights and freshness first; volume alone cannot make a Free or Starter integration eligible for customer display.
Sports betting 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 betting API FAQ
- Can this API power a sports betting tool?
- It supplies structured odds, scores and supported game data for your integration. You must implement calculations, validate coverage and choose a plan permitting the intended use. The API does not place wagers or guarantee sportsbook execution.
- Does TheRundown include every sportsbook market?
- No. Availability varies by source, sport, event and market. Discover catalog IDs and inspect actual event responses for each required combination.
- Which plans allow commercial end-user display?
- Commercial end-user display begins on Pro. Free and Starter are for internal or personal use. Confirm the precise licensed use and required freshness before deploying a customer-facing product.
- How do I know whether a price has closed?
- Use the exact price record’s closed_at signal and apply a later explicit empty-string reopen. Do not infer closure from updated_at age, game state or a missing source screen. Exclude the off-board sentinel from actionable calculations.
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.