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 frombetatohealthyand are included when filtering withaffiliate_ids. The published roster onGET /api/v2/affiliatesnow reportsstatus: healthyfor every listed book. See Sportsbook IDs. - ProphetX and Novig out of beta — ProphetX (
29) and Novig (30) have graduated frombetatohealthyand are included when filtering withaffiliate_ids. SeeGET /api/v2/affiliatesand Sportsbook IDs. - Polymarket US — Polymarket US is now available as affiliate ID
31withstatus: healthyand is included when filtering withaffiliate_ids. Availability varies by sport and market. SeeGET /api/v2/affiliatesand Sportsbook IDs. - Pinnacle max stake on
liquidity_usd— For Pinnacle (affiliate3),liquidity_usdon 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/historyandGET /api/v2/markets/historynow carriesis_main_line, and chart points fromGET /api/v2/events/{eventID}/markets/{marketID}/historycarryl(line value) andm(main-line flag). All three acceptmain_line=trueto return only rows that were the main line when written, so a spread moving from-3.5to-4.5is visible as the flag leaving one line and arriving on the other at the same timestamp. The documentedchange_typevalues now match what the API returns (price,open,close,reopen,main_line, pluscurrentwhen 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:00Zfollow 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 throughGET /api/v2/affiliates, and see Sportsbook IDs for the canonical names and IDs.
August 2026
- Futures listing page metadata —
GET /api/v2/sports/{sportID}/futuresresponses now carrymeta.count(events on this page),meta.has_more(whether another page exists), andmeta.total(events matching your filters across all pages), so one call tells you the size of a listing without walking every page.meta.next_cursoris 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,000data points per UTC day and200,000per UTC calendar month. Reaching either cap returns429until that window resets. Free responses retain the dailyX-Datapoints-*headers and addX-Datapoints-Monthly-Used,X-Datapoints-Monthly-Remaining,X-Datapoints-Monthly-Limit, andX-Datapoints-Monthly-Resetso 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_stateare no longer limited to a preview audience. Football events carrydown,distance,yard_line,possession_team_id,is_red_zoneand each side’s remaining timeouts; basketball and hockey carry their own situation blocks; andlast_playis included alongside them. Play entries gainteam_id,scoring_play,score_value, playerparticipantswhere attribution is available, and football extras (start_yard_line,end_yard_line,stat_yardage,drive_description).live_game_state.sportnow 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 bysequencerather thanoccurred_at, and usedown_distance_textfor 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_HALFwhere tennis reportsSTATUS_IN_PROGRESS, so a status set observed on one sport should not be assumed for another. For detecting period transitions,live_game_state.periodplus 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
29and Novig as30. Both reportstatus: betaonGET /api/v2/affiliateswhile coverage ramps, and are included when filtering withaffiliate_ids. See Sportsbook IDs. - Polymarket source-ID mapping documented — Every Polymarket price’s
source_idencodes the Polymarket event slug, Gamma market ID, and CLOB token ID, so one Gamma API call maps our rows to Polymarket’s ownslug/conditionId— and the event-levelaffiliate_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: trueon amarketsorfuturessubscription (or?main_line=trueon/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 for1,2,3include 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 frombetatohealthyand is included when filtering withaffiliate_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}/futuresendpoint serving championship and tournament-winner competition events in the standard V2 market shape, priced across tracked sportsbooks. Competitions are interval events (event_datestart,settle_bysettlement horizon) with per-marketsettlementstate 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 ID40, including Top 5/10/20 Finish, Make The Cut, and First Round Leader markets), and Formula 1 season championships (new sport ID41). Price changes flow through the existing/api/v2/markets/deltafeed — 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
statschannel of the multiplexed V2 WebSocket, and the combinedlivechannel includes the samegame_statsframes. 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_homeandteam.is_away. MLB game stats also distinguish the starting pitcher (startingPitcher) from a position player used as a pitcher (positionPlayerPitching); discover their current IDs throughGET /api/v2/statsrather than hard-coding them. - MLB doubleheader and makeup metadata — Event schedule objects now expose
game_numberfor true doubleheaders andgame_type(doubleheader,makeup, ordoubleheader_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 includesource_idwhere 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 ID32, 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_statesnapshot (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 newGET /api/v2/events/{eventID}/playsendpoint returns the full play-by-play timeline with running scores. Plays also stream in real time via the newplayschannel 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-Periodheader readsweeklyon 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_statusinclude filter — New query parameter on V1 and V2 sport/date event, openers, and closing endpoints. Passevent_status=STATUS_IN_PROGRESS,STATUS_HALFTIME(comma-separated) to receive only events in the listed statuses. Complementsexclude_status, and is applied before it when both are present.market_idscapped at 12 per request — REST market endpoints now return a400when 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_idsto1,2,3,563. The soccer 3-way moneyline (home/draw/away) is served on market1as three participants, matching long-standing V1 behavior; market563carries the NHL 60-minute (regulation-time) line. is_main_lineon the markets delta feed — Delta entries now always includeis_main_line, so main-line switches can be tracked from the delta feed alone without refetching snapshots.- Upgrade hints on
429responses — Rate-limit and data-point-cap responses now includeupgrade_urlandupgrade_messagefields alongside the existingerror,limit, andRetry-Afterinformation. - Affiliate
statusfield — TheGET /api/v2/affiliates(and/api/v2/sportsbooks) response now includes astatusfor each sportsbook:healthy(live and verified),unhealthy(the feed is currently degraded or down), orbeta(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
regionsnow opt-in —GET /api/v2/affiliatesreturns theregionsarray only when you passinclude=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 ID39) as first-class leagues. Full-match tennis markets use full-game periods (0prematch,7live); 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
28in 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_idfor 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_idsare unaffected. - Faster live score updates — Live score data now reflects in-game changes much faster. The
scoreobject on event responses — includingevent_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_statusparameter — New query parameter for V1 and V2 event endpoints. Passexclude_status=STATUS_POSTPONED,STATUS_CANCELED(comma-separated) to filter out postponed and canceled games before they reach your application.delta_last_idbootstrap — V2 markets responses now includemeta.delta_last_id, a starting cursor for delta polling. Use it to initialize/api/v2/markets/deltaimmediately 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-Afterheaders on rate limit responses — All429 Too Many Requestsresponses now include aRetry-Afterheader indicating when you may retry.- MLB Spring Training migration — MLB Spring Training events have been migrated from sport ID
3to a dedicated sport ID30, 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 ID30. - 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_scorermarket (ID 553) has been consolidated into theto_scoremarket (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/marketsendpoint for real-time market and price updates, replacing the legacy V1 WebSocket. Supports granular filtering by sport, market, event, and affiliate. price_deltafield — Passinclude=price_deltaon 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_idfield — Market objects now include alive_variant_idmapping 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/historyandGET /api/v2/events/{eventID}/markets/{marketID}/historyendpoints for full price history with RFC 3339 time range filtering. Opening and closing line endpoints added at/openersand/closing.
Q3 2025
- V2 markets delta endpoint —
GET /api/v2/markets/deltareturns 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=trueto filter to primary lines only. - Period-based markets — Markets now include
period_idfor half, quarter, and period-specific odds.