Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Update Frequencies

This guide helps you plan polling and caching against your request quota. Each feed has a time-to-live (TTL): how long a response is cached, and a data update cadence: how often the underlying data actually changes. The two are not the same: a short TTL on slowly-changing data does not mean you should poll fast. Given your request budget (see API Basics), drive your polling from the Recommended pull columns, not the TTL.

TTL values below were measured from live responses; each response carries its own cache-control header, which is always the authority for the payload in hand.



Frequency Chart

FeedTTL (cache)Data updatesRecommended pull (non-live)Recommended pull (live)
Competitions5 minutesChange at season boundaries and when competitions are addedWeeklyNot applicable
Competition Info5 minutesChange at season boundaries and when competitions are addedWeeklyNot applicable
Competition Seasons5 minutesChange at season boundaries and when competitions are addedWeeklyNot applicable
Seasons5 minutesChange at season boundaries and when competitions are addedWeeklyNot applicable
Season Info5 minutesStructure and coverage are set at season start and rarely moveWeekly, and at season startNot applicable
Season Competitors5 minutesMove on transactions and roster changesDailyNot applicable
Season Players5 minutesMove on transactions and roster changesDailyNot applicable
Season Summaries5 minutesSchedule changes as announced; results and statistics as games closeDaily, or driven by Sport Events UpdatedUse the live feeds for in-play data
Daily Summaries5 minutesEntries update as the day's games play and closeA few times per dayEvery 5 minutes for a scores page; use the live feeds for faster needs
Season Standings10 secondspost coverage: after games close; live coverage: during playAfter each day's games closeEvery 1 to 5 minutes for live-coverage seasons (NPB and KBO League among them)
Season Links5 minutesBrackets fill in as cup rounds resolveDaily during the eventNot applicable
Season Lineups30 secondsLineups land as they are announcedDailyIn the hour before first pitch
Sport Event Summary1 second (live game); 6 minutes (closed game)Scores live through play; statistics settle in the minutes after the final outOne pull a few minutes after closedUse the live feeds during play
Sport Event Timeline1 secondEvents land pitch by pitch during play, then stop at the final outOnce after closedEvery 2 to 10 seconds for a gamecast
Sport Event Lineups1 secondAnnounced before the game; substitutions during itOnce pre-gameIn the hour before first pitch, and at game start
Live Summaries1 secondReal time while games are in the live windowNot applicableEvery 2 to 10 seconds for a gamecast; every 20 to 60 seconds for a scoreboard
Live Timelines1 secondReal time while games are in the live windowNot applicableEvery 2 to 10 seconds for a gamecast; every 20 to 60 seconds for a scoreboard
Live Timelines Delta1 secondReal time while games are in the live windowNot applicableEvery 2 to 10 seconds for a gamecast; every 20 to 60 seconds for a scoreboard
Competitor Profile5 minutesMove on transactions, not in-gameDailyNot applicable
Player Profile5 minutesMove on transactions, not in-gameDailyNot applicable
Competitor Summaries5 minutesGain entries as games closeDaily, or after each slateNot applicable
Player Summaries5 minutesGain entries as games closeDaily, or after each slateNot applicable
Competitor vs Competitor1 minuteUpdates as meetings are played or scheduledDailyNot applicable
Sport Events Updated1 minuteEntries populate continuously across a rolling 24-hour windowHourly on quiet daysEvery few minutes on game days
Sport Events Created5 minutesSchedule publications and entry correctionsHourlyNot applicable
Sport Events Removed1 minuteSchedule publications and entry correctionsHourlyNot applicable
Competitor Mappings5 minutesOccasional; merges only when duplicates are resolvedDailyNot applicable
Player Mappings5 minutesOccasional; merges only when duplicates are resolvedDailyNot applicable
Competitor Merge Mappings5 minutesOccasional; merges only when duplicates are resolvedDailyNot applicable
Player Merge Mappings5 minutesOccasional; merges only when duplicates are resolvedDailyNot applicable

The Probabilities package (see Tracking Win Probabilities):

FeedTTL (cache)Data updatesRecommended pull (non-live)Recommended pull (live)
Sport Event Probabilities1 secondRecalculates periodically pre-match, continuously in playEvery few minutes pre-matchEvery few seconds
Timeline Probabilities1 secondGrows point by point during play, then stopsOnce after closed for chartingUse the live feeds instead
Live Probabilities1 secondIn-play recalculations across the live slateNot applicableEvery few seconds
Sport Event Upcoming Probabilities1 secondRolls with the next-24-hour windowA few times per dayNot applicable
Season Probabilities1 minuteMove meaningfully as games closeDaily, or after each slateNot applicable
Season Outright Probabilities1 minuteMove meaningfully as games closeDaily, or after each slateNot applicable

⏱️

TTL Is a Cache Floor, Not a Polling Target

Several feeds carry a 1-second TTL even when their data has stopped moving: a completed game's Sport Event Timeline and Timeline Probabilities read 1 second long after the final out. The TTL only tells you how fresh a response can be; polling those feeds every second burns quota for no benefit. Always size your polling from the Recommended pull columns, and treat anything faster as wasted requests.



The Change Feed Window

Sport Events Updated and Sport Events Created report a rolling 24-hour window, newest first, so any polling gap shorter than a day can be recovered without a full re-sync. Sport Events Removed lists games taken out of the system. See Monitoring Data Changes for how to consume all three.



Live Update Cadence

Baseball scoring updates pitch by pitch for competitions with basic_play_by_play coverage, and score by score for the rest; a season's coverage block states which applies (see Fundamentals). Two settling behaviors matter for cadence planning:

  • Statistics can settle for a few minutes after the final out; schedule one final Sport Event Summary pull a few minutes after a game moves to closed.
  • Standings for post-coverage seasons (MLB among them) update after games finish, not during play; refreshing them mid-game returns the same table.


Reading TTL from Responses

Every response carries standard HTTP caching headers stating how long it may be served from cache; the values in the chart were read from those headers on live responses. Check the header on the responses you receive rather than assuming a fixed value, and use the change feeds to detect updates as they land; see Monitoring Data Changes.



Best Practices

  • Drive polling from the Recommended pull columns; never poll faster than a feed's TTL, and rarely as fast
  • Use the live columns only while games are in the live window; off-slate, drop to the non-live cadence and let Sport Events Updated trigger refreshes
  • Prefer the delta feed for steady-state play-by-play polling, re-synchronizing from the full timeline after any gap
  • Treat the discovery feeds (Competitions, Seasons, Season Info) as weekly feeds whatever their TTL says
  • Remember Daily Summaries dates are UTC; a US evening slate spans two UTC dates, so a scores page polls both

Did this page help you?