GET Last Updated Odds
Returns the pre-match odds updated in the last 10 seconds.
https://api.sportmonks.com/v3/football/odds/pre-match/latest
api_token
YES
Another option is to provide the API token in the header.
Your unique API token. Ex. ?api_token=YOUR_TOKEN
include
NO
Enrich the API response with more data by using includes. Ex. &include=participants;events
filters
NO
Filter the API response on multiple related entities. There are static filters and dynamic filters. Please find the possibilities in the Static and Dynamic Filter tab.
locale
NO
Translate name fields of the API Response in your selected language. Find more information and which languages are available on our translations page.
Definition of “Latest Updated”
This endpoint returns every fixture whose odds data has changed in the last 10 seconds. The odds data fields include market_id, bookmaker_id, value, name, market_description, probability, winning, stopped, created_at, updated_at, and latest_bookmaker_update. The 10-second update window is fixed and cannot be changed.
A change in any of these fields during the last 10 seconds means that the fixture is included in the response:
market_id
Change means the fixture moved to a different betting market.
bookmaker_id
Change means a different bookmaker provided or updated the odds.
value
Change means the numeric odd value (for example, 1.48) was adjusted.
name
Change means the label name (for example “Home” or “Away”) was modified.
market_description
Change means the description of the market (for example “Match Winner”) was edited.
probability
Change means the implied probability (for example “67.57%”) was recalculated.
winning
Change means the boolean flag indicating if this odd is the current winning outcome was toggled.
stopped
Change means the boolean flag indicating if this odd is no longer available was toggled.
created_at
Change means a new odd entry was created within the last 10 seconds.
updated_at
Change means the timestamp of the last update to this odd entry was modified.
latest_bookmaker_update
Change means the bookmaker’s own timestamp for their last update was modified.
Frequency of updates & no-change responses
Any fixture with at least one of the above fields changed in the last 10 seconds will appear on each API call. If no fixture changed during that window, the API returns HTTP 200 with an empty data array. An empty array means there is nothing new to process.
Polling frequency & rate limits
Poll every 10 seconds to match the fixed update window exactly (360 calls per hour).
Optionally poll every 5 to 8 seconds to reduce end-to-end latency, provided your rate limits allow the extra calls.
Monitor for network jitter and clock skew to avoid missing updates or sending duplicate requests.
Caching strategy & best practices
Cache all returned fields per fixture in your local store.
On each response, compare each fixture’s new payload against the cache.
Discard fixtures with no actual differences.
Update the cache with only the changed fixtures.
Cache rarely changing lookup data (such as bookmaker names and market descriptions) locally.
If you observe long runs of empty responses, temporarily reduce your polling frequency to minimise unnecessary calls.
Filters
More information on how to use filters can be found on our tutorials on how to filter. If you want more information on which filters to use you can check out the following endpoint:
Pagination
NO
Include depth
You can use a total of 1
nested includes on this endpoint
Include options
Related entities
Postman
We also offer detailed postman documentation with examples and a complete up-to-date version of all our endpoints. Below is a button that lets your fork the collection or import it.
Code Example
require "uri"
require "net/http"
url = URI("https://api.sportmonks.com/v3/football/odds/pre-match/latest?api_token=YOUR_TOKEN")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
response = https.request(request)
puts response.read_body
Last updated
Was this helpful?