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:

Additional information

Fixtures describe static or semi-static information about matches and races. There are multiple endpoints for fixtures, all found at the fixture.xml or schedule.xml endpoints:

HTTP

Endpoint

Description

GET

sports/(lang)/fixtures/changes.xml

Lists the ids of sport-events where changes were made the last 24 hours.

GET

sports/(lang)/sport_events/(id)/fixture.xml

Lists the fixtures for a specified event (event = match, game, race, outright).

GET

sports/(lang)/schedules/(date)/schedule.xml

Lists all events for a specific day.

GET

sports/(lang)/schedules/live/schedule.xml

Lists all currently live events.

GET

sports/(lang)/scheduleds/pre/schedule.xml?start=(x)&limit=(y)

Lists almost all events we are offering prematch odds for. This endpoint can be used during early startup to obtain almost all fixtures. This endpoint is one of the few that uses pagination.

GET

sports/(lang)/fixtures/changes.xml

Lists all fixtures that have changed during the last 24 hours. This can be used to only update the sport events that were updated since the last time you checked (to avoid polling and reprocessing the complete list).

GET

sports/(lang)/tournaments/(id)/schedule.xml

Lists all events for a particular season of a league/competition.

Attributes

All relevant elements and attributes found inside the fixture.xml endpoint in the API.

Name

Description

id

Unique identifier of this event (match, game, race, outright).

start_time

When the specific match will start.

start_time_confirmed

If true, the start time is scheduled and confirmed (the event can still become delayed) otherwise, it could be a best guess.

start_time_tbd

Possible values: True or false

This is only set if the starting time or date is not confirmed. If we know the date but not the starting time, this attribute is set to "True".

next_live_time

When live odds should be offered next time (i.e. start of match, or when a match will start again after suspension). At this point you will typically receive an Odds Change message with <sport_event_status reporting="1">.

liveodds

Indicates whether this match is booked by you for livecoverage (“booked”) bookable (“bookable”), is buyable (“buyable”) or not available (“not_available”).

status

Indicates whether this match is not started yet, live, or finished ("not_started", "live", "ended", "closed", “cancelled", “postponed”, “suspended”, “interrupted”, “delayed”). When it is ended, the results may not have been fully confirmed yet. When it is closed Betradar has confirmed the results.

competitors

A listing of the competitors in the event. For team-based matches the competitors are two teams. For a singles match in Tennis it is two tennis players etc.Get additional info about the competitor in a separate request to /sports/<lang>/competitors/<id>/profile.xml

venue

Where the event is taking place. Also see /sports/<lang>/venues/<id>/summary.xml

venue.map_coordinates

The GPS coordinates of the venue (comma separated)

tv_channels

A list of TV channels.

delayed_info

Time and reason for delays to this event.

extra_info

Within this element, sport-specific key-value pairs are added to provide sport-specific details about the event.

coverage_info

Information about how much information Betradar has, or will collect, for this particular sport event.

product_info

In this element, all data that is Betradar specific is kept.

product_info.streaming

Details about Betradar streaming offering.

product_info.info

A set of key-value elements describing various Betradar properties (see table below).

product_info.links

Within this element Betradar has links to various pages within Betradar’s hosted solution offering for this particular event.

reference_id

Additional ids for competitors. The reference_id name can be “betradar” and the id is then the primary id used in the LCOO Feeds. If the name is “betfair” the id is the id used in Betfair. If the name is BetradarCtrl the id is the id as seen in BetradarCtrl

tournament_round.betradar_id

Id used in the previously existing LCoO Feeds for this tournament. (Note that different tournament rounds could have different LCoO Feed Ids)

category.country_code

If category is a country type category there will be a country code which is the three-letter ISO country-code

scheduled
When the specific match will start (identical to start_time attribute).
XML example
<fixtures_fixture>
<fixture id="sr:match:8696826" scheduled="2016-10-31T18:00:00+00:00" start_time_tbd="false" next_live_time="2016-10-31T18:00:00+00:00" start_time="2016-10-31T18:00:00+00:00" start_time_confirmed="true">
    <tournament_round betradar_id="4301" type="group" number="25"/>
    <season id="sr:season:12346" name="Div 1, Sodra 2016" start_date="2016-04-16" end_date="2016-11-05" year="2016" tournament_id="sr:tournament:68"/>
    <tournament id="sr:tournament:68" name="Div 1 Sodra">
        <sport id="sr:sport:1" name="Soccer"/>
        <category id="sr:category:9" name="Sweden" country_code="SWE"/>
    </tournament>
    <competitors>
        <competitor id="sr:competitor:1860" name="IK Oddevold" country="Sweden" country_code="SWE" abbreviation="ODD" qualifier="home">
            <reference_ids>
                <reference_id name="betradar" value="1449434"/>
            </reference_ids>
        </competitor>
        <competitor id="sr:competitor:22356" name="Tvaakers IF" country="Sweden" country_code="SWE" abbreviation="TVA" qualifier="away">
            <reference_ids>
                <reference_id name="betradar" value="7281378"/>
            </reference_ids>
        </competitor>
    </competitors>
    <extra_info>
        <info key="neutral_ground" value="false"/>
        <info key="period_length" value="45"/>
        <info key="overtime_length" value="15"/>
    </extra_info>
    <coverage_info level="bronze" live_coverage="false">
        <coverage includes="basic_score"/>
    </coverage_info>
    <product_info>
        <is_in_hosted_statistics/>
    </product_info>
    <reference_ids>
        <reference_id name="BetradarCtrl" value="11428313"/>
    </reference_ids>
</fixture>
</fixtures_fixture>

Extra info values

Information and values found inside of the extra_info attribute in fixtures.xml in the API.

Name

Type

Description

neutral_ground
boolean

True if the match is taking place on neutral ground.

auto_tradedbooleanSet to true if the match is auto-traded. For auto-traded matches odds are solely generated by a mathematical odds model and live scoring. Any market monitoring and trader interaction is not cosidered
draw_possiblebooleanSet if a draw is possible
no_advantage_scoringbooleanOnly present and set to true if no advantage scoring is used. In this tennis rule mode, the first player to get 4 points wins the game
best_ofintegerThe number of sets (or equivalent) that the match maximum will have. Typically the winner needs best_of/2+1 sets to win
set_limitintegerNumber of points in a set (max)
period_lengthintegerNumber of minutes in a period
overtime_lengthintegerNumber of minutes for each overtime period
super_tie_breakintegerNumber of points required to win match deciding tiebreak
coverage_sourceenumeration (venue, TV)How are the live results obtained (directly from the ventue, TV, etc.)
surfaceenumeration

Possible values:

hard_court, grass, sand, red_clay, green_clay, hardcourt_outdoor, carpet_indoor, synthetic_indoor, synthetic_outdoor, synthetic_grass, hardcourt_indoor, red clay indoor

best_of_legsintegerNumber of legs. In darts a single game is called a leg. You win a match by winning a number of legs. In some competitions a match consists of sets where each set consist of legs (in such cases both best_of and best_of_legs are typically available)
max_number_of_extra_inningsinteger

Shows the maximum number of extra innings possible.

Possible values:

Positive integer or "unlimited"

XML example
 <extra_info>
  <info key="neutral_ground" value="false"/>
  <info key="period_length" value="12"/>
  <info key="overtime_length" value="5"/>
  <info key="coverage_source" value="venue"/>
  <info key="extended_live_markets_offered" value="false"/>
</extra_info>

Reference IDs

Displays what producer reference this fixture is using, displayed inside the reference_id attribute

Name

Description

betradar

The ID used in the Betradar LCoO Feed

betradarctrl

The ID used in BetradarCtrl

betfair

The ID used in Betfair

rotation_number
If the reference ID name is a rotation_number, the ID is a rotation number. See the concept section for details on rotation numbers.
aams
AAMS (Amministrazione Autonoma dei Monopoli di Stato) – Italian betting regulator.
XML example
<reference_ids>
	<reference_id name="BetradarCtrl" value="11428313"/>
</reference_ids>

Betradar product information

Additional information about the fixture found inside the product_info attribute in fixtures.xml.

Name

Description

is_in_live_score

If Betradar has Live Score for this event, this key is present and set to true.

is_in_hosted_statistics

If Betradar has hosted statistics for this event, this key is present.

is_in_live_center_soccer

If this event is a Soccer event and Betradar offers it within the Live Sports Centre Soccer, this key is present and set to true.

is_auto_traded

If this event is not covered by Live Odds operations, this key is present and set to true.

XML example
    <product_info>
        <is_in_hosted_statistics/>
    </product_info>

Competitors

Competitors in the fixture have an id attribute and a name attribute. Competitor IDs that are on the format “sr:competitor:XXX”, can typically be looked up individually in the API (competitors/(id)/profile.xml), and may have translations to multiple languages.

Competitors with an id of type “sr:simpleteam:xxx” do not have translations, and are not unique. These are teams that Betradar have created for a one-off match that we cover, that are not part of some tournament/league Betradar normally covers. The name that is in the competitor element can preferably be used to name the team. If the same team competes in another tournament (sr:simpleteam:xxx), the team will be using a different id. Betradar tries to keep the number of competitors of this type to a minimum.

<competitors>
<sport id="sr:sport:1" name="Soccer"/>
      <category id="sr:category:17" name="Tournaments"/>
<competitor id="sr:competitor:12345" name="Team1"/>
<competitor id="sr:competitor:11123" name="Team2"/>
</competitors>
Competitor "division" and "state"

This attribute is used primarily for NCAA football and basketball to signify which division the competitor belongs to, and which state the college is located in.

This attribute has been added to all endpoints where the <competitor> element is sent.

XML example
<competitors>
  <competitor id="sr:competitor:4285" name="Tulane Green Wave" state="LA" country="USA" country_code="USA" abbreviation="TUL" qualifier="home" gender="male" division="1">
    <reference_ids>
      <reference_id name="betradar" value="58892"/>
      <reference_id name="rotation_number" value="138"/>
    </reference_ids>
  </competitor>
  <competitor id="sr:competitor:47353" name="FIU Panthers" state="FL" country="USA" country_code="USA" abbreviation="FIU" qualifier="away" gender="male" division="1">
      <reference_ids>
        <reference_id name="betradar" value="427914"/>
        <reference_id name="rotation_number" value="137"/>
      </reference_ids>
  </competitor>
</competitors>


Getting pre-match fixtures at start-up

There is a special endpoint to get almost all fixtures before initiating recovery. This endpoint is designed to significantly reduce the number of API calls required during recovery. The endpoint is also special in that it is one of the few endpoints that uses pagination (i.e. you have to specify a start record and a limit for the number of records to retrieve. The maximum number of records you can retrieve in one call is 1000). The records returned are all sport_events just like the records returned in the daily schedule endpoint. This can be done using the /schedule.xml and /tournament.xml endpoints, and specifying a language ID and date. An example of a sport_event message included scheduled="2016-03-31:

From /schedulre.xml
<sport_event id="sr:match:9199415" scheduled="2016-03-31T09:45:00+00:00" start_time_tbd="false" status="closed" next_live_time="2016-03-31T09:45:00+00:00">
    <tournament_round type="cup" name="round_of_16"/>
    <season id="sr:season:12801" name="India Open (SS) 2016" start_date="2016-03-28" end_date="2016-04-04" year="2016" tournament_id="sr:tournament:1277"/>
    <tournament id="sr:tournament:1277" name="India Open (SS)">
        <sport id="sr:sport:31" name="Badminton"/>
        <category id="sr:category:259" name="International"/>
    </tournament>
    <competitors>
        <competitor id="sr:competitor:87528" name="Matsutomo M / Takahashi A" abbreviation="M/T" qualifier="home">
            <reference_ids>
                <reference_id name="betradar" value="5261571"/>
            </reference_ids>
        </competitor>
        <competitor id="sr:competitor:101271" name="Stoeva G / Stoeva S" abbreviation="S/S" qualifier="away">
            <reference_ids>
                <reference_id name="betradar" value="6170039"/>
            </reference_ids>
        </competitor>
    </competitors>
</sport_event>
From /tournament.xml
<tournaments>
    <tournament id="sr:tournament:109" name="MLB">
        <sport id="sr:sport:3" name="Baseball"/>
        <category id="sr:category:16" name="USA" country_code="USA"/>
    </tournament>
    <tournament id="sr:tournament:1046" name="Italian Baseball League">
        <sport id="sr:sport:3" name="Baseball"/>
        <category id="sr:category:510" name="Italy" country_code="ITA"/>
    </tournament>
    <tournament id="sr:tournament:2456" name="MLB Spring Training">
        <sport id="sr:sport:3" name="Baseball"/>
        <category id="sr:category:16" name="USA" country_code="USA"/>
    </tournament>
    <tournament id="sr:tournament:2541" name="KBO League ">
        <sport id="sr:sport:3" name="Baseball"/>
        <category id="sr:category:384" name="Republic of Korea" country_code="KOR"/>
    </tournament>
    <tournament id="sr:tournament:14602" name="ABL">
        <sport id="sr:sport:3" name="Baseball"/>
        <category id="sr:category:775" name="Australia" country_code="AUS"/>
    </tournament>
    <tournament id="sr:tournament:24087" name="MILB">
        <sport id="sr:sport:3" name="Baseball"/>
        <category id="sr:category:16" name="USA" country_code="USA"/>
    </tournament>
</tournaments>

Fixture change history

We provide a date and fixture change history for all matches, available in the fixtures/changes.xml endpoint in the self-service documentation HERE.

XML example
<fixture>
<scheduled_start_time_changes>
<scheduled_start_time_change old_time="2018-03-23T11:00:00+00:00" new_time="2018-09-07T10:00:00+00:00" changed_at="2018-03-14T00:07:23+00:00"/>
</scheduled_start_time_changes>
</fixture>