Betradar - the betting arm of Sportradar
Betradar - the betting arm of Sportradar
- Created by Espen Grinde, last modified on 02/Oct/20
The endpoints described in this chapter are exclusive to the different producers that deliver odds through Unified Feed.
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 |
<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 |
| Name and details about a team player in the requested language (en for English). |
GET |
| 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 |
| Name and details about a venue in the requested language (en for English). |
Player profile XML 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:
<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:
<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 |
| Describes all bet stop reasons. |
GET |
| Describes all the possible reasons for a previous betstop (as provided in the message odds_change in the odds element). |
GET |
| Describes all void-reasons (as provided in the message bet_settlement in market void_reason) |
GET |
| 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 |
| 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:
|
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:
<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) |
<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
Note: The betting status
description is only sent when (if) the Live Odds producer is in early betstart.
Betstop descriptions:
Please note
All Betstop descriptions can be found at: http://api.betradar.com/v1/descriptions/betstop_reasons.xml
Excerpt of Betstop examples
<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:
<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.
ID | Name | Examples of how it is used |
---|---|---|
0 | Other | Technical issues, other unforeseen reasons. |
1 | No goalscorer | No longer in use (Deprecated). |
2 | Correct score missing | No longer in use (Deprecated). |
3 | Results unverifiable | In 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. |
4 | Format change | This 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. |
5 | Cancelled event | Match will not be played at all due to: officially cancelled, change of draw, incorrect teams, swapped fixtures |
6 | Missing goalscorer | No longer in use (Deprecated). |
7 | Match ended in walkover | Match ended in walk-over. |
8 | Dead heat | Used if the dead heat rule is applied for a market, and there is no winner. |
9 | Retired or defaulted | One of the competitors retired or defaulted and according to the settlement rules the market should be voided. |
10 | Abandoned event | Match started but will not be finished due to weather, riots etc. |
11 | Postponed event | Match 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. |
12 | Incorrect odds | Trader mistakes (Betradar side issues when setting odds). |
13 | Incorrect statistics | Incorrect statistics due to data entry issues either by operator or from data feed (incorrect scores, card stats. |
14 | No result assigned | The actual result was not offered as an outcome. Example: who will score the nth point (and point n is not played). |
15 | Client side settlement needed | Used 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. |
16 | Starting pitcher changed | Used for specific markets where the starting pitcher has changed in Baseball matches. |
<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>
Betradar - the betting arm of Sportradar