Betradar - the betting arm of Sportradar

Page tree

Betradar - the betting arm of Sportradar

Skip to end of metadata
Go to start of metadata

Table of contents:

“Odds_change” messages are sent whenever Betradar has new odds for some markets for a match. Odds changes can include a subset of all markets; if so, markets not reported remain unchanged. All outcomes possible within a market are reported.

ElementAttribute(s)Description
odds_change




Describes all odds related changes

event_id

The ID of the event (match/race/outright) the odds information is about.
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.

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).

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)

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).

favourite

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

The default value is active if status is not present. During recovery the following additional status may also be sent:

  • handed_over
  • cancelled (-4)
  • settled (-3)
extended_specifiersAdditional 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
outcome

idThe outcome id.
oddsThe odds for the specific outcome id.
activeIndicates if the outcome is active or not (0 = not active, 1 = active).

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.

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)?

XML example
<odds_change event_id="sr:match:1234" timestamp="1234" product="2">
<sport_event_status status="1" reporting="1" match_status="1" home_score="2" away_score="0">
     <clock match_time="10:00" remaining_time="50:00" stopped="true"/>
   </sport_event_status>
  <odds>
    <market id="47" specifiers="score=41.5" favourite="1" status="1">
      <outcome id="1" odds="1.12" active="1"/>
      <outcome id="2" odds="1.92" active="1"/>
    </market>
    <market id="48" specifiers="score=41.5" status="1">
      <outcome id="1" odds="1.12" active="1"/>
      <outcome id="2" odds="1.92" active="1"/>
    </market> 
    <market id="49" status="0"/>
    <market id="123" specifiers="set=2|game=3|point=1" status="-1">
      <outcome id="1" odds="1.3" active="1"/>
      <outcome id="2" odds="1.7" active="1"/>
    </market>
    <market id="40" status="1">
      <outcome id="sr:player:1234" odds="1.4" active="1"/>
      <outcome id="sr:player:71111" odds="1.87" active="1"/>
      <outcome id="sr:player:9919" odds="1.9" active="1"/>
	  <outcome id="sr:player:4322" active="0"/>
      <outcome id="sr:player:1119" active="0"/>
    </market> 
  </odds>
</odds_change>

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 example
  <odds>
    <market id="47" specifiers="score=41.5" favourite="1" status="1">
      <outcome id="1" odds="1.12" probabilities="0.6836763” active="1"/>
      <outcome id="2" odds="1.92" probabilities="0.8836763” active="1"/>
    </market>
    <market id="48" specifiers="score=42.5">
      <outcome id="1" odds="1.12" probabilities="0.1836763” active="1"/>
      <outcome id="2" odds="1.92" probabilities="0.3336763” active="1"/>
    </market> 
    <market id="49" status="deactivated"/>
    <market id="123" specifiers="set=2|game=3|point=1" status="-1">
      <outcome id="1" odds="1.3" probabilities="0.77346763” active="1"/>
      <outcome id="2" odds="1.7" probabilities="0.32946763” active="1"/>
    </market>
  </odds>

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 THIS dedicated page for more information about this element.

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 example
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<odds_change product="3" event_id="sr:match:18427576" timestamp="1565462926275">
   <sport_event_status status="0" match_status="0"/>
   <odds_generation_properties expected_totals="2.52327" expected_supremacy="-0.443045"/>
   <odds/>
</odds_change>