Betradar - the betting arm of Sportradar

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Excerpt Include
HideElements
HideElements
nopaneltrue
Anchor
topOfPage
topOfPage

Excerpt Include
BetradarLogo
BetradarLogo
nopaneltrue

Panel

The endpoints described in this chapter are exclusive to the different producers that deliver odds through Unified Feed.

Table of contents:

Table of Contents

Producer description

This endpoint describes currently available producers, whether they are activated for the calling client, what recovery endpoint they use and what their ids are.

Element/Attribute

Description

producer.id

Producer Id as sent in messages

producer.active

Set to true if this producer is activated for the calling client otherwise false.

producer.api_url

The API starting-url that can be used to request recovery etc for this producer.

producer.name

A short name for this producer

producer.description

A longer name describing this producer

producer.scope

live / prematch

Code Block
languagexml
themeEclipse
titleXML example
<producers response_code="OK">
  <producer active="true" api_url="https://api.betradar.com/v1/liveodds/" description="Live Odds" name="LO" id="1"/>
  <producer active="true" api_url="https://api.betradar.com/v1/pre/" description="Betradar Ctrl" name="Ctrl" id="3"/>
  <producer active="true" api_url="https://api.betradar.com/v1/betpal/" description="BetPal" name="BetPal" id="4"/>
  <producer active="false" api_url="https://api.betradar.com/v1/premium_cricket/" description="Premium Cricket" name="PremiumCricket" id="5"/>
  <producer active="true" api_url="https://api.betradar.com/v1/vf/" description = "Virtual football" name="VF" id="6"/>
</producers>

Entity descriptions

There are entity endpoints that provide more details about related entities described in fixtures and event information. By prefixing any of the entity paths with a language, the localized version of that entity is provided. The following table shows the main entities that can be accessed; Players, competitors and venues.

HTTP

Endpoint

Description

GET

(lang)/players/(id)/profile.xml

Name and details about a team player in the requested language (en for English).

GET

(lang)/competitors/(id)/profile.xml

Name and details about a competitor (this could be a team, a player (e.g. tennis), a race driver (e.g. F1) in the requested language (en for English).

GET

(lang)/venue/(id)/profile.xml

Name and details about a venue in the requested language (en for English).

Player profile XML example:

Code Block
languagexml
themeEclipse
titleXML example
<player_profile>
<player id="sr:player:947" name="Barnard, Lee" full_name="Lee Barnard" type="forward" date_of_birth="1984-07-18" nationality="England" country_code="ENG" height="178" weight="68" gender="male"/>
</player_profile>

Competitor profile XML example:

Code Block
languagexml
themeEclipse
titleXML example
<competitor_profile>
<competitor id="sr:competitor:245739" name="WUNDER, MARKUS" country="Germany" country_code="DEU" abbreviation="WUN">
    <sport id="sr:sport:5" name="Tennis"/>
    <category id="sr:category:785" name="ITF Men"/>
</competitor>
</competitor_profile>

Venue summary XML example

Code Block
languagexml
themeEclipse
titleXML example
<venue_summary>
<venue id="sr:venue:3" name="Krohnsminde Idrettspark" city_name="Bergen" country_name="Norway" country_code="NOR"/>
</venue_summary>

Betting related descriptions

There are multiple endpoints that provide static data and describe IDs referred to odds information messages. These endpoints can be translated to a requested language. 

HTTP

Endpoint

Description

GET

descriptions/betstop-reasons.xml

Describes all bet stop reasons.

GET

descriptions/betting_status.xml

Describes all the possible reasons for a previous betstop (as provided in the message odds_change in the odds element).

GET

descriptions/void_reasons.xml

Describes all void-reasons (as provided in the message bet_settlement in market void_reason)

GET

descriptions/(lang)/markets.xml[?include_mappings=true]

Describes all currently available markets translated to the requested language (en for English). If include_mappings=true is added as a parameter, the response will include a section for each market on how this market is mapped to equivalent markets in other Betradar products.

GET

descriptions/(lang)/match_status.xml

Describes all sports specific match status codes used during live matches in the odds_changes message. Translated to available languages.

Market descriptions

It is also possible to get information about our different markets, and how to identify them.

Element/Attribute

Description

market.id

Market Id as used in messages

market.description

Human readable name of the market (translatable). Has some markers that need to be replaced (See section below for more information)

market.groups

Pipe “|” separated list of groups that this market belongs to. A group is just a name/ string. These groups can be used in a bet_stop message to stop select markets. Currently only “all” and “player_props” groups are used.

m.outcome_type

Describes the type of outcome – allowed values are:

  • competitor: Competitor type outcomes means that the ids will be competitor ids (and possibly also some fixed outcomes such as "No Winner" etc. that is only using an integer number id and not an URN type id) - the competitors can only be ids of competitors listed to be part of this particular sport-event (otherwise use free text).
  • player: This outcome means that the ids will be players that play for either of the competitors in the specified sport-event. line up (preferred when available) or team-profile endpoints should be available to retrieve available players.
  • free_text: This outcome means that the ids will be variant ids, and will have to be looked up (the market will have a variant and this variant will list the market text as well as the outcome texts, and the ids in this message will refer to the outcome text).

outcome.id

Outcome id as used in odds and settlement messages

outcome.name

Human readable name of the outcome (translatable).

specifiers

Lists the additional specifiers that will always be sent for this market

specifier.name

The name of the specifier as sent in the messages

specifier.type

What type the values for this specifier will have. (integer, decimal, variable_text)

attributes.attribute.name

Lists special attributes that apply to particular markets. See table market description attributes below for descriptions of market attribute names.

Market XML:

Code Block
languagexml
themeEclipse
titleXML example
<market id="234" name="Highest scoring quarter" groups="all">
        <outcomes>
            <outcome id="920" name="1st quarter"/>
            <outcome id="921" name="2nd quarter"/>
            <outcome id="922" name="3rd quarter"/>
            <outcome id="923" name="4th quarter"/>
            <outcome id="924" name="equal"/>
        </outcomes>
    </market>
    <market id="176" name="1st half - corner handicap" groups="all">
        <outcomes>
            <outcome id="1714" name="{$competitor1} ({+hcp})"/>
            <outcome id="1715" name="{$competitor2} ({-hcp})"/>
        </outcomes>
        <specifiers>
            <specifier name="hcp" type="decimal"/>
        </specifiers>
</market>
Market attribute name descriptions

Attribute Name

Description

is_flex_score

A flex score market. See Flex Score Markets below for a description.

deprecated

This market is no longer in use, but could still be seen for historical events (e.g. in replay or when requesting recovery)

Code Block
languagexml
themeEclipse
titleXML example
<markets> <market id="1" description="Three-way" groups=”all”> <outcomes> <outcome id="1" name="{$competitor1}"/> <outcome id="2" name="Draw"/> <outcome id="3" name=”{$competitor2}"/> </outcomes> </market> <market id="216" name="{!setnr} set game {gamenr} - race to {pointnr} points" groups="all"> <outcomes> <outcome id="4" name="{$competitor1}"/> <outcome id="5" name="{$competitor2}"/> </outcomes> <specifiers> <specifier name="setnr" type="integer"/> <specifier name="gamenr" type="integer"/> <specifier name="pointnr" type="integer"/> </specifiers> </market> <markets> <market id="1" description="Trevägs"> <outcomes> <outcome id="1" name="Hemmalaget vinnare"> <outcome id="2" name="Lika"> <outcome id="3" name="Bortalaget vinnare"> </outcomes> </market> </markets>

Betting status, outcome and betstop descriptions

Info

Note: The betting status

description is only sent when (if) the Live Odds producer is in early betstart.

Betstop descriptions:

Note

Please note

All Betstop descriptions can be found at: http://api.betradar.com/v1/descriptions/betstop_reasons.xml

Excerpt of Betstop examples

Code Block
languagexml
themeEclipse
titleXML example
<betstop_reasons>
  <betstop_reason id="12" description="Match ended"/>
  <betstop_reason id="1" description="Possible goal"/>
  <betstop_reason id="0" description="Unspecified"/>
  <betstop_reason id="-1" description="Loss of TV coverage"/>
  <betstop_reason id="-2" description="Loss of connection to scout"/>
</betstop_reasons>

Betting status descriptions:

Code Block
languagexml
themeEclipse
titleXML example
<betting_status_descriptions response_code="OK">
    <betting_status id="0" description="UNKNOWN"/>
    <betting_status id="1" description="GOAL"/>
    <betting_status id="2" description="DANGEROUS_FREE_KICK"/>
    <betting_status id="3" description="DANGEROUS_GOAL_POSITION"/>
    <betting_status id="4" description="POSSIBLE_BOUNDARY"/>
    <betting_status id="5" description="POSSIBLE_CHECKOUT"/>
    <betting_status id="6" description="INGAME_PENALTY"/>
</betting_status_descriptions>
Void reasons

The following table lists all available void reasons for a market. These void reasons will show up on individual markets in bet_settlement and bet_cancel messages/events.

IDNameExamples of how it is used
0Other

Technical issues, other unforeseen reasons.

1No goalscorerNo longer in use (Deprecated).
2Correct score missingNo longer in use (Deprecated).
3Results unverifiableIn very rare cases, Betradar may not be able to verify the results. For example: if the Scout loses connection to the venue and is unable to recreate the necessary sequence of events afterwards.
4Format changeThis void reason should indicate that some markets cannot be settled at all due to the wrong match format, but others were just offered with incorrect odds.
5Cancelled eventMatch will not be played at all due to: officially cancelled, change of draw, incorrect teams, swapped fixtures
6Missing goalscorerNo longer in use (Deprecated).
7Match ended in walkoverMatch ended in walk-over.
8Dead heat

Used if the dead heat rule is applied for a market, and there is no winner.

9Retired or defaultedOne of the competitors retired or defaulted and according to the settlement rules the market should be voided.
10Abandoned eventMatch started but will not be finished due to weather, riots etc.
11Postponed eventMatch will be played but 48hours or more later. Typically due to: bad weather, administrative reasons(security missing, ambulance missing, floodlight issues, etc.), fan riots etc.
12Incorrect odds

Trader mistakes (Betradar side issues when setting odds).

13Incorrect statisticsIncorrect statistics due to data entry issues either by operator or from data feed (incorrect scores, card stats.
14No result assignedThe actual result was not offered as an outcome. Example: who will score the nth point (and point n is not played).
15Client side settlement neededUsed for very special markets where Betradar cannot offer all outcomes, but basic calculations can be used on the client side to compute the result. (Currently used by World-Number-Service straight hit and premium cricket spread markets). Most vendors can choose to ignore implementing client side settlement.
16Starting pitcher changedUsed for specific markets where the starting pitcher has changed in Baseball matches.
Code Block
languagexml
themeEclipse
titleXML example
<void_reasons_descriptions response_code="OK">
    <void_reason id="0" description="OTHER"/>
    <void_reason id="1" description="NO_GOALSCORER"/>
    <void_reason id="2" description="CORRECT_SCORE_MISSING"/>
    <void_reason id="3" description="RESULT_UNVERIFIABLE"/>
    <void_reason id="4" description="FORMAT_CHANGE"/>
    <void_reason id="5" description="CANCELLED_EVENT"/>
    <void_reason id="6" description="MISSING_GOALSCORER"/>
    <void_reason id="7" description="MATCH_ENDED_IN_WALKOVER"/>
    <void_reason id="8" description="DEAD_HEAT"/>
    <void_reason id="9" description="RETIRED_OR_DEFAULTED"/>
    <void_reason id="10" description="EVENT_ABANDONED"/>
    <void_reason id="11" description="EVENT_POSTPONED"/>
    <void_reason id="12" description="INCORRECT_ODDS"/>
    <void_reason id="13" description="INCORRECT_STATISTICS"/>
    <void_reason id="14" description="NO_RESULT_ASSIGNABLE"/>
    <void_reason id="15" description="CLIENT_SIDE_SETTLEMENT_NEEDED"/>
    <void_reason id="16" description="STARTING_PITCHER_CHANGED"/>
</void_reasons_descriptions>