Odds Change
odds_change messages are sent whenever Betradar provides updated odds for one or more markets in a match. These messages may include a subset of markets; any markets not included remain unchanged. For each reported market, all current outcomes and their respective odds are included.
Message Elements and Attributes
1. odds_change
Describes all odds related changes
event_id
The ID of the event (match/race/outright) the odds information refers to.
timestamp
When the message was created in the odds producing system (milliseconds since Epoch UTC).
product
Specifies which producer generated these odds. At any given point in time there should only be one product generating odds for a particular event. This tag can later be used when a producer is detected to be down.
1 = LiveOdds producer
3 = Betradar Ctrl producer
4 = BetPal producer
5 = Premium Cricket producer
etc...
odds_change_reason
Deprecated (Optional) can be set to "riskadjustment_update" if this message is caused by a manual odds change.
2. sport_event_status
Reports various status information about the event that is relevant (see the special section on sport_event_status below for further description).
3. odds
Describes all odds updates for this event per market.
betstop_reason
Sent after a betstop while under betstop to signal the cause of the betstop.
betting_status
When set signals that markets have been opened again after a betstop, but it is still early after betstop.
Risk sensitive customers may decide to continue to keep the markets closed until betting_status is no longer present.
The value of betting_status signals the cause for the previous betstop. (See the API endpoint descriptions/betting_status.xml for the description of the individual betting status values)
4. Market
Describes the odds updates for a particular market.
id
The ID of the market (see markets.xml for a detailed description of various markets).
favourites
If present, this is set to 1, which states that this is the most balanced or recommended market line. This setting makes most sense for markets where multiple lines are provided (e.g. the Totals market).
specifiers
A | separated list of key=value-pairs. All keys are specified in the Betting API in the market descriptions. These are further specifiers for the market.
status
Active/suspended/deactivated:
active (1) = display odds & accept tickets
suspended (-1) = display odds & don't accept tickets
deactivated (0) = stop displaying odds & don't accept tickets
handed_over (-2)
The default value is active if status is not present. During recovery the following additional status may also be sent:
cancelled (-4)
settled (-3)
extended_specifiers
Additional info about this market that does not logically changes the market but is interesting for display purposes. Best example is Asian Handicap markets. Where the extended_specifers is to to hcp_for_the_rest_of_the_match
5. outcome
id
The outcome id
odds
The odds for the specific outcome id
active
Indicates if the outcome is active or not (0+not active, 1= active)
6. market_metadata
Additional information about a specific market (see more below)
next_betstop
Timestamp in UTC when to betstop this market. Typically used for outrights and typically is the start-time of the event the market refers to.
7. odds_generation_properties
Provided by the prematch odds producer only, and contains a few key-parameters that can be used in a client’s own special odds model, or even offer spread betting bets based on it.
expected_totals
Parameter that can be used by client’s own special odds model. Provided by prematch odds producer only. How many goals are expected in total.
expected_supremacy
Parameter that can be used by client’s own special odds model. Provided by prematch odds producer only. How big is the expected goal supremacy (home goals minus away goals)?
Message Example
XML Example
Probabilities
You can configure the odds_change message to receive probabilities too. These probabilities are then sent on each individual market outcome.
The probability attribute will not be included on an outcome with a probability lower than 1e-10.
XML Examples
Sport event status element
The element sport_event_status is provided in the odds_change message is a very important part of the odds_change messages. See the sport even status page for more information about this element.
Match Status and Market Status
Market 'status' in odds_change message should NOT be considered to determine the status of match. Consider 'match_status' instead.
match_status="0" indicates the match is "not started".
when market_status="0" and match_status="1" , the match is in-play.
You should grey out the markets whose status=0 (customers should not be able to bet) untill you receive status="1" in the following odds change message.
When a market is temporarily suspended it will be received with a market status = -1. However there are instances during a live match where markets are temporarily not being offered, in those cases the markets will not be suspended but instead be deactivated via market status = 0. Those markets can later be re-activated again via market status = 1. Depending on the state of the live game this can lead to certain marketlines to remain deactivated while new marketlines are provided as active.”
The match_status=“100" indicates that the match is over (status: ended)
When the match is over, it should be removed from the offer
Handling odds_change message without markets/market lines
An odds_change message without markets means that some other information has changed (for example sport_event_status might have changed), but the markets have not.
In this case we advise that you update the information that has changed, and keep the market status, values and odds like they are. There is no indication of what has been changed, so it is best to process the whole message and update your data accordingly.
An odds_change without markets may look something like this:
XML Examples
Last updated
Was this helpful?