Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Update Frequencies

Intro

Soccer API endpoints update at a variable frequency, in terms of both its cache and its data.

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 (and Soccer Extended) API endpoint, as well as our recommended pulling frequency.

🚧

Note on Update Frequencies by Tier

Update frequencies in the table below reflect Tier 1 league coverage. Since coverage levels vary across tiers, data from lower-tier leagues may update less frequently.

Endpoint

TTL / Cache

Data Updates

Recommended Pull

(Non-Live)

Recommended Pull

(Live)

Competition Info

300 seconds

Tournaments are added within 4 hours of official publication

Pull on an as needed basis

Not applicable

Competition Seasons

300 seconds

Tournaments are added within 4 hours of official publication

Pull on an as needed basis

Not applicable

Competitions

300 seconds

Tournaments are added within 4 hours of official publication

Pull on an as needed basis

Not applicable

Competitor Profile

300 seconds

Player/roster data checks occur two weeks before the competition start

Pull on an as needed basis

Not applicable

Competitor Schedules

300 seconds

Schedules are added within 4 hours of official publication

Results are updated when matches are closed ("status": "closed")

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

Pull ~5 minutes after a match has closed to receive the quickest result information

Competitor Summaries

300 seconds

Schedules are added within 4 hours of official publication

Statistics are updated when matches are closed ("status": "closed")

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

Pull ~5 minutes after a match has closed to receive the quickest stat updates

Competitor vs Competitor

60 seconds

Schedules are added within 4 hours of official publication

Statistics are updated when matches are closed ("status": "closed")

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

Pull ~1 minute after a match has closed to receive the quickest updates

Daily Schedules

1 second

Schedules are added within 4 hours of official publication

Match status and scores are updated in realtime

Pull every hour or less, depending on your use case

Can request as fast as every second (matching the TTL) when matches are live

However, for more comprehensive match statistics and events, use a "sport event" or "live" feed

Daily Summaries

300 seconds

Schedules are added within 4 hours of official publication

Statistics are updated as events occur during matches

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

Can request as fast as every 300s (matching the TTL) when matches are live

However, for quicker and more comprehensive match statistics, use a "sport event" or "live" feed

League Timeline

300 seconds

Statistics are updated as events occur during matches

Pull every hour or less, depending on your use case

Can request as fast as every 300s (matching the TTL) when matches are live

Live Schedules

1 second

Realtime

Feed can be ignored until a few minutes before kickoff.

Utilize the Sport Event Updated feed to capture data changes after a match has ended

Can request as fast as every second (matching the TTL) when a match is live

Live Summaries

1 second

Realtime

Feed can be ignored until a few minutes before kickoff

Utilize the Sport Event Updated feed to capture data changes after a match has ended

Can request as fast as every second (matching the TTL) when a match is live

Live Timelines

1 second

Realtime

Feed can be ignored until a few minutes before kickoff

Utilize the Sport Event Updated feed to capture data changes after a match has ended

Can request as fast as every second (matching the TTL) when a match is live

Live Timelines Data

1 second

Realtime

Feed can be ignored until a few minutes before kickoff

Utilize the Sport Event Updated feed to capture data changes after a match has ended

Can request as fast as every second (matching the TTL) when a match is live

Competitor Mappings

300 seconds

Data updates as relevant changes are made to API

Pull on an as needed basis

Not applicable

Player Mappings

300 seconds

Data updates as relevant changes are made to API

Pull on an as needed basis

Not applicable

Player Merge Mappings

300 seconds

Data updates as relevant changes are made to API

Pull on an as needed basis

Not applicable

Player Profile

300 seconds

Player data checks occur two weeks before competition start

Pull on an as needed basis

Not applicable

Player Schedules

300 seconds

Schedules and results are updated when matches are closed ("status": "closed")

Pull every hour or less, depending on your use case

Pull ~5 minutes after a match has closed to receive the quickest result information

Player Summaries

300 seconds

Schedules and statistics are updated when matches are closed ("status": "closed")

Pull every hour or less, depending on your use case

Pull ~5 minutes after a match has closed to receive the latest stat information

Season Competitors

300 seconds

Data check two weeks before competition start

Pull on an as needed basis

Not applicable

Season Form Standings

60 seconds

Goal differentials are updated as goals are scored

Result statistics (wins, losses, ties) are updated when matches are closed ("status": "closed")

Pull every hour or less, depending on your use case

Pull ~1 minute after a match has closed for the latest match results and splits

Season Info

300 seconds

Tournaments are added within 4 hours of official publication

Pull on an as needed basis

Not applicable

Season Leaders

300 seconds

Statistics are updated when matches are closed ("status": "closed")

Pull every hour or less, depending on your use case

Pull ~5 minutes after a match has closed to receive the latest stat information

Season Lineups

30 seconds

Schedules are added within 4 hours of official publication

Lineups are typically available up to one hour before kickoff and up to 15 minutes after the match begins

Pull every hour or less, depending on your use case

Can request as fast as every 30 seconds (matching the TTL) when a matches are live

However, for quicker lineup and substitution data, pull the Sport Event Timeline and Sport Event Lineups feeds

Season Links

300 seconds

Tournaments are added within 4 hours of official publication

Pull on an as needed basis

Pull ~5 minutes after a match has closed to receive the quickest updates

Season Missing Players

300 seconds

Player data checks occur two weeks before competition start

Pull on an as needed basis

Not applicable

Season Over/Under Statistics

300 seconds

Statistics are updated when matches are closed ("status": "closed")

Pull every hour or less, depending on your use case

Pull ~5 minutes after a match has closed to receive the latest stat information

Season Players

300 seconds

Player data checks occur two weeks before competition start

Pull on an as needed basis

Not applicable

Season Probabilities

60 seconds

Probabilities added within four hours after official publish

Pull every hour or less, depending on your use case

Pull ~1 minute after a match has closed for the latest probabilities update

Season Schedule

300 seconds

Schedules are added within 4 hours of official publication

Scores are updated as goals are made

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

Can request as fast as every 300 seconds (matching the TTL) during matches

However, for quicker scoring updates, reverence a "live" or "sport event" endpoint

Season Standings

10 seconds

Rankings and goal differentials update as goals are scored

Pull every hour or less, depending on your use case.

Can request as fast as every 10 seconds (matching the TTL) during matches

Season Summaries

300 seconds

Schedules are added within 4 hours of official publication

Statistics are updated as match events occur

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

Can request as fast as every 300 seconds (matching the TTL) during matches

However, for quicker stat updates, reverence a "live" or "sport event" endpoint

Season Transfers

300 seconds

Transfer updates are available within 24 hours after official publication

Pull every hour or less, depending on your use case

Not applicable

Seasonal Competitor Players

30 seconds

Statistics are updated as match events occur

Pull on an as needed basis

Not applicable

Seasonal Competitor Statistics

30 seconds

Statistics updated in realtime

Pull on an as needed basis

Can request as fast as every 30 seconds (matching the TTL) during matches

Seasons

300 seconds

Tournaments are added within 4 hours of official publication

Pull on an as needed basis

Not applicable

Sport Event Fun Facts

300 seconds

Facts can be added up to a week before the match

For the earliest access to match facts, make your first request within five days of the confirmed match start.

Facts remain accessible at any time after they become available.

For the earliest access to match facts, make your first request within five days of the confirmed match start.

Facts remain accessible at any time after they become available.

Sport Event Lineups

1 second

Lineups are typically available up to one hour before kickoff and up to 15 minutes after the match begins

Lineup changes during a match are updated in realtime.

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) during the match to capture any lineup changes.

Sport Event Summary

1 second

Realtime

Feed can be ignored until a few minutes before kickoff, depending on your use case

Utilize the Sport Event Updated feed to capture data changes after a match has ended

Can request as fast as every 1 second (matching the TTL) when a match is live

Sport Event Timeline

1 second

Realtime

Feed can be ignored until a few minutes before kickoff, depending on your use case

Utilize the Sport Event Updated feed to capture data changes after a match has ended

Can request as fast as every 1 second (matching the TTL) when a match is live

Sport Events Created

60 seconds

Last 24 hours

Pull every hour or less depending on your use case.

Not applicable

Sport Events Removed

60 seconds

Last 24 hours

Pull every hour or less depending on your use case

Not applicable

Sport Events Updated

60 seconds

Last 24 hours

Pull every hour or less depending on your use case

Not applicable

Live Probabilities

1 second

Realtime

Pull on an as needed basis

Can request as fast as every 1 second (matching the TTL) when a match is live

Season Outright Probabilities

60 seconds

Initial season outright probabilities are added within four hours of official publication.

Outright probabilities are updated when matches are closed ("status": "closed")

Pull every hour or less depending on your use case

Pull ~1 minute after a match has closed for the latest probabilities update

Sport Event Probabilities

1 second

Realtime

Pull on an as needed basis

Can request as fast as every 1 second (matching the TTL) when a match is live

Sport Event Upcoming Probabilities

1 second

Realtime

Pull every hour or less depending on your use case

Not applicable

Timeline Probabilities

1 second

Realtime

Pull on an as needed basis

Can request as fast as every 1 second (matching the TTL) when a match is live

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.