Skip to main content

2026

September 2026

  • MLB Playoffs sport ID — MLB Playoffs / postseason events now flow under a dedicated sport ID 31, separate from the MLB regular season (3). This follows the same pattern used for MLB Spring Training (30). See Sports & Coverage.
  • Circa Sports, Heritage Sports, BookMaker, BetCRIS, and Bet105 out of beta — Circa Sports (32), Heritage Sports (34), BookMaker (7), BetCRIS (9), and Bet105 (33) have graduated from beta to healthy and are included when filtering with affiliate_ids. The published roster on GET /api/v2/affiliates now reports status: healthy for every listed book. See Sportsbook IDs.
  • ProphetX and Novig out of beta — ProphetX (29) and Novig (30) have graduated from beta to healthy and are included when filtering with affiliate_ids. See GET /api/v2/affiliates and Sportsbook IDs.
  • Polymarket US — Polymarket US is now available as affiliate ID 31 with status: healthy and is included when filtering with affiliate_ids. Availability varies by sport and market. See GET /api/v2/affiliates and Sportsbook IDs.
  • Pinnacle max stake on liquidity_usd — For Pinnacle (affiliate 3), liquidity_usd on V2 price objects now surfaces the book’s max stake. Kalshi and Polymarket keep the existing order-book depth meaning. The field is omitted when unavailable. See the FAQ and the Price object reference.
  • NHL Preseason sport ID — NHL Preseason events now flow under a dedicated sport ID 27, separate from the NHL regular season (6). This follows the same pattern used for NFL Preseason (25). See Sports & Coverage.
  • Included data points raised 5× on all paid tiers — Monthly allowances increased at no price change: Starter 25M, Pro 125M, Ultra 500M, Super 1.25B, Mega 2.5B, and Max 12.5B data points per month. Weekly allowances increased proportionally. Overage rates, burst limits, data delays, and the Free tier are unchanged. See Rate Limits.
  • Scores, results, and limits documented — The new Scores and Results guide covers per-period scores, overtime, half-score calculations, and validation before grading. Period sums matching final totals are documented as observed behavior, not an enforced guarantee. Rate Limits now explains the per-event data-point cost, completed-results sweeps, and the history window for dated requests.
  • Main-line flag on price history — Every row from GET /api/v2/events/{eventID}/markets/history and GET /api/v2/markets/history now carries is_main_line, and chart points from GET /api/v2/events/{eventID}/markets/{marketID}/history carry l (line value) and m (main-line flag). All three accept main_line=true to return only rows that were the main line when written, so a spread moving from -3.5 to -4.5 is visible as the flag leaving one line and arriving on the other at the same timestamp. The documented change_type values now match what the API returns (price, open, close, reopen, main_line, plus current when no history rows exist yet for a requested line ID). See Tracking main-line moves.
  • New-account stats access — Accounts created on or after 2026-09-07T18:00:00Z follow the new stats matrix: Free includes the catalog, fixed sample, and a seven-day current-season evaluation; Starter adds current-season completed-game boxes and season aggregates; Pro adds available prior-season archives; and Ultra adds live REST event boxes and stats streaming. Accounts created before the cutoff retain their existing legacy stats access. See Stats Access.
  • Sportsbook documentation expanded — BookMaker (7), BetCRIS (9), Circa Sports (32), Bet105 (33), and Heritage Sports (34) are included with their canonical names in current roster guidance and API examples. Availability varies by source, sport, and market. Earlier changelog entries use the former display names Hard Rock Bet for HardRock (28) and Sportsbetting for SportsBetting (4); each pair refers to the same affiliate ID. Discover the current roster and integration status through GET /api/v2/affiliates, and see Sportsbook IDs for the canonical names and IDs.

August 2026

  • Futures listing page metadata — GET /api/v2/sports/{sportID}/futures responses now carry meta.count (events on this page), meta.has_more (whether another page exists), and meta.total (events matching your filters across all pages), so one call tells you the size of a listing without walking every page. meta.next_cursor is unchanged: present while more pages exist, absent on the last page. See the Futures guide.
  • Free-tier monthly usage cap — Free API keys now have two usage windows: 20,000 data points per UTC day and 200,000 per UTC calendar month. Reaching either cap returns 429 until that window resets. Free responses retain the daily X-Datapoints-* headers and add X-Datapoints-Monthly-Used, X-Datapoints-Monthly-Remaining, X-Datapoints-Monthly-Limit, and X-Datapoints-Monthly-Reset so both windows are visible. Starter removes the daily cap and includes a monthly allowance, currently published paid-tier sources, live odds, player props, and supported periods. See Rate Limits for current allowances.
  • Expanded live game state now available on all Ultra plans and higher — The sport-specific blocks on live_game_state are no longer limited to a preview audience. Football events carry down, distance, yard_line, possession_team_id, is_red_zone and each side’s remaining timeouts; basketball and hockey carry their own situation blocks; and last_play is included alongside them. Play entries gain team_id, scoring_play, score_value, player participants where attribution is available, and football extras (start_yard_line, end_yard_line, stat_yardage, drive_description). live_game_state.sport now returns a real slug (nfl, nba, soccer, …) for every sport rather than only MLB. All fields are omitted when unavailable, so this is additive. See the new Live Game State reference.
  • Live Game State reference published — Field-level documentation for the in-game state surface and the play-by-play timeline: the clock fields and how to read clock_as_of, the per-sport situation blocks, play object fields and common football play types. Includes two behaviors worth knowing: order the play timeline by sequence rather than occurred_at, and use down_distance_text for football field position, since it is the only field that identifies whose side of the field the ball is on. See Live Game State.
  • Event status values are sport-specific — The Event Statuses page now states this explicitly. A soccer match in play reports STATUS_FIRST_HALF where tennis reports STATUS_IN_PROGRESS, so a status set observed on one sport should not be assumed for another. For detecting period transitions, live_game_state.period plus the clock fields is the more portable signal.
  • ProphetX and Novig live (beta) — The two peer-to-peer exchanges announced earlier this month are now queryable: ProphetX as affiliate ID 29 and Novig as 30. Both report status: beta on GET /api/v2/affiliates while coverage ramps, and are included when filtering with affiliate_ids. See Sportsbook IDs.
  • Polymarket source-ID mapping documented — Every Polymarket price’s source_id encodes the Polymarket event slug, Gamma market ID, and CLOB token ID, so one Gamma API call maps our rows to Polymarket’s own slug/conditionId — and the event-level affiliate_source_ids["26"] is the Polymarket event slug. The recipe with a worked example is now in the Source identifiers reference.
  • Main-line-only WebSocket subscriptions — main_line: true on a markets or futures subscription (or ?main_line=true on /api/v2/ws/markets) now filters the live delta stream to main-line rows, matching the REST parameter and the existing snapshot behavior. You receive every price move and close of each current main; alternate-ladder updates are neither delivered nor metered. Pair with a periodic REST refresh (main_line=true) when you need the authoritative current main at any instant. See the WebSocket reference.
  • Half & live market-ID guidance — The Market IDs reference now documents the first-half (4,5,6) and second-half (1010,1009,1008) markets with their lifecycle (the second-half markets are the halftime lines), and clarifies that live full-game rows arrive under the in-play IDs (41,42,43): requests for 1,2,3 include them automatically, but frames keep the in-play IDs — match on both families.
  • Hard Rock Bet out of beta — Hard Rock Bet (28) has graduated from beta to healthy and is included when filtering with affiliate_ids.
  • Liquidity on prediction-market prices — V2 price objects for Kalshi and Polymarket now include liquidity_usd, an approximate USD reading of resting order-book depth. It appears on supported event detail, sport/date listings, comparisons, and WebSocket market frames. The field is omitted when unavailable, including for traditional sportsbook prices, and follows the plan requirements of each surface. It travels with price updates and does not by itself indicate price movement. See the FAQ and the Price object reference.
  • Futures & outrights (early access) — New GET /api/v2/sports/{sportID}/futures endpoint serving championship and tournament-winner competition events in the standard V2 market shape, priced across tracked sportsbooks. Competitions are interval events (event_date start, settle_by settlement horizon) with per-market settlement state once graded; date filtering uses interval overlap and paging is cursor-based. Live now for NFL, MLB, NCAAF, NHL, NBA, NCAAB, WNBA, EPL, PGA Tour golf (new sport ID 40, including Top 5/10/20 Finish, Make The Cut, and First Round Leader markets), and Formula 1 season championships (new sport ID 41). Price changes flow through the existing /api/v2/markets/delta feed — pass futures market IDs (e.g. 1141) explicitly, as they are not in the delta default set. Early access on Ultra plans and higher; coverage is expanding. See the Futures guide.

July 2026

  • Real-time game stats WebSocket — Live team and player box-score changes now stream as row-level deltas on the new stats channel of the multiplexed V2 WebSocket, and the combined live channel includes the same game_stats frames. Stat changes now stream at play latency — typically within a few seconds of the corresponding play-by-play update — instead of the previous roughly five-minute refresh path. Like all live game data, stats trail the on-field action by roughly 15–20 seconds, in line with the typical broadcast delay. Available on Ultra plans and higher; each changed stat row counts as one stats data point.
  • Richer game-stat context — Team game-stat responses now identify the canonical home and away sides with team.is_home and team.is_away. MLB game stats also distinguish the starting pitcher (startingPitcher) from a position player used as a pitcher (positionPlayerPitching); discover their current IDs through GET /api/v2/stats rather than hard-coding them.
  • MLB doubleheader and makeup metadata — Event schedule objects now expose game_number for true doubleheaders and game_type (doubleheader, makeup, or doubleheader_makeup), so integrations no longer need to parse event headlines.
  • Self-service downgrades — You can now schedule a plan downgrade from your dashboard. Downgrades take effect at the end of the current billing period — you keep your current tier until then, nothing extra is charged, and a scheduled downgrade can be canceled any time before it applies.
  • Sportsbook source IDs — V2 event responses now include affiliate_source_ids (each sportsbook’s own identifier for the event), and price objects include source_id where the book exposes one. Useful for deep-linking and joining against sportsbook-keyed datasets.
  • NFL Preseason and NBA Summer League — 2026 NFL Preseason events now flow under a dedicated sport ID 25, separate from the NFL regular season (2). NBA Summer League is live again under sport ID 32, as in previous seasons.

June 2026

  • Live game state and play-by-play — Ultra tier and above — New real-time game-state data, available exclusively on Ultra plans and higher. Live event payloads embed a live_game_state snapshot (current inning/quarter, balls-strikes-outs and base runners for MLB, down & distance for football, possession and power-play detail for other sports), and the new GET /api/v2/events/{eventID}/plays endpoint returns the full play-by-play timeline with running scores. Plays also stream in real time via the new plays channel on the V2 WebSocket. Coverage spans MLB, NBA (including Summer League), WNBA, NCAAB, NFL, NCAAF, NHL, and soccer, with per-play player attribution rolling out progressively.
  • Included data points raised 2.5x on all paid tiers — Monthly allowances increased at no price change. Overage rates, burst limits, and data delays were unchanged. See Rate Limits for current allowances.
  • Weekly billing plans — Every paid API tier is now available on a weekly billing cadence at a premium over monthly — useful for covering a single tournament or a stretch of a season. Weekly plans include a proportional weekly share of the tier’s monthly allowance, metered over the 7-day billing window; the X-Datapoints-Period header reads weekly on these plans. See Weekly Billing.
  • Player props now require Starter or higher — Player prop markets are included on all paid plans starting at Starter, and are no longer returned on Free keys.
  • event_status include filter — New query parameter on V1 and V2 sport/date event, openers, and closing endpoints. Pass event_status=STATUS_IN_PROGRESS,STATUS_HALFTIME (comma-separated) to receive only events in the listed statuses. Complements exclude_status, and is applied before it when both are present.
  • market_ids capped at 12 per request — REST market endpoints now return a 400 when more than 12 market IDs are requested (previously extra IDs were silently ignored). Split larger requests into batches of 12, or omit the parameter: odds endpoints default to the core markets, and market-definition endpoints return all available definitions.
  • 3-Way Result (563) in default markets for soccer and NHL — Soccer leagues and NHL now default market_ids to 1,2,3,563. The soccer 3-way moneyline (home/draw/away) is served on market 1 as three participants, matching long-standing V1 behavior; market 563 carries the NHL 60-minute (regulation-time) line.
  • is_main_line on the markets delta feed — Delta entries now always include is_main_line, so main-line switches can be tracked from the delta feed alone without refetching snapshots.
  • Upgrade hints on 429 responses — Rate-limit and data-point-cap responses now include upgrade_url and upgrade_message fields alongside the existing error, limit, and Retry-After information.
  • Affiliate status field — The GET /api/v2/affiliates (and /api/v2/sportsbooks) response now includes a status for each sportsbook: healthy (live and verified), unhealthy (the feed is currently degraded or down), or beta (a new integration whose coverage we are still verifying). Use it to surface book health in your UI or to skip beta books in production. Treat unrecognized values as unknown — new statuses may be added without notice, so don’t hard-code the set on the client side.
  • Affiliate regions now opt-in — GET /api/v2/affiliates returns the regions array only when you pass include=regions. The default response omits it; add the parameter if your integration reads region data.
  • FIFA World Cup 2026 coverage — Broad market coverage for the World Cup (sport ID 18) across tracked sportsbooks, including 1X2, asian handicap, totals and first-half totals, both-teams-to-score, correct score, winning margin, goalscorer props, corners, and cards.

May 2026

  • ATP and WTA Tennis leagues — Added ATP Tennis (sport ID 38) and WTA Tennis (sport ID 39) as first-class leagues. Full-match tennis markets use full-game periods (0 prematch, 7 live); set-specific markets use period IDs to distinguish Set 1 and Set 2, including prematch Set 1/Set 2 (3/4) and live Set 1/Set 2 (15/16).
  • Hard Rock Bet affiliate — Hard Rock Bet is now available as affiliate ID 28 in beta, with coverage across NBA, WNBA, MLB, NHL, NFL, soccer, tennis, and UFC including player props and live markets. Coverage is expanding while the integration matures.
  • Event stats correlation — Event stats responses include meta.event_id for easier correlation.

April 2026

  • theScore Bet affiliate — theScore Bet is now available as affiliate ID 24, providing moneyline, spread/runline/puckline, and total markets for NBA, MLB, and NHL (prematch and live). Expanded coverage of additional supported markets is in progress.
  • In-play coverage for LowVig, BetOnline, and Sportsbetting — LowVig (11), BetOnline (6), and Sportsbetting (4) now stream live in-play lines across the V2 market catalog, including player props, team props, and alternate lines. Additional market coverage for these books is in progress.

March 2026

  • Live market variants now default — V2 event endpoints now return live moneyline, spread, and total (IDs 41, 42, 43) alongside the standard prematch markets by default. Integrations that pass explicit market_ids are unaffected.
  • Faster live score updates — Live score data now reflects in-game changes much faster. The score object on event responses — including event_status, display_clock, game_period, and current scores — updates more frequently during live games.
  • Ultra tier latency improvements — Ultra tier subscribers now receive WebSocket price updates in real time with no batching delay. REST endpoints for Ultra tier also return fresher data.

February 2026

  • exclude_status parameter — New query parameter for V1 and V2 event endpoints. Pass exclude_status=STATUS_POSTPONED,STATUS_CANCELED (comma-separated) to filter out postponed and canceled games before they reach your application.
  • delta_last_id bootstrap — V2 markets responses now include meta.delta_last_id, a starting cursor for delta polling. Use it to initialize /api/v2/markets/delta immediately after a snapshot without missing updates.
  • Subscription plan headers — V2 responses now include headers that surface your subscription tier, rate limits, allowed bookmaker IDs, and active feature flags. Useful for building adaptive clients and debugging plan entitlements.
  • Retry-After headers on rate limit responses — All 429 Too Many Requests responses now include a Retry-After header indicating when you may retry.
  • MLB Spring Training migration — MLB Spring Training events have been migrated from sport ID 3 to a dedicated sport ID 30, isolating preseason games from the regular season. This follows the same pattern used for NBA Summer League (32) and other season-specific sport IDs. If you consume spring training data, update your integration to query sport ID 30.
  • OpenAPI spec published — Full OpenAPI 3.1 specification now available for automated client generation and tooling integration.
  • Market 553 deprecated — use market 410 — The any_time_goal_scorer market (ID 553) has been consolidated into the to_score market (ID 410). Market ID 553 will no longer return data. Update integrations that query market 553 to use market 410 instead.

January 2026

  • V2 Markets WebSocket — New wss://therundown.io/api/v2/ws/markets endpoint for real-time market and price updates, replacing the legacy V1 WebSocket. Supports granular filtering by sport, market, event, and affiliate.
  • price_delta field — Pass include=price_delta on V2 event endpoints to receive the previous price and direction of change alongside current odds. Useful for animating line movement on page load.
  • live_variant_id field — Market objects now include a live_variant_id mapping prematch markets to their live equivalents, enabling seamless prematch-to-live market switching.

2025

Q4 2025

  • Player prop markets expansion — Added combo prop markets: PRA (93), Points + Assists (99), Points + Rebounds (297), Rebounds + Assists (298). Added live player prop markets for points (90), assists (91), three-pointers (92), rebounds (982), blocks (983), and turnovers (984).
  • Market line price history — New GET /api/v2/events/{eventID}/markets/history and GET /api/v2/events/{eventID}/markets/{marketID}/history endpoints for full price history with RFC 3339 time range filtering. Opening and closing line endpoints added at /openers and /closing.

Q3 2025

  • V2 markets delta endpoint — GET /api/v2/markets/delta returns only markets that have changed, providing a more efficient alternative to full event polling.
  • Team totals market — Market ID 94 added for individual team over/under totals.
  • Kalshi affiliate — Added Kalshi (affiliate ID 25) to tracked sportsbooks.

Q2 2025

  • V2 API general availability — The V2 market-based data model is now the recommended API version. V1 remains available but new features are V2-only.
  • Alternate lines support — V2 events endpoint returns main and alternate lines. Use main_line=true to filter to primary lines only.
  • Period-based markets — Markets now include period_id for half, quarter, and period-specific odds.