Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Update Frequencies

Every API call spends quota, so match your polling cadence to how often each feed actually changes. This page gives the cache behavior (TTL) of every Tennis API feed, how the underlying data updates, and a recommended pull cadence for live and non-live situations.

⏱️

TTL Is a Cache Floor, Not a Poll Rate

A feed's TTL is how long a response is served from cache before it can refresh: it is the fastest a poll could ever see new data, not an instruction to poll that fast. Several feeds carry a short TTL while their data changes far less often. Choose your cadence from the Data Updates column and your product's needs, and treat the TTL as a lower bound.

ℹ️

Live coverage note

The live cadences below apply to matches whose coverage includes live scores and play-by-play. For lower-tier competitions, score updates may arrive only post-match; see Data Coverage and Tiers.



Frequency Chart: Tennis API

FeedTTL (cache)Data updatesRecommended pull (non-live)Recommended pull (live)
Competitions / Competitions by Category / Competition Info5 minutesAs competitions are added or renamedDailyn/a
Competition Seasons / Seasons5 minutesAs editions are added (rolling window)Dailyn/a
Complexes5 minutesRarelyWeeklyn/a
Rankings / Race Rankings / Doubles rankings5 minutesWeekly (Mondays), plus correctionsDaily; Mondays after publicationn/a
Competitor Profile / Competitor Summaries / Doubles Competitions Played5 minutesAfter each match a competitor playsDaily, or after tracked matches closen/a
Competitor vs Competitor1 minuteAfter each meeting between the pairBefore displaying a head-to-headn/a
Season Info / Season Competitors / Season Links / Season Summaries5 minutesThrough a season as draws fill and matches completeDaily pre-season; hourly during an event10 to 15 minutes during play windows
Season Standings10 secondsAfter each round-robin matchDaily1 to 5 minutes during ties
Season Probabilities1 minuteAs markets moveDailyn/a
Daily Summaries5 minutesThrough the day as matches completeEvery 1 to 4 hours10 to 15 minutes on match days
Live Summaries / Live Timelines / Live Timelines Delta1 secondPoint by point during live playn/a (empty when nothing is live)1 to 3 seconds
Sport Event Summary (live match)1 secondPoint by pointn/a1 to 3 seconds for the featured match
Sport Event Summary / Timeline (closed match)6 minutesPost-match corrections, then stableOnce at closed, re-pull next day for correctionsn/a
Sport Events Created5 minutesAs fixtures are createdDailyn/a
Sport Events Updated / Removed1 minuteAs fixtures change or are removedEvery 1 to 4 hoursHourly
Competitor Merge Mappings5 minutesAs merges occurDailyn/a

Frequency Chart: Tennis Probabilities API

FeedTTL (cache)Data updatesRecommended pull (non-live)Recommended pull (live)
Live Probabilities1 secondPoint by point for covered live matchesn/a1 to 3 seconds
Sport Event Probabilities1 secondAs the pre-match market moves, then in playHourly pre-match1 to 3 seconds
Timeline Probabilities1 secondAs probability points are appendedOnce after closedn/a
Season Outright Probabilities1 minuteAs outright markets moveDaily when publishedn/a
Sport Event Upcoming Probabilitiesn/a (not cached)With the upcoming windowHourlyn/a

The recommended pull columns are guidance to build from, not entitlements; tune them to your quota and product.



Reading TTL from Responses

Every response carries its cache policy in the cache-control header:

cache-control: max-age=1, public, s-maxage=1

max-age is the TTL in seconds. If you see no-cache, private on a feed that normally carries a max-age, treat it as transient and rely on the recurring value.



Keeping a Store in Sync

Three feeds exist to reconcile your store without re-pulling everything: Sport Events Created (new fixtures, with created_at), Sport Events Updated (changed fixtures), and Sport Events Removed (deleted fixtures). Pair them with Competitor Merge Mappings for player identity changes. The full workflow is in Monitoring Data Changes.



Best Practices

  • Drive live polling off match status: ramp up when a tracked match goes live, and stop at closed. See Match Status Workflow.
  • Poll the three live feeds only while something is live; each returns an empty envelope on a quiet day.
  • Rankings publish weekly: a Monday refresh plus a daily safety pull covers them without waste.
  • On HTTP 429, slow your request rate and retry, increasing the wait between attempts.
  • Re-pull a closed match's summary and timeline the following day: post-match corrections are part of coverage for most tiers.

Did this page help you?