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:

Unified Feed provides data from multiple sources which are called odds producers. All of the different messages can be looked up in detail in here.

All producers have their own ID and name, with an added description to differentiate them.

See the XML example below for some details about our different producers and their scope.

Producer examples that we provide:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<producers response_code="OK">
    <producer id="1" name="LO" description="Live Odds" api_url="https://api.betradar.com/v1/liveodds/" active="true" scope="live" stateful_recovery_window_in_minutes="4320"/>
    <producer id="3" name="Ctrl" description="Betradar Ctrl" api_url="https://api.betradar.com/v1/pre/" active="true" scope="prematch" stateful_recovery_window_in_minutes="4320"/>
    <producer id="4" name="BetPal" description="BetPal" api_url="https://api.betradar.com/v1/betpal/" active="false" scope="live" stateful_recovery_window_in_minutes="4320"/>
    <producer id="5" name="PremiumCricket" description="Premium Cricket" api_url="https://api.betradar.com/v1/premium_cricket/" active="true" scope="live|prematch" stateful_recovery_window_in_minutes="4320"/>
    <producer id="6" name="VF" description="Virtual football" api_url="https://api.betradar.com/v1/vf/" active="false" scope="virtual" stateful_recovery_window_in_minutes="180"/>
    <producer id="7" name="WNS" description="Numbers Betting" api_url="https://api.betradar.com/v1/wns/" active="false" scope="prematch" stateful_recovery_window_in_minutes="4320"/>
    <producer id="8" name="VBL" description="Virtual Basketball League" api_url="https://api.betradar.com/v1/vbl/" active="false" scope="virtual" stateful_recovery_window_in_minutes="180"/>
    <producer id="9" name="VTO" description="Virtual Tennis Open" api_url="https://api.betradar.com/v1/vto/" active="false" scope="virtual" stateful_recovery_window_in_minutes="180"/>
    <producer id="10" name="VDR" description="Virtual Dog Racing" api_url="https://api.betradar.com/v1/vdr/" active="false" scope="virtual" stateful_recovery_window_in_minutes="180"/>
    <producer id="11" name="VHC" description="Virtual Horse Classics" api_url="https://api.betradar.com/v1/vhc/" active="false" scope="virtual" stateful_recovery_window_in_minutes="180"/>
    <producer id="12" name="VTI" description="Virtual Tennis In-Play" api_url="https://api.betradar.com/v1/vti/" active="false" scope="virtual" stateful_recovery_window_in_minutes="180"/>
    <producer id="14" name="C-Odds" description="Competition Odds" api_url="https://api.betradar.com/v1/codds/" active="false" scope="live" stateful_recovery_window_in_minutes="4320"/>
    <producer id="15" name="VBI" description="Virtual Baseball In-Play" api_url="https://api.betradar.com/v1/vbi/" active="false" scope="virtual" stateful_recovery_window_in_minutes="180"/>
</producers>

Producer for Multi-competitor sports

We have lately extended out live betting portfolio to offer in-play multi-competitor sports  (e.g. Live Odds for Formula 1). 

In order to offer in-play multi-competitor sports, we have introduced a new odds producer "Competition Odds":

<producer id="14" name="C-Odds" description="Competition Odds" api_url="https://api.betradar.com/v1/codds/" active="true" scope="live" stateful_recovery_window_in_minutes="4320"/>

Live odds for Formula 1 can only be consumed via brand-new competition Odds producer in the Unified Odds Feed.

Virtual sports in Unified Feed

Each Virtual Sport is exposed as a separate producer in Unified Odds. This is a reflection of the underlying platform where each virtual sport has its own simulator/match-generator.

Virtual sports currently offer prematch odds and outrights markets. There is some work ongoing for in-game odds too, but this is currently not offered. However, everything is distributed in the normal Unified Odds format using normal Unified Odds markets.

There are however a few noteworthy differences to take into consideration:

  • As stated above each virtual sport is a separated producer, which means:
    • Recovery needs to be done for each producer individually. This is handled automatically if you use the SDK.
    • Failure handling might have to consider what happens when one of the virtual sports becomes unavailable


  • Virtual sports have their own unique ids (e.g. vf:match:1234 and vf:season:3456). The actual details of the matches/events aren’t that important, because the results are displayed for end-users anyhow in the front-end interfaces, and the bet_settlement message includes the result However, the season information is important and this is looked-up using the standard endpoints: tournaments/(season-id)/info.xml and tournaments/(season-id)/schedule.xml and follows the same format as real sports. The SDK automatically takes care of this, so if you are an SDK user you don’t have to worry.
    • Due to the nature of virtual sports, matches are played match more rapidly, and a full season only lasts for a few hours. 
    • Even if it is prematch odds the odds update speed is more like live odds than prematch odds.
    • To ensure that the client has the schedule for the upcoming season and can cache the information about the matches that will be played, the producer is sending out a fixture_change with the season as the event, when a new season starts. The recommended behavior when receiving such a fixture change is to go and fetch the season schedule using the endpoint tournaments/(season-id)/schedule. The SDK handles this automatically, but you may want to do something extra on your end when a new virtual season starts, if so a good time to do that is when you receive the fixture change on a virtual season.
  • There are a few structured outrights markets provided. If you haven’t yet implemented outrights, you may have to make some updates to handle outrights.
    • Keep in mind that an outright is seen as a market and the event is typically the season for the league/tournament or the race tournament.
    • Outrights may have competitor outcomes. Here each outcome is a competitor-id. Competitor outcomes are not seen for non-outright-markets.

Virtual Sports has some multi-competitor-outcome rights: like “Who will be the top-3 in the league”. This is a special type of market where each outcome is a comma separated list of competitor-ids. Sportradar intends to use the same structured format for multi-competitor-outcomes for real sport outrights going forward too, but they are not offered this way currently. You may have to update your code to handle these multi-competitor-outcomes properly.

Mapping towards the legacy LCoO feed

Unified Odds Market Id

LCoO Type

Comment

534

30

Championship

535

40

Short-term

536

50

Podium / Multiwinner

559

30,40

Free text outright