Soccer Extended v3

Frequently Asked Questions
API API Version Tournament List
Soccer Extended v3 List
Note: Each league group requires a separate API key and authentication is required for all API calls.
## Soccer Extended v3 API Map To best utilize the Soccer Extended v3 API, you will need several parameters to create your API calls. The map below illustrates how you can obtain the parameters you need. >

Examples:

>To find the event commentary for a given match: >
  1. Call the daily schedule or results and find the Match Id for the chosen game
  2. Call the Match Timeline using the Match Id
  3. Locate the Event Commentary
>The event commentary for the match is displayed. >
    >To find a teams number of goals by headers for the season: >
    1. Call the daily schedule, results, or tournament list and find the desired Team Id
    2. Call the Team Statistics using the Team Id
    3. Locate the goals_by_head - total
    >The teams number of goals by headers is displayed. Primary and mapping feeds only require dates or human-readable parameters, while other feeds require a global unique identifier (GUID) to identify the match, team, or player that the feed will discribe. The primary feeds provide GUIDs for matches, tournaments, and teams, while matches and teams provide GUIDS for players. ## Coverage Levels We currently provide four different levels of detail to ensure maximum coverage while still providing some data on less popular tournaments. By looking at the details of a particular tournament you can find out the coverage level for that tournament. We combine coverage levels with the correct feeds to ensure you are getting the most comprehensive data offering in the most efficient manner possible. Platinum - We provide scores, lineups, statistics, fun facts, match event timelines including positional information & player information, plus passing and duel data, average performance score, and chance creation.
    Gold - We provide scores, lineups, statistics, fun facts, match event timelines including positional information & player information.
    Silver - We provide real-time scores, and a high-level match event timeline including key events.
    Bronze - We provide basic team and scoring information. This level of information is typically provided for second or third division tournament. ## Daily Results (Boxscore)
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Boxscore Data Points: Away Team Period Score
    Away Team Score
    Home Team Period Score
    Home Team Score
    Period Number
    Period Type
    Aggregate Away Score
    Aggregate Home Score
    Aggregate Winner Id
    Match Status
    Event Status
    Winning Team Id
    Match Info Data Points: Sport Event Id Sport Event Scheduled Sport Event Start Time to be Determined
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/schedules/2016-08-18/results.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/schedules/2016-08-18/results.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/schedules/2016-08-18/results.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Daily Results. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/schedules/`{year}`-`{month}`-`{day}`/results.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Results, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/results.xsd?api_key=`{your_api_key}` Return to API map ## Daily Schedule
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Match Info Data Points: Sport Event Id
    Sport Event Scheduled
    Sport Event Start Time to be Determined Sport Event Status
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/schedules/2016-08-18/schedule.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/schedules/2016-08-18/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/schedules/2016-08-18/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. To access the Daily Schedule, replace the parameters in the following URL: https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/schedules/`{year}`-`{month}`-`{day}`/schedule.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Schedule, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/schedule.xsd?api_key=`{your_api_key}` Return to API map ## Deleted Matches
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Match Info Data Points: Sport Event Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/schedules/deleted_matches.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/schedules/deleted_matches.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/schedules/deleted_matches.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. To access the Deleted Matches, replace the parameters in the following URL: https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/schedules/deleted_matches.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Deleted Matches, use the following URL. http://schemas.sportradar.com/bsa/soccer/v1/xml/endpoints/soccer/schedule_deleted_sport_events.xsd Return to API map ## Live Results (Boxscore)
    Update Frequency: Every second when a game is underway
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Boxscore Data Points: Away Team Period Score
    Away Team Score
    Home Team Period Score
    Home Team Score
    Clock Match Time
    Clock Stoppage Time
    Period Number
    Period Type
    Aggregate Away Score
    Aggregate Home Score
    Aggregate Winner Id
    Match Status
    Period
    Event Status
    Winning Team Id
    Match Info Data Points: Sport Event Id Sport Event Scheduled Sport Event Start Time to be Determined
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/schedules/live/results.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/schedules/live/results.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/schedules/live/results.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves Live Results. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/schedules/live/results.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Live Results, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/results.xsd?api_key=`{your_api_key}` Return to API map ## Match Fun Facts
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Match Info Data Points: Sport Event Id
    Sport Event Scheduled
    Sport Event Start Time to be Determined Match Facts
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/funfacts.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/matches/sr:match:9909825/funfacts.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/funfacts.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Fun Facts information for a specific match. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/matches/`{match_id}`/funfacts.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `match_id` | Id of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Fun Facts, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/match-funfacts.xsd?api_key=`{your_api_key}` Return to API map ## Match Lineups
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Manager Country Code
    Manager Id
    Manager Name
    Manager Nationality
    Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Player Info Data Points: Player Id
    Player Jersey Number
    Player Name
    Player Order
    Player Position
    Player Type
    Match Info Data Points: Sport Event Id Sport Event Scheduled Sport Event Start Time to be Determined
    Match Lineup Data Points: Team Designation Team Formation
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/lineups.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/matches/sr:match:9909825/lineups.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/lineups.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Match Lineups information. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/matches/`{match_id}`/lineups.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `match_id` | Id of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Match Lineups, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/match-lineups.xsd?api_key=`{your_api_key}` Return to API map ## Match Probabilities
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    Match Info Data Points: Sport Event Id Sport Event Scheduled Sport Event Start Time to be Determined
    Match Probabilities Data Points: Away Team Win Probability
    Draw Probability
    Home Team Win Probability
    Market Name
    Outcome Name
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/probabilities.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/matches/sr:match:9909825/probabilities.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/probabilities.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Match Probability information. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/matches/`{match_id}`/probabilities.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `match_id` | Id of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Match Probabilities, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/match_probabilities.xsd?api_key=`{your_api_key}` Return to API map ## Match Summary
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Boxscore Data Points: Clock Match Time
    Clock Stoppage Time
    Away Team Match Score
    Away Team Period Score
    Home Team Match Score
    Home Team Period Score
    Period Number
    Period Type
    Aggregate Away Score
    Aggregate Home Score
    Aggregate Winner Id
    Period
    Match Status
    Status
    Winner Id
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Match Info Data Points: Referee Assistant Country Code
    Referee Assistant Id
    Referee Assistant Name
    Referee Assistant Nationality
    Referee Assistant Type
    Refree Country Code
    Referee Id
    Referee Name
    Referee Nationality
    Sport Event Id
    Sport Event Scheduled
    Weather Conditions
    Weather Pitch Conditions
    Sport Event Start Time to be Determined
    Player Match Statistics Data Points: Assists
    Chances Created
    Crosses Successful
    Crosses Total
    Duels Header Successful
    Duels Header Total
    Duels Sprint Successful
    Duels Sprint Total
    Duels Tackle Successful
    Duels Tackle Total
    Fouls Committed
    Goal Line Clearances
    Goals by Head
    Goals by Penalty
    Goals Conceded
    Goals Scored
    Interceptions
    Minutes Played
    Offsides
    Own Goals
    Passes Long Successful
    Passes Long Total
    Passes Medium Successful
    Passes Medium Total
    Passes Short Successful
    Passes Short Total
    Penalties Faced
    Penalties Missed
    Penalties Saved
    Performance Score
    Red Cards
    Shots Blocked
    Shots Faced Saved
    Shots Faced Total
    Shots Off Goal
    Shots On Goal
    Substituted In
    Substituted Out
    Was Fouled
    Yellow Cards
    Yellow Red Cards
    Team Match Statistics Data Points: Ball Possession
    Corner Kicks
    Fouls
    Free Kicks
    Goal Kicks
    Offsides
    Penalties Missed
    Shots Off Target
    Shots On Target
    Shots Saved
    Throw Ins
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/summary.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/matches/sr:match:9909825/summary.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/summary.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Match Summary information for a specific game. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/matches/`{match_id}`/summary.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `match_id` | Id of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Match Summary, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/match_summary.xsd?api_key=`{your_api_key}` Return to API map ## Match Timeline
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Boxscore Data Points: Clock Match Time
    Clock Stoppage Time
    Away Team Match Score
    Away Team Period Score
    Home Team Match Score
    Home Team Period Score
    Period Number
    Period Type
    Aggregate Away Score
    Aggregate Home Score
    Aggregate Winner Id
    Period
    Match Status
    Status
    Winner Id
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Player Info Data Points: Player Id Player Name
    Match Info Data Points: Coverage Categories Included
    Coverage Level
    Coverage Live Flag
    Referee Assistant Country Code
    Referee Assistant Id
    Referee Assistant Name
    Referee Assistant Nationality
    Referee Assistant Type
    Refree Country Code
    Referee Id
    Referee Name
    Referee Nationality
    Sport Event Id Sport Event Scheduled
    Weather Conditions
    Weather Pitch Conditions
    Sport Event Start Time to be Determined
    Play by Play Info Data Points: Away Team Score
    Ball Location - Team
    Ball Location - X Coordinate
    Ball Location - Y Coordinate
    Event Coordinate X Location
    Event Coordinate Y Location
    Event Id
    Event Match Clock
    Event Match Time
    Event Period Name
    Event Period Type
    Event Stoppage Time
    Event Team
    Event Type
    Event Time
    Home Team Score
    Play Details Data Points: Assisting Player Id
    Assisting Player Name
    Assisting Player Type
    Goal Scorer Id
    Goal Scorer Method
    Goal Scorer Name
    Substitution Player In - Id
    Substitution Player In - Name
    Substitution Player Out - Id
    Substitution Player Out - Name
    Player Match Statistics Data Points: Assists
    Chances Created
    Crosses Successful
    Crosses Total
    Duels Header Successful
    Duels Header Total
    Duels Sprint Successful
    Duels Sprint Total
    Duels Tackle Successful
    Duels Tackle Total
    Fouls Committed
    Goal Line Clearances
    Goals by Head
    Goals by Penalty
    Goals Conceded
    Goals Scored
    Interceptions
    Minutes Played
    Offsides
    Own Goals
    Passes Long Successful
    Passes Long Total
    Passes Medium Successful
    Passes Medium Total
    Passes Short Successful
    Passes Short Total
    Penalties Faced
    Penalties Missed
    Penalties Saved
    Performance Score
    Red Cards
    Shots Blocked
    Shots Faced Saved
    Shots Faced Total
    Shots Off Goal
    Shots On Goal
    Substituted In
    Substituted Out
    Was Fouled
    Yellow Cards
    Yellow Red Cards
    Team Match Statistics Data Points: Ball Possession
    Corner Kicks
    Fouls
    Free Kicks
    Goal Kicks
    Offsides
    Penalties Missed
    Red Cards
    Shots Off Target
    Shots On Target
    Shots Saved
    Throw Ins
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/timeline.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/matches/sr:match:9909825/timeline.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/matches/sr:match:9909825/timeline.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Match Timeline. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/matches/`{match_id}`/timeline.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `match_id` | Id of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Match Timeline, replace the parameters in the following URL. https:///api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/match_timeline.xsd?api_key=`{your_api_key}` Return to API map ## Missing Players
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation Team Id Team Name
    Player Info Data Points: Player Id
    Player Name
    Player Reason Player Status
    Tournament Info Data Points: Tournament Id Tournament Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/en/tournaments/sr:tournament:34/missing_players.xml?api_key=?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/en/tournaments/sr:tournament:34/missing_players.xml?api_key=?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/en/tournaments/sr:tournament:34/missing_players.xml?api_key=?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Missing Players information. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/missing_players.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `tournament_id or season_id` | Id of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Missing Players, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/missing_players.xsd?api_key=`{your_api_key}` Return to API map ## Player Mapping v2 to v3 The Player Mapping feed displays Player IDs from the Soccer v2 API and the converted IDs that are used in the Soccer v3 API.
    Note: A Soccer v3 API key is required to access this feed. If you need a trial key, please login and request a trial.

    Update Frequency: As Necessary
    Content Type: XML or JSON
    Mapping Info Data Points: v2 Id v3 Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/players/v2_v3_id_mappings.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/players/v2_v3_id_mappings.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/players/v2_v3_id_mappings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Player Mapping v2 to v3. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/players/v2_v3_id_mappings.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Player Mapping v2 to v3, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/soccer/player_mappings.xsd?api_key=`{your_api_key}` Return to API map ## Player Profile
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Abbreviation
    Country
    Country Code
    Id
    Name
    Player Info Data Points: Country Code
    Date of Birth
    First Name
    Gender
    Height (cm)
    Id
    Last Name
    Name
    Nationality
    Preferred Foot
    Team Membership Active Flag
    Team Membership End Date
    Team Membership Jersey Number
    Team Membership Start Date
    Team Membership Type
    Type (position)
    Weight (kg)
    Season Statistics Data Points: Assists
    Goals Scored
    Last Event Time
    Matches Played
    Own Goals
    Red Cards
    Substituted In
    Substituted Out
    Yellow Cards
    Yellow/Red Cards
    Tournament Info Data Points: Coverage - Matches Covered via Max
    Coverage - Matches Played
    Coverage - Coverage - Max Coverage Level
    Coverage - Min Coverage Level
    Coverage - Scheduled Matches
    Coverage - Season Id
    Season Id
    Season Name
    Tournament Id
    Tournament Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/players/sr:player:1053/profile.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/players/sr:player:1053/profile.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/players/sr:player:1053/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Player Profile. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/players/`{player_id}`/profile.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `player_id` | Id of a given player. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Player Profile, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/player_profile.xsd?api_key=`{your_api_key}` Return to API map ## Team Mapping v2 to v3 The Team Mapping feed displays Team IDs from the Soccer v2 API and the converted IDs that are used in the Soccer v3 API.
    Note: A Soccer v3 API key is required to access this feed. If you need a trial key, please login and request a trial.

    Update Frequency: As Necessary
    Content Type: XML or JSON
    Mapping Info Data Points: v2 Id v3 Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/teams/v2_v3_id_mappings.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/teams/v2_v3_id_mappings.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/teams/v2_v3_id_mappings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Team Mapping v2 to v3. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/teams/v2_v3_id_mappings.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Team Mappings v2 to v3, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/team_mappings.xsd?api_key=`{your_api_key}` Return to API map ## Team Profile
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Abbreviation
    Country
    Country Code
    Id
    Jersey - Base Color
    Jersey - Horizontal Stripes
    Jersey - Horizontal Stripes Color
    Jersey - Number Color
    Jersey - Shirt Type
    Jersey - Sleeve Color
    Jersey - Sleeve Detail
    Jersey - Split
    Jersey - Split Color
    Jersey - Squares
    Jersey - Squares Color
    Jersey - Stripes
    Jersey - Stripes Color
    Jersey - Type
    Manager - Country Code
    Manager - Id
    Manager - Name
    Manager - Nationality
    Name
    Player Info Data Points: Country Code
    Date Of Birth
    Gender
    Height (cm)
    Id
    Jersey Number
    Name
    Nationality
    Preferred Foot
    Type (position)
    Weight (kg)
    Tournament Info Data Points: Id
    Name
    Season Id Season Name
    Team Seasonal Statistics Data Points: Away Formation
    Cup Rank
    Draws
    Goals Allowed
    Goals Scored
    Group Name
    Group Position
    Home Formation
    Losses
    Matches Played
    Total Formation
    Wins
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/teams/sr:competitor:17/profile.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/teams/sr:competitor:17/profile.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/teams/sr:competitor:17/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the current Team Profile. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/teams/`{team_id}`/profile.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `team_id` | Id of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Team Profile, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/team_profile.xsd?api_key=`{your_api_key}` Return to API map ## Team Results
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Abbreviation
    Country
    Country Code
    Id
    Name
    Qualifier
    Boxscore Data Points: Away Team Period Score
    Away Team Score
    Home Team Period Score
    Home Team Score
    Period Number
    Period Type
    Aggregate Away Score
    Aggregate Home Score
    Aggregate Winner Id
    Match Status
    Event Status
    Winning Team Id
    Match Info Data Points: Sport Event Id Sport Event Scheduled Sport Event Start Time to be Determined
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/teams/sr:competitor:17/results.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/teams/sr:competitor:17/results.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/teams/sr:competitor:17/results.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the current Team Results. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/teams/`{team_id}`/results.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `team_id` | Id of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Team Results, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/team_results.xsd?api_key=`{your_api_key}` Return to API map ## Team Schedule
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Match Info Data Points: Sport Event Id
    Sport Event Scheduled
    Sport Event Start Time to be Determined Sport Event Status
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/teams/sr:competitor:17/schedule.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/teams/sr:competitor:17/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/teams/sr:competitor:17/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the current Team Schedule. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/teams/`{team_id}`/schedule.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `team_id` | Id of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Team Schedule, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/team_schedule.xsd?api_key=`{your_api_key}` Return to API map ## Team Statistics
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Abbreviation
    Coverage Matches Covered (Bronze)
    Coverage Matches Covered (Gold)
    Coverage Matches Covered (Platinum)
    Coverage Matches Covered (Silver)
    Coverage Matches Played
    Coverage Scheduled Matches
    Country
    Country Code
    Id
    Name
    Player Info Data Points: Id Matches Played Name
    Tournament Info Data Points: Current Season End Date
    Current Season Id
    Current Season Name
    Current Season Start Date
    Current Season Year
    Tournament Id
    Tournament Name
    Team Season Statistics Data Points: Ball Possession - Matches
    Ball Possession - Total
    Cards Given - Matches
    Cards Given - Total
    Corner Kicks - Matches
    Corner Kicks - Total
    Form
    Free Kicks - Matches
    Free Kicks - Total
    Goal Attempts - Matches
    Goal Attempts - Total
    Goals
    Goals by Foot - Matches
    Goals by Foot - Total
    Goals by Headers - Matches
    Goals by Headers - Total
    Goals by Time 0-15
    Goals by Time 16-30
    Goals by Time 31-45
    Goals by Time 46-60
    Goals by Time 61-75
    Goals by Time 76-90
    Goals Conceded
    Goals Conceded by Time 0-15
    Goals Conceded by Time 16-30
    Goals Conceded by Time 31-45
    Goals Conceded by Time 46-60
    Goals Conceded by Time 61-75
    Goals Conceded by Time 76-90
    Goals Conceded - Matches
    Goals Conceded - Total
    Goals Scored - Matches
    Goals Scored - Total
    Matches Played
    Matches Won
    Offsides - Matches
    Offsides - Total
    Shots Blocked - Matches
    Shots Blocked - Total
    Shots off Goal - Matches
    Shots off Goal - Total
    Shots on Goal - Matches
    Shots on Goal - Total
    Player Season Statistics Data Points: Assists Matches
    Assists Total
    Cards Given Matches
    Cards Given Total
    Chances Created Matches
    Chances Created Total
    Clean Sheets Matches
    Clean Sheets Total
    Corner Kicks Matches
    Corner Kicks Total
    Crosses Matches
    Crosses Successful
    Crosses Total
    Duels Header Matches
    Duels Header Successful
    Duels Header Total
    Duels Sprint Matches
    Duels Sprint Successful
    Duels Sprint Total
    Duels Tackle Matches
    Duels Tackle Successful
    Duels Tackle Total
    Goal Attempts Matches
    Goal Attempts Total
    Goal Line Clearances Matches
    Goal Line Clearances Total
    Goals by Headers Matches
    Goals by Headers Total
    Goals Conceded Matches
    Goals Conceded Total
    Goals Scored Matches
    Goals Scored Total
    Offsides Matches
    Offsides Total
    Own Goals Matches
    Own Goals Total
    Passes Long Matches
    Passes Long Successful
    Passes Long Total
    Passes Medium Matches
    Passes Medium Successful
    Passes Medium Total
    Passes Short Matches
    Passes Short Successful
    Passes Short Total
    Penalties Faced Matches
    Penalties Faced Total
    Penalties Saved Matches
    Penalties Saved Total
    Performance Score Average
    Performance Score Matches
    Shots Blocked Matches
    Shots Blocked Total
    Shots Faced Matches
    Shots Faced Total
    Shots off Goal Matches
    Shots off Goal Total
    Shots on Goal Matches
    Shots on Goal Total
    Substituted In Matches
    Substituted In Total
    Substituted Out Matches
    Substituted Out Total
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/teams/sr:competitor:17/statistics.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/tournaments/sr:tournament:7/teams/sr:competitor:17/statistics.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/teams/sr:competitor:17/statistics.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the current Team Statistics. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/teams/`{team_id}`/statistics.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `tournament_id or season_id` | Id of a given tournament or season. | | `team_id` | Id of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Team Statistics, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/tournament_team_statistics.xsd?api_key=`{your_api_key}` Return to API map ## Team Vs Team
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Boxscore Data Points: Away Team Match Score
    Away Team Period Score
    Home Team Match Score
    Home Team Period Score
    Period Number
    Period Type
    Aggregate Away Score
    Aggregate Home Score
    Aggregate Winner Id
    Match Status
    Status
    Winner Id
    Match Info Data Points: Sport Event Id Sport Event Scheduled Sport Event Start Time to be Determined
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/teams/sr:competitor:17/versus/sr:competitor:35/matches.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/teams/sr:competitor:17/versus/sr:competitor:35/matches.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/teams/sr:competitor:17/versus/sr:competitor:35/matches.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Team vs Team information. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/teams/`{team_id}`/versus/`{team_id2}`/matches.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `team_id` | Id of a given team. | | `team_id2` | Id of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Team vs Team, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/team_versus_team.xsd?api_key=`{your_api_key}` Return to API map ## Tournament Info
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Tournament Info Data Points: Coverage Matches Covered Via Max
    Coverage Matches Played
    Coverage Max Coverage Level
    Coverage Min Coverage Level
    Coverage Scheduled Matches
    Coverage Season Id
    Current Season End Date
    Current Season Id
    Current Season Name
    Current Season Start Date
    Current Season Year
    Group Id
    Group Name
    Round - Cup Round Match Number
    Round - Cup Round Matches
    Round - Name
    Round - Type
    Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/info.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/tournaments/sr:tournament:7/info.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/info.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Tournament Information. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/info.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `tournament_id or season_id` | Id of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Information, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/tournament_info.xsd?api_key=`{your_api_key}` Return to API map ## Tournament Leaders
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation Team Id Team Name
    Player Info Data Points: Id Name
    Player Rankings Data Points: Average Performance Score Rank
    Average Performance Score Total
    Assists Total
    Assists Rank
    Cards Rank
    Chances Created Rank
    Chances Created Total
    Clean Sheets Rank
    Clean Sheets Total
    Goals Total
    Goals Rank
    Minutes Played Rank
    Minutes Played Total
    Own Goals Total
    Own Goals Rank
    Penalty Goals Rank
    Penalty Goals Total
    Points Rank
    Red Cards
    Shots Faced Saved Percentage
    Shots Faced Saved Rank
    Shots Faced Saved Total
    Shots on Goal Rank
    Shots on Goal Total
    Successful Header Duels Percentage
    Successful Header Duels Rank
    Successful Header Duels Total
    Successful Long Passes Percentage
    Successful Long Passes Rank
    Successful Long Passes Total
    Successful Medium Passes Percentage
    Successful Medium Passes Rank
    Successful Medium Passes Total
    Successful Passes Percentage
    Successful Passes Rank
    Successful Passes Total
    Successful Short Passes Percentage
    Successful Short Passes Rank
    Successful Short Passes Total
    Successful Sprint Duels Percentage
    Successful Sprint Duels Rank
    Successful Sprint Duels Total
    Successful Tackle Duels Percentage
    Successful Tackle Duels Rank
    Successful Tackle Duels Total
    Yellow Cards
    Yellow/Red Cards
    Tournament Info Data Points: Coverage - Max Coverage
    Coverage - Played
    Coverage - Max Coverage Level
    Coverage - Min Coverage Level
    Coverage - Scheduled
    Coverage - Season Id
    Current Season End Date
    Current Season Id
    Current Season Name
    Current Season Start Date
    Current Season Year
    Tournament Id
    Tournament Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/leaders.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/tournaments/sr:tournament:7/leaders.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/leaders.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Tournament Leaders. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/leaders.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `tournament_id or season_id` | Id of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Leaders, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/tournament_leaders.xsd?api_key=`{your_api_key}` Return to API map ## Tournament List
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Tournament Info Data Points: Coverage - Max Coverage
    Coverage - Played
    Coverage - Max Coverage Level
    Coverage - Min Coverage Level
    Coverage - Scheduled
    Coverage - Season Id
    Current Season End Date
    Current Season Id
    Current Season Name
    Current Season Start Date
    Current Season Year
    Tournament Id
    Tournament Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/tournaments.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/tournaments.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/tournaments.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Tournament List. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament List, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/tournaments.xsd?api_key=`{your_api_key}` Return to API map ## Tournament Live Standings
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Id Name
    Standings Data Points: Change
    Comment Text
    Current Outcome
    Draw
    Goal Differential
    Goals Against
    Goals For
    Group Id
    Group Name
    Losses
    Matches Played
    Points
    Rank
    Tie Break Rule
    Type
    Wins
    Tournament Info Data Points: Current Season End Date
    Current Season Id
    Current Season Name
    Current Season Start Date
    Current Season Year
    Tournament Id
    Tournament Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/live_standings.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/tournaments/sr:tournament:7/live_standings.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/live_standings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the current Tournament Live Standings. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/live_standings.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `tournament_id or season_id` | Id of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Tournament Live Standings, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/tournament_standings.xsd?api_key=`{your_api_key}` Return to API map ## Tournament Results
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Boxscore Data Points: Away Team Match Score
    Away Team Period Score
    Home Team Match Score
    Home Team Period Score
    Period Number
    Period Type
    Aggregate Away Score
    Aggregate Home Score
    Aggregate Winner Id
    Match Status
    Status
    Winner Id
    Match Info Data Points: Sport Event Id Sport Event Scheduled Sport Event Start Time to be Determined
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/results.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/tournaments/sr:tournament:7/results.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/results.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Tournament Results. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/results.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `tournament_id or season_id` | Id of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Results, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/tournament_results.xsd?api_key=`{your_api_key}` Return to API map ## Tournament Schedule
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Team Abbreviation
    Team Country
    Team Country Code
    Team Id
    Team Name
    Team Qualifier (home/away)
    Match Info Data Points: Sport Event Id
    Sport Event Scheduled
    Sport Event Scheduled Sport Event Start Time to be Determined
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    Tournament Cup Round Match Number
    Tournament Cup Round Matches
    Tournament Round Group
    Tournament Round Name
    Tournament Round Number
    Tournament Round Other Match Id
    Tournament Round Phase
    Tournament Round Tournament Match Number
    Tournament Round Type
    Venue Data Points: Capacity
    City
    Country
    Country Code
    Id
    Map Coordinates
    Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/schedule.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/tournaments/sr:tournament:7/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Tournament Schedule. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/schedule.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `tournament_id or season_id` | Id of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Schedule, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/tournament_schedule.xsd?api_key=`{your_api_key}` Return to API map ## Tournament Seasons
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Tournament Info Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Tournament Id
    Season Year
    Tournament Id
    Tournament Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:17/seasons.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/tournaments/sr:tournament:17/seasons.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:17/seasons.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Tournament Seasons. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/seasons.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `tournament_id or season_id` | Id of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Tournament Seasons, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/tournament_seasons.xsd?api_key=`{your_api_key}` Return to API map ## Tournament Standings
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Sport & Category Info Data Points: Category Country Code
    Category Id
    Category Name
    Sport Id
    Sport Name
    Team Info Data Points: Id Name
    Standings Data Points: Change
    Comment Text
    Current Outcome
    Draw
    Goal Differential
    Goals Against
    Goals For
    Group Id
    Group Name
    Losses
    Matches Played
    Points
    Rank
    Tie Break Rule
    Type
    Wins
    Tournament Info Data Points: Current Season End Date
    Current Season Id
    Current Season Name
    Current Season Start Date
    Current Season Year
    Tournament Id
    Tournament Name
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/standings.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/eu/en/tournaments/sr:tournament:7/standings.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/soccer-xt3/eu/en/tournaments/sr:tournament:7/standings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the current Tournament Standings. https://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/`{language_code}`/tournaments/`{tournament_id or season_id}`/standings.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `language_code` | Supported Locales | | `tournament_id or season_id` | Id of a given tournament or season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Tournament Standings, replace the parameters in the following URL. https://api.sportradar.us/soccer-`{access_level}{version}`/schema/soccer/tournament_standings.xsd?api_key=`{your_api_key}` Return to API map ## Push Feeds >To best utilize Push feeds, we have included code samples in Ruby and Java which provides an example of a way you can consume the feeds. Using these samples will output the feeds content to STDOUT.
    For Java, we have also provided a Stream Client to assist your integration.

    Note: In the provided Java sample, replace "URL GOES HERE" with the desired Push feed URL. ```ruby require 'httpclient' module Sportradar module HTTP module Stream class Client attr_reader :url, :logger def initialize(url, publisher, logger) @url = url @logger = logger @publisher = publisher @client = ::HTTPClient.new(:agent_name => 'SportsData/1.0') end def start @thread ||= Thread.new do logger.debug "Starting loop" @client.get_content(url, :follow_redirect => true) do |chunk| @publisher.publish(::JSON.parse(chunk)) if @publisher end logger.debug "finished loop" end end def stop @thread.terminate if @thread end end end end end ``` ```java package com.sportradar.http.stream.client; import org.junit.After; import org.junit.Before; import org.junit.Test; public class StreamClientTest { private StreamClient client; private static String SERVICE_URL = ""; @Before public void setup() { client = new StreamClient(); } @After public void cleanup() { client.terminate(); } @Test public void testStream() throws Exception { Handler handler = new ConsoleHandler(); client.stream(SERVICE_URL, handler); System.out.println("Connecting...."); Thread.sleep(1 * 60 * 1000); System.out.println("Disconnecting...."); } } ``` Some of our APIs include Push feeds that allow you to get updates as soon as they are available. Push API feeds automatically send JSON and XML payloads to you via a push service, and can dramatically reduce the number of calls you need to make to our RESTful API feeds. The structure of the Push feeds are similar to the structure of the corresponding RESTful API feed (i.e. Push Events and Push Statistics). The push service ensures reliable and efficient delivery of the most up to date information. Our Push services are based on a HTTP publish/subscribe model. When making a call to the Push APIs, you "subscribe" to various data feeds provided by our service; whenever new content is available on one of those feeds, the server pushes that information out to your client. When no new information is available on the feed, a heartbeat message is sent every 5 seconds to keep the connection active. If you want to filter the results of the feeds, there are several optional query string parameters that can be applied to the API call. If left unfiltered, than all data for the feed is displayed (i.e. all games, events, or statistics). For your applications to accept data from our Push feeds, ensure that your application can: * Can follow a HTTP redirect or use the location provided in the feeds header within one minute of your initial request. * Can accept HTTP data transfer encoded as chunked. Our Push service does not provide a "stateful session", there is no memory of what data has been sent previously. If you are disconnected from the Push session, you can use the RESTful API to catch up or recover from the disconnection. Syntax for using our Push feeds and examples of the JSON and XML payloads can be found below. ## Push - Events ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("http://api.sportradar.com/soccer-xt3/other/stream/events/subscribe?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/other/stream/events/subscribe?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -L "GET api.sportradar.com/soccer-xt3/other/stream/events/subscribe?api_key={your_api_key}" ``` >The above command returns json like this. This endpoint retrieves the Events information via Push. http://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/stream/events/subscribe?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `your_api_key` | Your API key. | ### Optional Query String Parameters >Example including optional query string parameters: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("http://api.sportradar.com/soccer-xt3/other/stream/events/subscribe?api_key={your_api_key}&format=json&match=sr:match:13468929") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/other/stream/events/subscribe?api_key={your_api_key}&format=json&match=sr:match:13468929") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -L GET 'https://api.sportradar.com/soccer-xt3/other/stream/events/subscribe?api_key={your_api_key}&format=json&match=sr:match:13468929' ``` In addition to the URL parameters listed above, you can filter the Events information with one or more of the following optional query string parameters.
    Note: Optional query string parameters must be added after your API key with an ampersand (&). If you are filtering for more than one result, separate the results with a comma (,) and no spaces.
    Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `channel` | Channel type expressed as: {channel_type}.
    Example: channel=soccer-other | | `event_id` | Event type expressed as: {event_type}.
    Example: event_id=free_kick | | `format` | Format type expressed as: {format}.
    Example: format=json | | `season_id` | Season id expressed as: {season_id}.
    Example: season_id=sr:season:50039 | | `sport_event_id` | Sport event id expressed as: {sport_event_id}.
    Example: sport_event_id=sr:match:13644241 | | `sport_id` | Sport id expressed as: {sport_id}.
    Example: sport_id=sr:sport:1 | | `tournament_id` | Tournament id expressed as: {tournament_id}.
    Example: tournament_id=sr:tournament:192 | Return to API map ## Push - Statistics ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("http://api.sportradar.com/soccer-xt3/other/stream/statistics/subscribe?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/other/stream/statistics/subscribe?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -L "http://api.sportradar.com/soccer-xt3/other/stream/statistics/subscribe?api_key={your_api_key}" ``` > The above command returns json like this. This endpoint retrieves the Statistics information via Push. http://api.sportradar.us/soccer-`{access_level}{version}`/`{league_group}`/stream/statistics/subscribe?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (x) or Trial (xt). | | `version` | Version number of the API you are accessing (Current Version: 3). | | `league_group` | League group in one of the following formats: Top Europe (eu), Top Americas (am), Top Asia (as), Top International (intl), Other (other), or Global (global). | | `your_api_key` | Your API key. | ### Optional Query String Parameters >Example including optional query string parameters: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("http://api.sportradar.com/soccer-xt3/other/stream/statistics/subscribe?api_key={your_api_key}&format=json&match=sr:match:13468929") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/soccer-xt3/other/stream/statistics/subscribe?api_key={your_api_key}&format=json&match=sr:match:13468929") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -L GET 'api.sportradar.com/soccer-xt3/other/stream/statistics/subscribe?api_key={your_api_key}&format=json&match=sr:match:13468929' ``` In addition to the URL parameters listed above, you can filter the Statistics information with one or more of the following optional query string parameters.
    Note: Optional query string parameters must be added after your API key with an ampersand (&). If you are filtering for more than one result, separate the results with a comma (,) and no spaces.
    Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `channel` | Channel type expressed as: {channel_type}.
    Example: channel=soccer-other | | `event_id` | Event type expressed as: {event_type}.
    Example: event_id=free_kick | | `format` | Format type expressed as: {format}.
    Example: format=json | | `season_id` | Season id expressed as: {season_id}.
    Example: season_id=sr:season:50039 | | `sport_event_id` | Sport event id expressed as: {sport_event_id}.
    Example: sport_event_id=sr:match:13644241 | | `sport_id` | Sport id expressed as: {sport_id}.
    Example: sport_id=sr:sport:1 | | `tournament_id` | Tournament id expressed as: {tournament_id}.
    Example: tournament_id=sr:tournament:192 | Return to API map ## Frequently Asked Questions Q: What leagues or tournaments do you cover for soccer? A: We cover numerous leagues and tournaments. Here is a table with the groups and leagues currently covered:
    Region Category Tournament
    Asia Australia A-League
    China Chinese Super League
    India I-League
    Indian Super League
    International Clubs AFC Champions League
    AFC Cup
    Japan J. League
    Qatar Stars League
    South Korea K-League Classic
    United Arab Emirates Arabian Gulf League
    Americas Argentina Primera Division
    Brazil Brasileiro Serie A
    Colombia Primera A
    International Clubs CONCACAF Champions League
    Copa Liberatores
    Copa Sudamerica
    Recopa Sudamericana
    Mexico Primera Division
    Uruguay Primera Division
    United States Major League Soccer
    Europe Belgium Pro League
    England Premier League*
    France Ligue 1*
    Germany Bundesliga*
    Greece Super League
    International Clubs UEFA Champions League* (extended coverage from group stage onward)
    UEFA Europa League
    UEFA Super Cup
    UEFA Nations League
    International Youth UEFA Youth League
    Italy Serie A*
    Netherlands Eredivisie
    Portugal Primeira Liga
    Russia Premiere League
    Spain Primera Division*
    Turkey Super Lig
    Ukraine Premier League
    International International 40 Leagues & Tournaments
    International Youth 43 Leagues & Tournaments
    All Other Various Countries 800+ Leagues & Tournaments

    Q: What is the Date format?

    A: When we present date only values we present these in the ISO 8601 standard format.
    ex: 2013-04-03
    We use these for attributes that have date and no time (such as birthdate). For more information: https://en.wikipedia.org/wiki/ISO_8601

    Q: What time zone are the date time fields presented in?

    A: All of our Date/Time attributes are in UTC, presented in the ISO 8601 standard format.
    ex: 2013-04-03T18:15:00+00:00
    For more information: https://en.wikipedia.org/wiki/ISO_8601

    Q: When does the season_coverage_info element appear in the Tournament Info feed?

    A: On the first day of the season.

    Q: What are the valid sport_event_status – status values?

    A: Here are the valid status values and their definitions:

    • not_started – The match is scheduled to be played
    • live – The match is currently in progress
    • postponed – The match has been postponed to a future date
    • delayed – The match has been temporarily delayed and will be continued
    • start_delayed – The start of the match has been temporarily delayed
    • canceled – The match has been canceled and will not be played
    • ended – The match is over
    • closed – The match results have been confirmed
    • abandoned – The match has been abandoned

    Q: What are the valid sport_event_status – match_status values?

    A: Here are the valid match status values and their definitions:

    • not_started – The match is scheduled to be played
    • live – The match is currently in progress
    • 1st_half – The match is in the first half
    • 2nd_half – The match is in the second half
    • overtime – The match is in overtime
    • 1st_extra – The match is in the first extra period
    • 2nd_extra – The match is in the second extra period
    • awaiting_penalties – Waiting for announcement of penalties
    • penalties – Penalties are ongoing
    • pause – The match is paused
    • awaiting_extra_time – Waiting on referee to announce extra time
    • interrupted – The match has been interrupted
    • abandoned – The match has been abandoned
    • postponed – The match has been postponed to a future date
    • delayed – The match has been temporarily delayed and will be continued
    • cancelled – The match has been canceled and will not be played
    • ended – The match is over
    • closed – The match results have been confirmed
    • halftime – The match is in halftime
    • full-time – The match has ended
    • extra_time – Extra time has been added
    • ended – The match has ended
    • aet – The match has ended after extra time
    • ap – The match has ended after penalties

    Q: What are the valid period type values?

    A: Here are the valid period type values:

    • regular_period
    • overtime
    • penalties

    Q: What are the valid period name values?

    A: Here are the valid period name values:

    • 1st half
    • 2nd half
    • 1st extra
    • 2nd extra
    • awaiting extra
    • extra time halftime
    • pause
    • awaiting penalties
    • penalties

    Q: What are the valid lineup types (player position) values?

    A: Here are the valid lineup type

    • goalkeeper
    • defender
    • midfielder
    • forward

    Q: What are the valid lineups descriptions (player tactical position) values?

    A: Here are the valid lineups descriptions:

    • goalkeeper
    • right_back
    • central_defender
    • left_back
    • right_winger
    • central_midfielder
    • left_winger
    • striker

    Q: What are the valid current outcome values?

    A: Here are the valid current outcome types

    • AFC Champions League
    • AFC Cup
    • CAF Confederation Cup
    • Champions League
    • Champions League Qualification
    • Champions Round
    • Championship Round
    • Club Championship
    • Copa Libertadores
    • Copa Libertadores Qualification
    • Copa Sudamericana
    • Cup Winners
    • Eliminated
    • Europa League
    • Europa League Qualification
    • European Cup
    • Final Four
    • Final Round
    • Finals
    • Group Matches
    • International Competition
    • Main Round
    • Next Group Phase
    • Placement Matches
    • Playoffs
    • Preliminary Round
    • Promotion
    • Promotion Playoff
    • Promotion Playoffs
    • Promotion Round
    • Qualification Playoffs
    • Qualified
    • Qualifying Round
    • Relegation
    • Relegation Playoff
    • Relegation Playoffs
    • Relegation Round
    • Semifinal
    • Top Six
    • UEFA Cup
    • UEFA Cup Qualification
    • UEFA Intertoto Cup

    Q: How do I find out the coverage for a particular match?

    A: Find the node called: coverage_info.
    The attribute live_coverage reports whether Sportradar has live coverage of the match or not.
    The level can be gold, silver or bronze.
    Bronze includes basic_score.
    Silver includes basic_score and key_events.
    Gold includes everything in silver and detailed events and lineups.

    Q: How is coverage for a particular match defined?

    A: Basic Score coverage includes information for: Match Started, Match Ended, Period Start, Break Start, and Score Change.
    Key Events includes information for: Yellow Cards, Yellow/Red Cards, Red Cards, Substitutions.
    Detailed Events includes information for: Free Kicks, Offsides, Corner Kicks, Shots on Target, Shots off Target, Injuries/Injury Returns, Throw Ins, Shots Saved, Coordinates, Commentary, Assisting Player, Goal Scorer, and Goal Kicks.
    Lineups indicate if lineup endpoints are available for a given tournament.
    Passes and duels indicates that the coverage includes extended coverage.

    Q: What are the possible pitch values?

    A: Here are the possible pitch values:

    • good
    • medium
    • bad

    Q: What are the possible weather conditions?

    A: Here are the possible weather conditions:

    • indoor
    • good
    • medium
    • bad
    • extreme

    Q: What are the possible event types?

    A: Here are all of the possible event types we log:

    • break_start
    • cancelled_video_assistant_referee
    • corner_kick
    • free_kick
    • goal_kick
    • injury
    • injury_return
    • injury_time_shown
    • match_ended
    • match_started
    • offside
    • penalty_awarded
    • penalty_missed
    • penalty_shootout
    • period_score
    • period_start
    • possible_video_assistant_referee
    • red_card
    • score_change
    • shot_off_target
    • shot_on_target
    • shot_saved
    • substitution
    • throw_in
    • video_assistant_referee
    • video_assistant_referee_over
    • yellow_card
    • yellow_red_card

    * Availability of Video Assistant Referee is subject to the VAR coverage of the league.

    Q: What are the possible values for video assistant referee?

    A: Here are the valid values:

    • goal
    • penalty
    • red_card

    Q: What are the possible values for video assistant referee over?

    A: Here are the valid values:

    • call_stands
    • call_overturned

    Q: What are the valid tournament types?

    A: Here are the valid tournament types:

    • group
    • playoff
    • qualifier
    • variable

    Q: What is the scale of the X Y coordinates?

    A: The pitch we use is 100 by 100. Here is a layout of the pitch:
    0,0 X 100,0
    Y 50,50
    0,100 100,100

    X = Horizontal position on the pitch. X is a number between 0 and 100. The reference point 0 is at the home team’s goal.

    Y = Vertical position on the pitch. Y is a number between 0 and 100. The reference point 0 is on the top of the pitch where the home team’s goal is on the left hand side.

    Q: What are the possible values for referee_assistant type?

    A: Here are the valid referee assistant types:

    • first_assistant_referee
    • second_assistant_referee
    • fourth_official
    • video_assistant_referee
    • first_additional_assistant
    • second_additional_assistant
    • third_additional_assistant

    Q: How does the ball location attribute work?

    A: Our scouts mark down the x (lateral) and y (longitudinal) coordinates as observed on the pitch. The data can come in sporadically as events on the field play out, but new ball_location data is potentially available every 1 sec. This is only available for matches carrying GOLD coverage and above. The element "ball_locations" stores the last four known ball locations, after which the data is not available unless it corresponds with another event in the timeline such as "throw_in", "shot_on_goal" etc.

    Q: What are markets and what are the different markets?

    A: Markets is something you can bet on that we provide probabilities for. Over time we intend to provide more and more markets in the API. Currently the only market we provide is 3-way (will the home team win? Or the away team? Or will it be a draw?).

    Q: What are the possible outcomes?

    A: Different markets have different outcomes. The available markets are currently:

    • home_team_winner
    • away_team_winner
    • draw

    Q: Why does a player have a different value for "name" than the combination of "first_name" and "last_name"?

    A: We provide translations for many languages. The only field for names that have been translated to date is "name". The "first_name" and "last_name" attributes do not carry translations and thus may differ from what the translatable "name" attribute is.

    Q: Why don't I see commentary in the timeline when the "coverage_includes" has the value “commentary”?

    A: Commentary is only available in the feed for a fixed amount of time (14 days typically). The attribute, which denotes that commentary is or was available, remains even after the commentary is removed.

    Q: When are fun facts added to the Match Fun Facts feed?

    A: Fun facts appear in the feed starting 7 days before a match and are available for a fixed amount of time (14 days typically).

    Q: How is the order value in the Lineups feed organized?

    A: Order number 1 is always the goalie (star marking) and formations as well as numbering should start with the goalkeeper. In the example diagram the formation 4-2-3-1 is used.

    4 is the number of players in the line in front of the goalkeeper, then comes the line with 2 players and so on. Numbering in every line starts at the right-hand side of the goalkeeper – this causes the numbering to be mirrored for home and away team.

    Q: What are the possible reasons for a player to appear in the Missing Players feed?

    A: Listed below are the reasons why a player may appear in the missing players feed:

    • injured
    • ill
    • other
    • suspension
    • on_loan

    Q: What are the possible values for tournament_round – phase in the feeds?

    A: Listed below are the values for phase:

    • 1st_part_of_season_1st_leg
    • 2nd_part_of_season_2nd_leg
    • 3rd_round
    • champions_round
    • conference
    • division
    • final_eight
    • final_four
    • final_phase
    • final_round
    • final_stage
    • grand_final
    • grand_finals
    • group_phase_1
    • group_phase_2
    • knockout_stage
    • main_round_1
    • main_round_2
    • none
    • placement_matches
    • placement_matches_13_to_16
    • placement_matches_5_to_8
    • placement_matches_9_to_12
    • placement_matches_9_to_16
    • playoffs
    • playout
    • pre-season
    • preliminary_round
    • president_cup
    • promotion_playoffs
    • promotion_round
    • qualification
    • qualification_playoffs
    • qualification_to_allsvenskan
    • regular_season
    • relegation_playoffs
    • relegation_promotion
    • relegation_promotion_round
    • relegation_round
    • stage_1
    • stage_1 no_stats
    • stage_2
    • stage_2 no_stats
    • stage_3
    • uefa_europa_league_playoffs

    Q: How long is full match data available for matches in the API?

    A: Match data is archived after one year and you will only be able to service basic score information from the API feeds. A historical statistics API for Soccer is on the roadmap, but no ETA is available at this time.

    Q: What data points are included in “extended” coverage?

    A: The following endpoints:

    • Match Summary
    • Timeline
    • Statistics

    Contain this list of extended player stats in addition to the current normal player statistics.

    • assists
    • chances_created
    • crosses_successful
    • crosses_total
    • duels_header_successful
    • duels_header_total
    • duels_sprint_successful
    • duels_sprint_total
    • duels_tackle_successful
    • duels_tackle_total
    • fouls_committed
    • goal_line_clearances
    • goals_by_head
    • goals_conceded
    • interceptions
    • own_goals
    • passes_long_successful
    • passes_long_total
    • passes_medium_successful
    • passes_medium_total
    • passes_short_successful
    • passes_short_total
    • penalties_faced
    • penalties_saved
    • shots_blocked
    • shots_faced_saved
    • shots_faced_total
    • shots_off_goal
    • shots_on_goal
    • substituted_in
    • substituted_out
    • was_fouled

    Q: How do you define the key data points?

    Data Points Type of Data Point Definition
    Passes General An intentional movement of the ball from a player to his teammate. A pass has to have a clear intention of one player to find a teammate. A pass can be made with any part of the body if the pass is intended as long as it is legal according to rules of the game. Pass length determination is approximate in nature and varies according to the pitch size.
    Some examples of events considered for valid passes: 
    • Assist
    • Goalkeeper Kick
    • Free Kick
    • Cross
    • Throw-In
    • Corner
    Successful Pass is successful when the ball is received by a teammate.
    Unsuccessful
    • Pass is blocked (resulted in a throw-in, corner or the opposing team possession).
    • The ball is deflected back to or away from to the passing player by an opposition player.
    Header A header is a pass played by Head. Same definitions are valid as for pass in regards to pass length and result.
    Crosses General In contrast to a shot on goal a cross is not targeting the goal. A cross is a pass kicked low, medium high or high with the foot, from the area close to both side lines, which enters the penalty area. It can also be given from corners and free kicks. Cross lengths correspond with pass lengths in that they are subjective.
    Successful
    • A pass/cross is successful when the ball is received by a teammate.
    Unsuccessful
    • The pass/cross is blocked (results in a throw-in, corner or the opposing team possession).
    • The ball is deflected back to the passing player, then the pass/cross is unsuccessful.
    Duels General A duel is a battle for the ball between two or more players from opposing teams. It can take place on the ground (tackle) or in the air (aerial) or when running with the ball (sprint). The winner of the duel is the player who is either in ball possession after the duel or was able to pass or touch the ball. For each duel won there is corresponding duel lost.
    Tackle Defensive or offensive tactic where a player tries to make contact with the ball by a ground challenge. Tackling is an intention to stop an attack or make the opposition lose possession.
    Successful
    • The ball is taken by the challenger.
    • The ball is collected by a teammate after a tackle.
    • The defender tackles a player without gaining possession but stopping/interfering with an attack.
    Unsuccessful
    • The player commits a foul.
    Duels Sprint Sprint duel is similar to an ordinary tackle with the exception that both players have to be in fast movement.
    Successful
    • The ball is taken by the defender.
    • The ball is collected by a teammate after a tackle.
    • The defender tackles a player without gaining possession but stopping/interfering with an attack.
    Unsuccessful
    • A player commits a foul during the sprint duel.
    Arial Duel between two players in the air.
    Successful
    • The winner of an aerial is the player who wins the ball in the air. The outcome of the touch is irrelevant.
    Unsuccessful
    • A player commits a foul in an aerial duel.
    • The opposing player touches the ball first.
    Goal Line Clearance
    • Goal line clearance is a defensive action where a player other than the goal keeper clears the ball away from his own goal line or close to it with no intended recipient of the ball.
    Interception A player from the defensive team intentionally intercepts a pass by moving into the line of the intended pass.
    • A change of possession must occur to be considered a valid interception.
    Foul If a player uses means which are regulated by the Laws of the game, a foul will be called by the referee. The referee has to recognize this action as a foul and blow the whistle. Game is interrupted, and for the team which committed the foul this will be added to the number of fouls committed. Play will continue with a free kick or a penalty. A player who has the above inflicted upon him will received a was fouled increment whereas the player who committed the foul will have the fouls_committed stat incremented.
    Chance created The development of a scoring opportunity for the attacking team. Passes, crosses or set plays which lead to these events, for example corners or free-kicks, are interpreted as “created chances”.
    Handball If a player touches the ball by using his hand intentionally, the referee interrupts the play. A handball (or foul) will be added to the team of the player. Play will continue with a free kick or a penalty.
    Goal Regular A goal is assigned to a player of the attacking team if his shot taken by foot, head or any other part of the body leads to a score. All attempts are counted.

    Uncontrolled deflections resulting in a goal will be attributed to the player who kicked the ball, not the player who deflects the ball.

    Own Goal When a defender kicks or heads the ball into the defender’s goal with the intent of making a pass to a teammate or of clearing the ball and it is obvious that no other player of the attacking team tried a shot on target, a goal is recorded as an "own goal". An "own goal" counts towards the offensive team's season statistics. No assist shall be given to the attacking team.

    If an attacking player shots on goal and the defender deflects the ball into the net, in a controlled action it will be deemed an own goal.

    If two players of the defending team touched the ball, the player who last touched it is the own goal scorer.

    Assist In General An assist considered to be a contribution by a player which directly helps a teammate to score a goal. In order to be considered for an assist a player needs to have given the last successful pass. However, the last successful pass does not necessarily automatically constitute an assist.
    Counted
    • Includes corners and throw ins.
    • A cross by a team member is converted into a goal.
    • Passes/crosses, which are slightly deflected and then lead to a team member score a goal.
    Not Counted
    • Where goals resulting from penalties are concerned, the player who is fouled in the area receives no assist point.
    • Shot hits the post/bar and then leads to a goal by a team member.
    • The goal scorer made considerable self-effort in order to score.
    Ball Possession Ball possession is the amount of time a team has possession of the ball. It is calculated in percentage, and the total amount of time the match is being played is considered 100%.
    Shot On Goal This is an intentional shot on target by a player, trying to score a goal by foot, head or any other part of the body. The result of a shot on goal is either a goalkeeper save, a goal line clearance by any player of the defending team from the goal line, a blocked shot by a player of the attacking team (which happens very rarely) or a goal. A shot on goal is slightly deflected by a player of the attacking team into the net, a goal will be awarded to the player who initially shot the ball. The corresponding team stat for this is “shots_on_target”.
    Off Goal A shot which was aimed towards the goal but missed. These shots do not necessarily have to cross the goal line. A ball which hits the post or the bar without touching anyone and is still in play, is considered a shot off goal. The corresponding team statistic for this data point is “shots_off_target”.
    Blocked A shot which was directed on target but was blocked by a player of the opposing team.
    Throw-In If the ball crosses any of the side lines by its diameter, the game will continue with a throw-in.
    Penalty If a player of the attacking team is fouled in the penalty area, a penalty will be awarded by the referee and marked for the statistics. If the attacking team scores, a goal will be awarded. These goals count as penalties and are denoted as “goals_by_penalty”. Any goals or saves in penalty shootouts are not counted for the statistics.
    Goalkeeper Save An action by the goalkeeper which prevents a goal event. Generally this means saving a shot on goal or a deflected shot by either the attacking or the defending team. Goalkeeper save can also be set without a shot on goal occurring, in case the goalkeeper punches away or catches a cross which otherwise would have gone to a striker and therefore caused a dangerous threat on goal. Crosses from the flanks where the goalkeeper catches the ball comfortably are not considered saves. In the case of a deemed save, Shots_faced and shots_saved will be incremented.
    Performance Score The Player Performance Index is an objective measure of an individual’s performance in a soccer match based on Sportradar’s deeper soccer data. The score ranges from 1-10 (lowest to highest) and is predominantly derived from player statistics but also takes into account team goals. All events are rated in relation to the tactical position of the player. A player’s rating is updated live and remains in place at the conclusion of a match. Events included in the calculation are described below.
    Events:
    The following events (data points) are included in the algorithm:

    teamgoals
    • goals for
    • goals against
    duels
    • duels won
    • duels lost
    passes
    • passes short successful
    • passes short unsuccessful
    • passes medium successful
    • passes medium unsuccessful
    • passes long successful
    • passes long unsuccessful
    • crosses successful
    • crosses unsuccessful
    offensive capabilities
    • regular goals
    • assists
    • chances created
    • shots on goal
    • shots off goal
    • own goals
    fairplay
    • yellow cards
    • yellow-red cards
    • red cards
    • fouls committed
    • fouls suffered
    penalty
    • penalties caused
    • penalty goals (keeper and penalty taker)
    • penalties saved (keeper and penalty taker)
    • penalties missed (keeper and penalty taker)
    various
    • offside
    • interceptions
    • clearances
    goal keeper events
    • shots faced
    • corners faced
    • regular goals faced
    Minutes Played The total number of minutes in which a player has appeared on the pitch during regular time or overtime. This is capped at 90mins (or 120mins in the case of extra time). The value doesn’t take into account injury time, however, if a player is substituted in injury time, any minutes accumulated in that time will be counted. If a player substituted in within 0-59 secs of the final whistle, that player will be attributed 1 minute of playing time. Red cards are treated like substitution_out wherein the calculation is: minutes_played = game time (minute) of the substitution_out minus the substitution_in (where substitution_in could be “0” for starting lineup players).
    Free Kicks Team Statistics In accordance with the rules, a free kick stat counted for the team who executes a free kick. Direct or indirect free kicks are all counted as free kicks.
    Goal Kick Team Statistics Total number of kicks awarded to the team as a result of the ball traveling out of bounds over the goal line of the defending team.
    Throw-Ins Team Statistics Total number of thrown in events for a team.
    Offsides Team Statistics Total number of offside infringements awarded against a team.
    Fouls Team Statistics Total number of fouls awarded against a team (including those which draw cards).
    Corner Kicks Team Statistics Total number of corner kicks taken by a team.
    Shots Saved Team Statistics Total number of goal keeper saves attributed to a team.
    Return to top