Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Update Frequencies

Intro

Each Soccer API endpoint updates at a variable frequency, in terms of both its cache and its data.

For example, a Sport Event endpoint may have a 1 second cache during a live game and a longer cache outside of a live game. Alternatively, the Season Leaders endpoint may had a 300s second cache, but the data within will only update when matches conclude.

Given your limited amount of API requests and QPS, these frequencies should be understood and factored into your pull rate.

Use this section to help determine the best pull frequency for your needs.



Time-to-Live (TTL) and Data Updates

Understanding the distinction between TTL and data updates is crucial for designing an efficient and reliable Soccer API solution. TTL is focused on the validity of cached data to optimize performance, whereas data updates are concerned with the actual data within the API.

Time-to-Live (TTL)

Time-to-Live (TTL) is a mechanism used to define the lifespan of data in a cache or network. It specifies the duration for which the data remains valid and can be reused. Once the TTL expires, the data could be stale and must be re-fetched.

You can find the TTL for each RESTful feed in the response header of a request under Cache-Control. A response of public, must-revalidate, max-age=300 signifies a time-to-live of 300 seconds.

Data Updates

Data Updates refer to the changes made to the underlying data that the API provides access to. This can occur through various operations such as creating, updating, or deleting our sports data.

Data updates are critical to ensuring that the API delivers the most current and accurate information. Data entry workflows and processes specific to Soccer data will affect your suggested request frequency.



Additional Frequency Resources

Soccer API responses also provide etag headers. Use the etags header to check if the content has changed between requests.

< HTTP/2 200 
< content-type: application/xml;charset=utf-8
< content-length: 884005
< date: Wed, 03 Jul 2024 18:21:13 GMT
< x-amzn-requestid: 87355d21-5a20-429a-95e9-b36d406a992f
< strict-transport-security: max-age=15724800; includeSubDomains
< x-amzn-remapped-content-length: 884005
< content-language: en
< x-amzn-remapped-connection: close
< x-amz-apigw-id: aWR3wGSRIAMEddQ=
< cache-control: public, must-revalidate, max-age=120
< etag: "2b358d2fe60303e7bbd1be3d64a37cfe"
< x-via: Delivery-Proxy
< x-amzn-trace-id: Root=1-66859697-752ac4fa2c40a4586900aa76;Parent=667fb8ce9acca5af;Sampled=0;lineage=b9fe645c:0
< x-amzn-remapped-date: Wed, 03 Jul 2024 18:21:13 GMT
< via: 1.1 72b77c557ac4c265c32d99bdef4e9d6a.cloudfront.net (CloudFront), 1.1 d1b7c750b45b2751c2c1a34c2f5af9ec.cloudfront.net (CloudFront)
< x-amz-cf-pop: IAD79-C3
< vary: Accept-Encoding
< x-cache: Hit from cloudfront
< x-amz-cf-pop: ORD58-P6
< x-amz-cf-id: -u_iAJXYbBsYDq3ex20s2Sj7z0m-yIx5CDRpGHIPxz4k58-Pl-857A==
< age: 13
< HTTP/2 200 
< content-type: application/xml;charset=utf-8
< content-length: 884005
< date: Wed, 03 Jul 2024 18:32:17 GMT
< x-amzn-requestid: 0211fcbe-b272-49fc-9c2e-bc8c8fded090
< strict-transport-security: max-age=15724800; includeSubDomains
< x-amzn-remapped-content-length: 884005
< content-language: en
< x-amzn-remapped-connection: close
< x-amz-apigw-id: aWTfeFFkIAMEvvA=
< cache-control: public, must-revalidate, max-age=120
< etag: "94bf0a9737dd296c3ebf95f0b9de9ea5"
< x-via: Delivery-Proxy
< x-amzn-trace-id: Root=1-6685992f-41c8513b6c9423d36b717894;Parent=7c945e91890c1d79;Sampled=0;lineage=b9fe645c:0
< x-amzn-remapped-date: Wed, 03 Jul 2024 18:32:17 GMT
< via: 1.1 c3fbf93d9b0f1f9b36fcc420314f3186.cloudfront.net (CloudFront), 1.1 049d2c2e11b2a18bd6ce7ab8a5981ed2.cloudfront.net (CloudFront)
< x-amz-cf-pop: IAD79-C3
< vary: Accept-Encoding
< x-cache: Miss from cloudfront
< x-amz-cf-pop: ORD58-P6
< x-amz-cf-id: wjObvD9E5r97H03nJ95mPb1bmnnTOaLoLMtX9kOptCpyLqBQvz3Wpg==


Frequency Chart

What is the right request frequency for your use? Which endpoints should you pull to get the most efficient use of your allotted calls?

The below chart provides answers to these questions, with a breakdown of the cache and data updates for every Soccer API endpoint, as well as our recommended pulling frequency.

EndpointTTL / CacheData UpdatesRecommended Pull
(Non-Live)
Recommended Pull
(Live)
Competition Info300 secondsTournaments are added within 4 hours after official publishPull on an as needed basisNot applicable
Competition Seasons300 secondsTournaments are added within 4 hours after official publishPull on an as needed basisNot applicable
Competitions300 secondsTournament added within 4 hours after official publishPull on an as needed basisNot applicable
Competitor Profile300 secondsPlayer/roster data checks occur two weeks before the competition startPull on an as needed basisNot applicable
Competitor Schedules300 secondsSchedule added within four hours after official publishPull every hour or less, depending on your use case.

Note that this feed should be used for schedule info prior to a match start. For status of a live game, reference a "sport event" endpoint.
Not applicable
Competitor Summaries300 secondsSchedule added within four hours after official publish

Statistics update in realtime
Pull every hour or less, depending on your use case.

Note that this feed should be used for schedule info prior to a match start. For status of a live game, reference a "sport event" endpoint.
Not applicable
Competitor vs Competitor60 secondsSchedule added within four hours after official publishPull on an as needed basisNot applicable
Daily Schedules1 secondSchedule added within four hours after official publishPull every hour or less, depending on your use case.

Note that this feed should be used for schedule info prior to a match start. For status of a live game, reference a "sport event" endpoint.
Not applicable
Daily Summaries300 secondsSchedule added within four hours after official publish

Statistics update in realtime
Pull every hour or less, depending on your use case.

Note that this feed should be used for schedule info prior to a match start. For status of a live game, reference a "sport event" endpoint.
Not applicable
League Timeline300 secondsStatistics are updated shortly after a match moving to closedPull every hour or less, depending on your use case.Not applicable
Live Schedules1 secondRealtimeNot applicableCan request as fast as every 1 second (matching the TTL) when a match is live.
Live Summaries1 secondRealtimeNot applicableCan request as fast as every 1 second (matching the TTL) when a match is live.
Live Timelines1 secondRealtimeNot applicableCan request as fast as every 1 second (matching the TTL) when a match is live.
Live Timelines Data1 secondRealtimeNot applicableCan request as fast as every 1 second (matching the TTL) when a match is live.
Competitor Mappings300 secondsData updates as relevant changes are made to API.Pull on an as needed basisNot applicable
Player Mappings300 secondsData updates as relevant changes are made to API.Pull on an as needed basisNot applicable
Player Merge Mappings300 secondsData updates as relevant changes are made to API.Pull on an as needed basisNot applicable
Player Profile300 secondsPlayer data checks occur two weeks before competition start.Pull on an as needed basisNot applicable
Player Schedules300 secondsSchedule added within four hours after official publish.Pull every hour or lease, depending on your use case.

Note that this feed should be used for schedule info prior to a match start. For status of a live game, reference a "sport event" endpoint.
Not applicable
Player Summaries300 secondsSchedule added within four hours after official publish

Statistics update in realtime
Pull every hour or less, depending on your use case.

Note that this feed should be used for schedule info prior to a match start. For status of a live game, reference a "sport event" endpoint.
Not applicable
Season Competitors300 secondsPlayer Data check two weeks before competition startPull on an as needed basisNot applicable
Season Form Standings60 secondsStandings are updated when matches are set to closed.Pull every hour or less, depending on your use caseNot applicable
Season Info300 secondsSeason information is added within four hours after official publish.Pull on an as needed basisNot applicable
Season Leaders300 secondsStatistics update in realtimePull every hour or less, depending on your use caseNot applicable
Season Lineups30 secondsSchedule and lineup information added within four hours after official publishPull every hour or less, depending on your use caseNot applicable
Season Links300 secondsBracket information is updated within four hours after official publishPull on an as needed basisNot applicable
Season Missing Players300 secondsPlayer data checks occur two weeks before competition start.Pull on an as needed basisNot applicable
Season Over/Under Statistics300 secondsStatistics update in realtimePull every hour or less, depending on your use caseNot applicable
Season Players300 secondsPlayer data checks occur two weeks before competition start.Pull on an as needed basisNot applicable
Season Probabilities60 secondsProbabilities added within four hours after official publishPull every hour or less, depending on your use case.Not applicable
Season Schedule300 secondsSchedules added within four hours after official publishPull every hour or less, depending on your use case.

Note that this feed should be used for schedule info prior to a match start. For status of a live game, reference a "sport event" endpoint.
Not applicable
Season Standings10 secondsLive: rankings and GD changes as goals are scoredPull every hour or less, depending on your use case.Can request as fast as every 10 second (matching the TTL) during matches.
Season Summaries300 secondsSchedule added within 4 hours after official publish

Statistics update in realtime
Pull every hour or less, depending on your use case.

Note that this feed should be used for schedule info prior to a match start. For status of a live match, reference a "sport event" endpoint.
Not applicable
Season Transfers300 secondsTransfer updates available within 24 hours after official publishPull every hour or less, depending on your use case.Not applicable
Seasonal Competitor Players300 secondsPlayer data checks occur two weeks before competition start.Pull on an as needed basisNot applicable
Seasonal Competitor Statistics30 secondsStatistics updated in realtimePull every hour or less, depending on your use case.Not applicable
Seasons300 secondsSeason information added within four hours of official publishPull on an as needed basisNot applicable
Sport Event Fun Facts300 secondsFacts are added shortly before the matchPull on an as needed basisPull on an as needed basis
Sport Event Lineups1 secondRealtime.

Data is added within one hour prior to and 15 min AFTER kickoff
Lineups should start to be requested 75 minutes before the scheduled start.

Can request as fast as every 1 second (matching the TTL) before a match starts.
Can request as fast as every 1 second (matching the TTL) before a match starts.
Sport Event Summary1 secondRealtimePull on an as needed basisCan request as fast as every 1 second (matching the TTL) when a match is live.
Sport Event Timeline1 secondRealtimePull on an as needed basisCan request as fast as every 1 second (matching the TTL) when a match is live.
Sport Events Created60 secondsLast 24 hoursPull every hour or less depending on your use case.Not applicable
Sport Events Removed60 secondsLast 24 hoursPull every hour or less depending on your use caseNot applicable
Sport Events Updated60 secondsLast 24 hoursPull every hour or less depending on your use caseNot applicable

Important Note

Pull recommendations are based on a typical customer's needs. We suggest starting with our recommended rate and adjusting as necessary according to your needs.