REST + WebSocketv2 Stable

Sports Odds and Data API.

Odds, scores, stats and play-by-play with stable player and team IDs across games and seasons. Sportsbooks and prediction markets in one schema. REST on every plan; real-time REST and WebSocket on Ultra.

20K data points/day · 200K/month · No credit card

Sub-second across every book.WebSocket and play-by-play on Ultra and above.Measured live game-data timing
25+Data Sources
550+Market Types
Sub-second across all books.Data freshness
20K/day · 200K/moFree quota
23 + 9Leagues · variants
1M+Daily Requests

Same IDs. Every game. Every season.

Markets, with closure fields and main_line

Player IDs across props, stats and plays

Team IDs across events and history

Scores and live game state

Completed game sample · Detroit at Charlotteevent_id 347292f7e9678b6582148e271cf0eb06
Prop marketREST v2
participants[].id16153

Cade Cunningham

market_id 29 · points

Over 17.5-125(closed)
Season statsREST v2
player_id16153

GET /teams/8/players/stats

season_year 2026

GP
64
PTS
23.9
AST
9.9
$ 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=19,22,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": [...] }
    ]
  }]
}

The REST samples request DraftKings, BetMGM and FanDuel, the three books on Free. The WebSocket sample requires Ultra or above.

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.

Get an odds API key

Start free with no credit card. Upgrade when you need more books, markets or speed.
  1. Create a free account

    Sign up with an email and password, and your key appears in your account dashboard. Free is a $0 plan, not a trial.

  2. Send it with each request

    Put the key in the X-TheRundown-Key header from your server, not from browser code. The quickstart walks through a first request.

  3. Know what Free includes

    20,000 data points per UTC day, up to 200,000 per month, and pre-match moneylines, spreads and totals from DraftKings, FanDuel and BetMGM, delayed 5 minutes. Starter ($49/mo) adds every book, player props, alternate lines and live odds. Compare plans.

What you can build with the sports betting API

A sports betting API, also called an odds API, delivers sportsbook prices to your software as structured data. Pick the fields your tool compares: every price stays tied to its event, market, participant and line.
  • Odds comparison screen

    Line up the same event, market period, participant and signed line across books with event_id, market_id, period_id and the participant and line IDs, and show the prices that are open.

    Live odds API
  • Player prop tool

    Join props on the player ID rather than the name, and take the stat market from the market catalog. Player props start on Starter.

    Player props API
  • Arbitrage and +EV tools

    Compare the same line rung at every book, and treat a price that carries closed_at as withdrawn, not available.

    Arbitrage calculator
  • Price alerts and game trackers

    Use the price timestamp and the line identity to tell a price change from a line move or a closure, and join scores and game state on the same event ID.

    Historical odds API

Every endpoint. Zero guesswork.

Query over REST. Request snapshots and stream updates over WebSocket.
GET/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.
Data freshnesssub-second across all books.
Request
curl --fail-with-body -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"
Response preview
{ "meta": { "delta_last_id": "11929034100012" }, "events": [{ "teams": [ { "name": "Celtics" }, { "name": "Lakers" } ], "markets": [{ "market_id": 1, "name": "moneyline", "participants": }] }] }

API plans & pricing

Start free. Scale when you're ready. No credit card required.

Sportradar-class data at a fraction of the cost

Ultra $399/mo ≈ ~1/25th of third-party-reported $10k+/mo enterprise contracts*

Sportradar

No public rate card · third-party-reported $10k+/mo*

TheRundown Ultra

$399/mo · public pricing, no quote

*Third-party reports; Sportradar publishes no rate card. Checked Oct 15, 2026. SportsGameOdds report · SharpAPI report. Packages, coverage, usage limits, and rights differ.

  1. Free

    No credit card required

    $0/month
    20,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 delay
  2. Starter

    For internal tools and personal models

    $49/month
    25,000,000/modata points
    Hard-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 delay
  3. Pro

    For apps that show odds to your users

    $149/month
    125,000,000/modata points
    Hard-capped by default · optional overage $7.45/1M
    • Everything in Starter
    • Value / +EV calculations
    • Opening & closing lines
    • Commercial display in your app, with attribution
    • 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 delay
  4. Ultra

    Most popular

    For real-time apps, WebSocket included

    $399/month
    500,000,000/modata points
    Hard-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-time

Secure Stripe checkout. Upgrades apply right away. Cancel anytime.

Which API plan fits your project?

Start with the freshness and display rights your project needs, then check the volume. Free stays $0 with no card required: five-minute delayed pre-match main lines from three books, for internal or personal use.

Starter

$49/month

I need more sources, props or in-play odds for my own use.

  • 60-second delayed REST.
  • No WebSocket streaming.
  • Internal business or personal use.

25,000,000/mo included.

Choose Starter, $49/mo

Pro

$149/month

I show odds, comparisons or probabilities to my users, or measure closing lines.

  • 30-second delayed REST.
  • No WebSocket streaming.
  • Commercial display, with attribution. No Supplemental Agreement needed. Opening and closing lines.

125,000,000/mo included.

Choose Pro, $149/mo

These are monthly prices. Check source, sport and market availability on your actual responses. Additional WebSocket connections and larger allowances are available on higher-volume plans.

Validate your workload before choosing

  1. Make a narrow first request and confirm your required events, markets and open prices.
  2. Read the actual X-Datapoints response header, then estimate snapshot usage. Repeated snapshots bill their returned rows again; the estimate does not change a plan's base fee.
  3. Check delivery with the REST and WebSocket guide. A quota fit alone does not grant real-time access or commercial display rights.

Read the measured plan-sizing example.

Switching providers? Use the field maps and validation checklists for:

Comparing providers? Read the pricing and coverage comparisons for:

Compare plans and choose your billing interval

Higher-volume plans

Super, Mega, Max, and Enterprise plans for production-scale traders, modelers, and sportsbook-grade workloads.
  1. Super

    Scaling production workloads

    $649/month
    1,250,000,000/modata points
    hard cap default; optional $3.25/1M
    • 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
    15 req/sec rate limitReal-time
  2. Mega

    Sportsbook-grade volume

    $999/month
    2,500,000,000/modata points
    hard cap default; optional $2.50/1M
    • 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
    20 req/sec rate limitReal-time
  3. Max

    Maximum throughput

    $2,499/month
    12,500,000,000/modata points
    hard cap default; optional $1.25/1M
    • 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
    50 req/sec rate limitReal-time
  4. Enterprise

    Unlimited scale & dedicated support

    Contact us
    Customdata points
    • 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 rate limitReal-time
$ 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.

New to the API? Make your first request in the quickstart.

Frequently Asked API Questions

Getting started

Plans and pricing

Data and coverage

Speed and delivery

IDs

V1 vs V2

Rate limits and usage

Support

See every question in the full FAQ