## Global Ice Hockey API Overview
The Global Ice Hockey API provides real-time scoring and statistics (when available) and an array of supplementary data. Data is collected via Sportradar’s on-venue scouts and in-house operators.
80+ leagues are covered, including: SHL, Liiga, Czech Extraliga, Ekstraliga, HKL, and Olympics Men. Select the Global Ice Hockey package in our Coverage Matrix for competitions and data offered.
The API is consistent in structure, format and behavior with the other General Sport APIs. Primary feeds will return seasons, competitions, team and player data, and real-time scores.
Additional feeds provide a host of complementary stats, including:
Standings
Player profiles
Team profiles
Historical results
Game lineups
Seasonal statistics
Match win probabilities
Real-time customers are also offered two delivery Push Feeds to enhance speed.
An extended Probabilities package is also offered. This add-on includes in-game probability updates and season outrights.
API
API Version
Global Ice Hockey
v2
Note: Authentication is required for all API calls.
## Global Ice Hockey API Map
To best utilize the Global Ice Hockey API, you will need several parameters to create your API calls. The map below illustrates how you can obtain the parameters you need.
>
Example:
>To find the probability of a home team win for a given game:
>
Call the Daily Schedule for the day the sport event takes place and find the Season Id for the chosen sport event
Make note of the Sport Event Id for the given sport event
Call the Season Probabilities using the Season Id
Find Sport Event Id within the results locate the home team and the outcome probability
>The probability of a home team win is displayed.
The primary feeds require only a date or human-readable parameters to call the endpoints. Those feeds provide Sport Event Ids, Competitor Ids, or Season Ids which can be used to generate the match, team, and tournament feeds.
## Competition Info
Provides the name, id, and parent id for a given competition.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info:
Category Country Code
Category Id
Category Name
Competition Info Data Points:
Competition Gender
Competition Id
Competition Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/competitions/sr:competition:3/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", "/icehockey/trial/v2/en/competitions/sr:competition:3/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.com/icehockey/trial/v2/en/competitions/sr:competition:3/info.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competition Info feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/competitions/`{competition_id}`/info.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `competition_id` | Id of a given competition. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competition Seasons
Provides historical season information for a given competition. Competitions will return a maximum of three seasons of data, including current or newly created seasons.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competition Info Data Points:
Season Competition Id Season End Date
Season Id Season Name
Season Start Date Season Year
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/competitions/sr:competition:3/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", "/icehockey/trial/v2/en/competitions/sr:competition:3/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.com/icehockey/trial/v2/en/competitions/sr:competition:3/seasons.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competition Seasons feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/competitions/`{competition_id}`/seasons.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `competition_id` | Id of a given competition. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competitions
Provides a list of all available competitions.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info:
Category Country Code
Category Id
Category Name
Competition Info Data Points:
Competition Gender
Competition Id
Competition Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/competitions.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", "/icehockey/trial/v2/en/competitions.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/competitions.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitions feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/competitions.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competitor Mappings
Provides team id mapping between the Global Ice Hockey API and other hockey APIs.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
External Id
Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/competitors/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", "/icehockey/trial/v2/en/competitors/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.com/icehockey/trial/v2/en/competitors/mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/competitors/mappings.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/competitors/mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/competitors/mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Competitor Merge Mappings
Provides the valid Sportradar Id in cases when two competitors have been merged into one. Mapping entries will remain in the feed for 7 days.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mappings Info Data Points:
Name
Merged Id
Retained Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/competitors/merge_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.com")
conn.request("GET", "/icehockey/trial/v2/en/competitors/merge_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.com/icehockey/trial/v2/en/competitors/merge_mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor Merge Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/competitors/merge_mappings.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competitor Profile
Provides top-level information for a given team, including the full team roster, home venue, and team colors.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country Competitor Country Code Competitor Gender Competitor Id Competitor Name
Jersey Base Color Jersey Horizontal Stripes Jersey Number Color Jersey Shirt Type Jersey Sleeve Color
Jersey Split Jersey Squares Jersey Stripes Jersey Type
Player Info Data Points:
Country Code Date of Birth Gender Height
Id Jersey Number Nationality
Name Position Weight
Venue Info Data Points:
Capacity City Country Code
Country Name Id
Map Coordinates Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/competitors/sr:competitor:3696/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", "/icehockey/trial/v2/en/competitors/sr:competitor:3696/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.com/icehockey/trial/v2/en/competitors/sr:competitor:3696/profile.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor Profile feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/profile.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `competitor_id` | Id of a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competitor Summaries
Provides previous and upcoming game information for a given competitor, including results for past games and scheduling info for upcoming games.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Live Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Away Score Period Home Score Period Number Period Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Goals Goals Conceded Goals in Power Play Goals While Short Handed
Penalties Penalty Minutes Power Plays Puck Possessions
Saves Shots on Target Shutouts Suspensions Minutes Suspensions Number
Player Match Statistics Data Points:
Assists First Assists Goalie Minutes Played
Penalties Penalty Minutes Plus Minus Points
Saves Second Assists Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/competitors/sr:competitor:3691/summaries.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", "/icehockey/trial/v2/en/competitors/sr:competitor:3691/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/competitors/sr:competitor:3691/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor Summaries feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/summaries.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `competitor_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competitor vs Competitor
Provides previous and upcoming games between two teams, including scoring information.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Live Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Away Score Period Home Score Period Number Period Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Goals Goals Conceded Goals in Power Play Goals While Short Handed
Penalties Penalty Minutes Power Plays Puck Possessions
Saves Shots on Target Shutouts Suspensions Minutes Suspensions Number
Player Match Statistics Data Points:
Assists First Assists Goalie Minutes Played
Penalties Penalty Minutes Plus Minus Points
Saves Second Assists Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/competitors/sr:competitor:3691/versus/sr:competitor:3703/summaries.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", "/icehockey/trial/v2/en/competitors/sr:competitor:3691/versus/sr:competitor:3703/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/competitors/sr:competitor:3691/versus/sr:competitor:3703/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor vs Competitor feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/versus/`{competitor2_id}`/summaries.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `competitor_id` | ID for a given competitor. |
| `competitor2_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Daily Summaries
Provides game information for a given day including team scoring, player and team game statistics.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 200 sport events.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Live Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Away Score Period Home Score Period Number Period Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Goals Goals Conceded Goals in Power Play Goals While Short Handed
Penalties Penalty Minutes Power Plays Puck Possessions
Saves Shots on Target Shutouts Suspensions Minutes Suspensions Number
Player Match Statistics Data Points:
Assists First Assists Goalie Minutes Played
Penalties Penalty Minutes Plus Minus Points
Saves Second Assists Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/schedules/2021-10-30/summaries.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", "/icehockey/trial/v2/en/schedules/2021-10-30/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/schedules/2021-10-30/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Daily Summaries feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/schedules/`{year}`-`{month}`-`{day}`/summaries.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `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. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/schedules/2019-01-15/summaries.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/schedules/2019-01-15/summaries.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. This will often be required to access all available data in this feed. By default the limit is set to 200.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, suggested maximum value is 75. Example: limit=75 |
Return to top
## Live Summaries
Provides game information for all currently live games, including team scoring. This feed updates in real time as games are played.
TTL / Cache:
1 second
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Live Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Away Score Period Home Score Period Number Period Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Goals Goals Conceded Goals in Power Play Goals While Short Handed
Penalties Penalty Minutes Power Plays Puck Possessions
Saves Shots on Target Shutouts Suspensions Minutes Suspensions Number
Player Match Statistics Data Points:
Assists First Assists Goalie Minutes Played
Penalties Penalty Minutes Plus Minus Points
Saves Second Assists Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/schedules/live/summaries.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", "/icehockey/trial/v2/en/schedules/live/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/schedules/live/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Live Summaries feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/summaries.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `competitor_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Live Timelines
Provides a play-by-play event timeline for currently live games.
TTL / Cache:
1 second
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Status
Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status
Sport Event Status Scout Abandoned Sport Event Status Winner Id Sport Event Timeline Id Sport Event Timeline Start Time
Timeline Info Data Points:
Assist Player Id Assist Player Name Assist Type Away Score Break Name
Competitor Home Score Id Match Clock Match Time
Period Period Name Suspension Minutes Time Type
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/schedules/live/timelines.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", "/icehockey/trial/v2/en/schedules/live/timelines.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/schedules/live/timelines.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Live Timelines feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/schedules/live/timelines.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Live Timelines Delta
Provides a 10 second live delta of game information, including scoring and a play-by-play event timeline.
TTL / Cache:
1 second
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Status
Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status
Sport Event Status Scout Abandoned Sport Event Status Winner Id Sport Event Timeline Id Sport Event Timeline Start Time
Timeline Info Data Points:
Assist Player Id Assist Player Name Assist Type Away Score Break Name
Competitor Home Score Id Match Clock Match Time
Period Period Name Suspension Minutes Time Type
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/schedules/live/timelines_delta.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", "/icehockey/trial/v2/en/schedules/live/timelines_delta.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/schedules/live/timelines_delta.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Live Timelines Delta feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/schedules/live/timelines_delta.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Player Mappings
Provides player id mapping between the Global Ice Hockey API and other hockey APIs.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 1,000 player mappings.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
External Id
Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/players/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", "/icehockey/trial/v2/en/players/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.com/icehockey/trial/v2/en/players/mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Player Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/players/mappings.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/players/mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/players/mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. This may be required to access all available data in this feed. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Player Merge Mappings
Provides valid ids for players who have had their profiles merged. While Sportradar always strives to provide one unique player id, it is a possibility for two ids to be created. This feed provides the correct id once profiles have been merged.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
Merged Id
Name
Retained Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/players/merge_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", "/icehockey/trial/v2/en/players/merge_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.com/icehockey/trial/v2/en/players/merge_mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Player Merge Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/players/merge_mappings.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/players/merge_mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/players/merge_mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Player Profile
Provides player biographical information, including current team.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Country Code Date Of Birth Gender Height
Id Jersey Number Nationality
Name Position Weight
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/players/sr:player:29663/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", "/icehockey/trial/v2/en/players/sr:player:29663/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.com/icehockey/trial/v2/en/players/sr:player:29663/profile.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Player Profile feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/players/`{player_id}`/profile.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `player_id` | ID of a given player. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Player Summaries
Provides game info, results, and statistics for the past 10 matches in which a given player participated.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Live Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Away Score Period Home Score Period Number Period Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Goals Goals Conceded Goals in Power Play Goals While Short Handed
Penalties Penalty Minutes Power Plays Puck Possessions
Saves Shots on Target Shutouts Suspensions Minutes Suspensions Number
Player Match Statistics Data Points:
Assists First Assists Goalie Minutes Played
Penalties Penalty Minutes Plus Minus Points
Saves Second Assists Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/players/sr:player:29663/summaries.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", "/icehockey/trial/v2/en/players/sr:player:29663/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/players/sr:player:29663/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Player Summaries feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/players/`{player_id}`/summaries.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `player_id` | Id of a given player. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Competitors
Provides a list of teams participating for a given season.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competitor Info Data Points:
Competitor Abbreviation
Competitor Id Competitor Name
Competitor Short Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/competitors.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", "/icehockey/trial/v2/en/seasons/sr:season:78917/competitors.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/competitors.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Competitors feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/competitors.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Info
Provides detailed information for a given season, including participating teams and league structure.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Group Id Group Max Rounds Group Name Info Competition Status Info Venue Reduced Capacity
Info Venue Reduced Capacity Max Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/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", "/icehockey/trial/v2/en/seasons/sr:season:78917/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.com/icehockey/trial/v2/en/seasons/sr:season:78917/info.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Info feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/info.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Leaders
Provides a list of leaders for a given season. Statistics include goals, points, and assists.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competitor Info Data Points:
Competitor Abbreviation
Competitor Id
Competitor Name
Player Info Data Points:
Player Id
Player Name
Multiple Competitors Flag
Season Leader Info Data Points:
Data Point Type Data Point Value
Leader Rank
List Type
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:85082/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", "/icehockey/trial/v2/en/seasons/sr:season:85082/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.com/icehockey/trial/v2/en/seasons/sr:season:85082/leaders.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Leaders feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/leaders.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Lineups
Provides game rosters for all games in a given season.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 200 sport events.
TTL / Cache:
30 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group - Group Name Group Id
Group Name Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date
Season Year Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country Competitor Country Code Competitor Gender Competitor Id Competitor Name Jersey Base Color Jersey Horizontal Stripes
Jersey Number Color Jersey Shirt Type Jersey Sleeve Color Jersey Split Jersey Squares Jersey Stripes Jersey Type
Manager Country Code Manager Date of Birth Manager Gender Manager Id Manager Name Manager Nationality Manager Nickname
Player Info Data Points:
Country Code Date of Birth Height Id
Jersey Number Nationality Name Played
Position Starter Weight
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Score Away Score Period Score Home Score Period Score Number Period Score Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/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", "/icehockey/trial/v2/en/seasons/sr:season:78917/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.com/icehockey/trial/v2/en/seasons/sr:season:78917/lineups.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Lineups feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/lineups.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/seasons/sr:season:78917/lineups.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/seasons/sr:season:78917/lineups.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the lineup 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 (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, suggested maximum value is 75. Example: limit=75 |
Return to top
## Season Links
Provides information about linked cup rounds for a given season.
Use this feed to compile full advancement brackets for relevant seasons/tournaments. Links between all matches and rounds are available when competitors (TBD vs. TBD) are not yet known.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competition Info Data Points:
Cup Round Id Cup Round Name Cup Round Order Cup Round State Cup Round Type Cup Round Winner Id Group - Group Name
Group Id Stage End Date Stage Phase
Stage Start Date Stage Type Stage Year
Match Info Data Points:
Sport Event Id
Sport Event Start Time
Sport Event Start Time Confirmed
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/stages_groups_cup_rounds.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", "/icehockey/trial/v2/en/seasons/sr:season:78917/stages_groups_cup_rounds.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/stages_groups_cup_rounds.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Links feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/stages_groups_cup_rounds.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Mappings
Provides season id mapping between the Global Ice Hockey API and other hockey APIs.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 1,000 season mappings.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
External Id
Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/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", "/icehockey/trial/v2/en/seasons/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.com/icehockey/trial/v2/en/seasons/mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/mappings.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/seasons/mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/seasons/mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Season Players
Provides names and ids for all participating players for a given season.
Note: Pagination may be required to pull all data within this feed. By default, the feed will return 1,000 players.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Player Info Data Points:
Display First Name Display Last Name First Name
Player Id Last Name
Name Nickname
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/players.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", "/icehockey/trial/v2/en/seasons/sr:season:78917/players.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/players.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Players feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/players.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/seasons/sr:season:78917/players.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/seasons/sr:season:78917/players.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Season Probabilities
Provides 3-way match win probabilities (home team win, away team win, draw) for all games for a given season.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Type Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Probability Info Data Points:
Home Team Win Probability Home Team Win Probability
Market Name
Outcome Name
Match Info Data Points:
Competitor Qualifier Neutral Ground Sport Event Id
Sport Event Replaced By Sport Event Start Time
Sport Event Start Time Confirmed
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/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", "/icehockey/trial/v2/en/seasons/sr:season:78917/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.com/icehockey/trial/v2/en/seasons/sr:season:78917/probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/probabilities.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.com")
conn.request("GET", "/icehockey/trial/v2/en/seasons/sr:season:78917/probabilities.xml?api_key={your_api_key}&start=200")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/probabilities.xml?api_key={your_api_key}&start=200'
In addition to the URL parameters listed above, you can paginate the response 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 (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 200. Example: limit=200 |
Return to top
## Season Standings
Provides detailed standings info for a given season.
TTL / Cache:
10 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competition Info Data Points:
Group - Group Name Group Live Group Id Group Name
Stage End Date Stage Order Stage Phase
Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Standings Info Data Points:
Change Current Outcome Draw Goals Against Goals Difference Goals For Loss
Loss Normal Time Loss Overtime Loss Shootout Played Points Rank Round
Tie Break Rule Type Win Win Normal Time Win Overtime Win Shootout
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/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", "/icehockey/trial/v2/en/seasons/sr:season:78917/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.com/icehockey/trial/v2/en/seasons/sr:season:78917/standings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Standings feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/standings.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/seasons/sr:season:78917/standings.xml?api_key={your_api_key}&round=1")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/standings.xml?api_key={your_api_key}&round=1'
In addition to the URL parameters listed above, you can filter the Season Standings information with the following optional query string parameter.
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 |
| --------- | ----------- |
| `round` | Round number expressed as: {round}. Example: round=1 |
| `live` | Live standings expressed as a boolean value. Example: live=true |
Return to top
## Season Summaries
Provides schedule information for all matches from a given season including scoring and statistics at the match level.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 200 sport events.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Type Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Away Score Period Home Score Period Number Period Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Goals Goals Conceded Goals in Power Play Goals While Short Handed
Penalties Penalty Minutes Power Plays Puck Possessions
Saves Shots on Target Shutouts Suspensions Minutes Suspensions Number
Player Match Statistics Data Points:
Assists First Assists Goalie Minutes Played
Penalties Penalty Minutes Plus Minus Points
Saves Second Assists Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:85082/summaries.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", "/icehockey/trial/v2/en/seasons/sr:season:85082/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:85082/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Summaries feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/summaries.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/seasons/sr:season:78917/summaries.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/seasons/sr:season:78917/summaries.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. This may be required to access all available data in this feed.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, suggested maximum value is 75. Example: limit=75 |
Return to top
## Seasonal Competitor Statistics
Provides team seasonal statistics for a given team and season.
TTL / Cache:
30 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Sport Id
Sport Name
Competition Info Data Points:
Season Competition Id Season End Date
Season Id Season Name
Season Start Date Season Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Id
Name
Competitor Season Statistics Data Points:
Form Goals Goals Allowed Matches Lost
Matches Played Matches Won Number of Penalties Penalty Minutes
Saves Shots on Target Shutouts
Player Season Statistics Data Points:
Assists First Assists First Goals Goals
Last Goals Minutes Played Penalties Penalty Minutes
Plus Minus Points Saves Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/seasons/sr:season:78917/competitors/sr:competitor:344158/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", "/icehockey/trial/v2/en/seasons/sr:season:78917/competitors/sr:competitor:344158/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.com/icehockey/trial/v2/en/seasons/sr:season:78917/competitors/sr:competitor:344158/statistics.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Seasonal Competitor Statistics feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/competitors/`{competitor_id}`/statistics.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `competitor_id` | ID of a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Seasons
Provides a list of historical season information for all competitions. Competitions will return a maximum of three seasons of data, including current or newly created seasons.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competition Info Data Points:
Season Competition Id Season End Date
Season Id Season Name
Season Start Date Season Year
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/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", "/icehockey/trial/v2/en/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.com/icehockey/trial/v2/en/seasons.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Seasons feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/seasons.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Lineups
Provides detailed roster information for a given match.
TTL / Cache:
1 second
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Type Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country Competitor Country Code Competitor Gender Competitor Id Competitor Name Jersey Base Color Jersey Horizontal Stripes
Jersey Number Color Jersey Shirt Type Jersey Sleeve Color Jersey Split Jersey Squares Jersey Stripes Jersey Type
Manager Country Code Manager Date of Birth Manager Gender Manager Id Manager Name Manager Nationality Manager Nickname
Player Info Data Points:
Country Code Date of Birth Height Id
Jersey Number Nationality Name Played
Type Starter Weight
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Score Away Score Period Score Home Score Period Score Number Period Score Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/sport_events/sr:sport_event:18449748/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", "/icehockey/trial/v2/en/sport_events/sr:sport_event:18449748/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.com/icehockey/trial/v2/en/sport_events/sr:sport_event:18449748/lineups.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Lineups feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/lineups.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | ID of a given match. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Mappings
Provides game id mapping between the Global Ice Hockey API and other hockey APIs.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 1,000 sport event mappings.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
External Id
Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/sport_events/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", "/icehockey/trial/v2/en/sport_events/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.com/icehockey/trial/v2/en/sport_events/mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/sport_events/mappings.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/sport_events/mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/sport_events/mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. This may be required to access all available data in this feed. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Sport Event Summary
Provides real-time match-level statistics for a given match. Including player stats, team stats, and scoring by period. Please note that data returned is determined by coverage level.
TTL / Cache:
1 second
Update Frequency:
Realtime
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Type Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Score Away Score Period Score Home Score Period Score Number Period Score Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Goals Goals Conceded Goals in Power Play Goals While Short Handed
Penalties Penalty Minutes Power Plays Puck Possessions
Saves Shots on Target Shutouts Suspensions Minutes Suspensions Number
Player Match Statistics Data Points:
Assists First Assists Goalie Minutes Played
Penalties Penalty Minutes Plus Minus Points
Saves Second Assists Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/sport_events/sr:sport_event:28274474/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", "/icehockey/trial/v2/en/sport_events/sr:sport_event:28274474/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.com/icehockey/trial/v2/en/sport_events/sr:sport_event:28274474/summary.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Summary feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/summary.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | ID of a given match. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Timeline
Provides real-time match-level statistics and a play-by-play event timeline for a given match. This includes player stats, team stats, scoring by period, clock time for each recorded event. Please note that data returned is determined by coverage level.
TTL / Cache:
1 second
Update Frequency:
Realtime
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Coverage Type Group - Group Name Group Id Group Name Round Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Age Group Competitor Country
Competitor Country Code Competitor Gender Competitor Id
Competitor Name
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Neutral Ground Period Score Away Score Period Score Home Score Period Score Number Period Score Type
Sport Event Id Sport Event Replaced By Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score
Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id Time Played Time Remaining
Timeline Info Data Points:
Assist Player Id Assist Player Name Assist Type Away Score Break Name
Competitor Home Score Id Match Clock Match Time
Period Period Name Suspension Minutes Time Type
Competitor Match Statistics Data Points:
Goals Goals Conceded Goals in Power Play Goals While Short Handed
Penalties Penalty Minutes Power Plays Puck Possessions
Saves Shots on Target Shutouts Suspensions Minutes Suspensions Number
Player Match Statistics Data Points:
Assists First Assists Goalie Minutes Played
Penalties Penalty Minutes Plus Minus Points
Saves Second Assists Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/sport_events/sr:sport_event:28274474/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", "/icehockey/trial/v2/en/sport_events/sr:sport_event:28274474/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.com/icehockey/trial/v2/en/sport_events/sr:sport_event:28274474/timeline.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Timeline feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/timeline.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | ID of a given sport event. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Events Created
Provides ids for sport events that have been created in the last 24 hours.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Id
Created At
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/sport_events/created.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", "/icehockey/trial/v2/en/sport_events/created.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/sport_events/created.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Events Created feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/sport_events/created.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/sport_events/created.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/sport_events/created.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Sport Events Removed
Provides ids for sport events that have been removed or deleted.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Sport Event Removed Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/sport_events/removed.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", "/icehockey/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Events Removed feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/sport_events/removed.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Sport Events Updated
Provides ids for sport events that have been updated in the last 24 hours.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Id
Updated At
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/v2/en/sport_events/updated.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", "/icehockey/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/icehockey/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Events Updated feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/`{version}`/`{language_code}`/sport_events/updated.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/icehockey/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/icehockey/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Push Feeds
>To best utilize Push feeds, we have included code samples in Ruby, Java and Python which provide 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, then all data for the feed is displayed (i.e. all events).
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
Provides real-time event updates for all live matches.
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/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 requests
import json
r = requests.get("https://api.sportradar.com/icehockey/trial/stream/events/subscribe",
params = {'api_key': 'your_api_key'},
allow_redirects=False)
redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)
for line in r.iter_lines():
# filter out keep-alive new lines
if line:
decoded_line = line.decode('utf-8')
print(json.loads(decoded_line))
```
```shell
curl -L GET 'api.sportradar.com/icehockey/trial/stream/events/subscribe?api_key={your_api_key}'
```
>The above command returns json like this.
Access the Push Events feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/stream/events/subscribe?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `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("https://api.sportradar.com/icehockey/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:18449748")
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 requests
import json
r = requests.get("https://api.sportradar.com/icehockey/trial/stream/events/subscribe",
params = {'api_key': 'your_api_key', 'format': 'json', 'sport_event_id': 'sport_event_id'},
allow_redirects=False)
redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)
for line in r.iter_lines():
# filter out keep-alive new lines
if line:
decoded_line = line.decode('utf-8')
print(json.loads(decoded_line))
```
```shell
curl -L GET 'https://api.sportradar.com/icehockey/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:18449748'
```
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:
| URL Parameters | Description |
| --------- | ----------- |
| `channel` | Channel type expressed as: {channel_type}. Example: channel=icehockey |
| `competition_id` | Competition Id expressed as: {competition_id}. Example: competition_id=sr:competition:237 |
| `event_id` | Event type expressed as: {event_type}. Example: event_id=score_change |
| `format` | Format type expressed as: {format}. Example: format=json |
| `season_id` | Season id expressed as: {season_id}. Example: season_id=sr:season:68178 |
| `sport_event_id` | Sport event id expressed as: {sport_event_id}. Example: sport_event_id=sr:sport_event:18449748 |
| `sport_id` | Sport id expressed as: {sport_id}. Example: sport_id=sr:sport:4 |
## Push Statistics
Provides real-time team and player match-level statistics for all live matches.
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey/trial/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 requests
import json
r = requests.get("https://api.sportradar.com/icehockey/trial/stream/statistics/subscribe",
params = {'api_key': 'your_api_key'},
allow_redirects=False)
redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)
for line in r.iter_lines():
# filter out keep-alive new lines
if line:
decoded_line = line.decode('utf-8')
print(json.loads(decoded_line))
```
```shell
curl -L "GET api.sportradar.com/icehockey/trial/stream/statistics/subscribe?api_key={your_api_key}"
```
>The above command returns json like this.
Access the Push Statistics feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey/`{access_level}`/stream/statistics/subscribe?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `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("https://api.sportradar.com/icehockey/trial/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:18449748")
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 requests
import json
r = requests.get("https://api.sportradar.com/icehockey/trial/stream/statistics/subscribe",
params = {'api_key': 'your_api_key', 'format': 'json', 'sport_event_id': 'sr:sport_event_id:18449748'},
allow_redirects=False)
redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)
for line in r.iter_lines():
# filter out keep-alive new lines
if line:
decoded_line = line.decode('utf-8')
print(json.loads(decoded_line))
```
```shell
curl -L GET 'https://api.sportradar.com/icehockey/trial/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:18449748'
```
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:
| URL Parameters | Description |
| --------- | ----------- |
| `channel` | Channel type expressed as: {channel_type}. Example: channel=icehockey |
| `competition_id` | Competition Id expressed as: {competition_id}. Example: competition_id=sr:competition:237 |
| `event_id` | Event type expressed as: {event_type}. Example: event_id=score_change |
| `format` | Format type expressed as: {format}. Example: format=json |
| `season_id` | Season id expressed as: {season_id}. Example: season_id=sr:season:68178 |
| `sport_event_id` | Sport event id expressed as: {sport_event_id}. Example: sport_event_id=sr:sport_event:18449748 |
| `sport_id` | Sport id expressed as: {sport_id}. Example: sport_id=sr:sport:4 |
## Probabilities Feeds
This collection of probability feeds is available for licensing as an add-on feature. They are an extension of the Season Probabilities feed in the main package which provides pre-match probabilities for the sport event winner market.
The main features of the Probabilities extension (where coverage applies) are:
Live Probabilities that update throughout game
Season Outright Probabilities for the Tournament Winner market
Live Probabilities Coverage indicator for the next 24 hours
For more information or to request a Trial of this feature, please contact a Sportradar Sales representative.
The Open API specification and Syntax for using our Probabilities feeds, including examples of the payloads can be found below.
## Live Probabilities
Provides top-level information for live matches. If probabilities are available for a match, pre-match and live probabilities will be displayed.
TTL / Cache:
1 second
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Competition Properties - Brackets Competition Properties - Schedules Competition Properties - Season Player Stats Competition Properties - Season Stats Leaders Competition Properties - Season Team Stats Competition Properties - Standings Competition Properties - Team Squads
Coverage Type Group - Group Name Group Id Group Name Round Name Round Number Season Competition Id Season End Date Season Id
Season Name Season Start Date Season Year Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Abbreviation Age Group Country
Country Code Gender Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Probability Info Data Points:
Away Team Win Probability Home Team Win Probability Market Away Score Market Home Score
Market Last Updated Market Live Market Name Market Removed
Match Time Outcome Name Remaining Time Remaining Time in Period
Match Info Data Points:
Away Score Competitor Qualifier Home Score Neutral Ground Period Number Period Type Sport Event Id Sport Event Properties - Basic Play by Play Sport Event Properties - Basic Team Statistics
Sport Event Properties - Deeper Player Stats Sport Event Properties - Deeper Team Stats Sport Event Properties - Lineups Sport Event Properties - Goal Scorers Sport Event Properties - Scores Sport Event Replaced By Sport Event Resumed Time Sport Event Start Time
Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey-probabilities/trial/v2/en/schedules/live/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", "/icehockey-probabilities/trial/v2/en/schedules/live/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.com/icehockey-probabilities/trial/v2/en/schedules/live/probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Live Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey-probabilities/`{access_level}`/`{version}`/`{language_code}`/schedules/live/probabilities.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Outright Probabilities
Provides a list of outright probabilities for each competitor from a given season.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competitor Info Data Points:
Abbreviation Age Group Country
Country Code Gender Id
Name
Probability Info Data Points:
Win Probability
Market Name
Outcome Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey-probabilities/trial/v2/en/seasons/sr:season:78917/outright_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", "/icehockey-probabilities/trial/v2/en/seasons/sr:season:78917/outright_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.com/icehockey-probabilities/trial/v2/en/seasons/sr:season:78917/outright_probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Outright Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey-probabilities/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/outright_probabilities.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Probabilities
Provides pre-match and live probabilities for a given match.
TTL / Cache:
1 second
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Competition Properties - Brackets Competition Properties - Schedules Competition Properties - Season Player Stats Competition Properties - Season Stats Leaders Competition Properties - Season Team Stats Competition Properties - Standings Competition Properties - Team Squads
Coverage Type Group - Group Name Group Id Group Name Round Name Round Number Season Competition Id Season End Date Season Id
Season Name Season Start Date Season Year Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Abbreviation Age Group Country
Country Code Gender Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Probability Info Data Points:
Away Team Win Probability Home Team Win Probability Market Away Score Market Home Score
Market Last Updated Market Live Market Name Market Removed
Match Time Outcome Name Remaining Time Remaining Time in Period
Match Info Data Points:
Away Score Competitor Qualifier Home Score Neutral Ground Period Number Period Type Sport Event Id Sport Event Properties - Basic Play by Play Sport Event Properties - Basic Team Statistics
Sport Event Properties - Deeper Player Stats Sport Event Properties - Deeper Team Stats Sport Event Properties - Lineups Sport Event Properties - Goal Scorers Sport Event Properties - Scores Sport Event Replaced By Sport Event Resumed Time Sport Event Start Time
Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey-probabilities/trial/v2/en/sport_events/sr:sport_event:24663546/sport_event_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", "/icehockey-probabilities/trial/v2/en/sport_events/sr:sport_event:24663546/sport_event_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.com/icehockey-probabilities/trial/v2/en/sport_events/sr:sport_event:24663546/sport_event_probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey-probabilities/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/probabilities.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | Id of a given sport event. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Upcoming Probabilities
Provides a list of IDs for upcoming sport events in the next 24 hours.
TTL / Cache:
1 second
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Sport Event Upcoming Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey-probabilities/trial/v2/en/sport_events/upcoming_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", "/icehockey-probabilities/trial/v2/en/sport_events/upcoming_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.com/icehockey-probabilities/trial/v2/en/sport_events/upcoming_probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Upcoming Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey-probabilities/`{access_level}`/`{version}`/`{language_code}`/sport_events/upcoming_probabilities.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Timeline Probabilities
Provides a timeline of pre-match and live probability changes for a given match. This also provides match information including player stats, team stats, and scoring info.
TTL / Cache:
1 second
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Competition Properties - Brackets Competition Properties - Schedules Competition Properties - Season Player Stats Competition Properties - Season Stats Leaders Competition Properties - Season Team Stats Competition Properties - Standings Competition Properties - Team Squads
Coverage Type Group - Group Name Group Id Group Name Round Name Round Number Season Competition Id Season End Date Season Id
Season Name Season Start Date Season Year Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Abbreviation Age Group Country
Country Code Gender Id
Name
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Probability Info Data Points:
Away Team Win Probability Home Team Win Probability Market Away Score Market Home Score
Market Last Updated Market Live Market Name Market Removed
Match Time Outcome Name Remaining Time Remaining Time in Period
Match Info Data Points:
Away Score Competitor Qualifier Home Score Neutral Ground Period Number Period Type Sport Event Id Sport Event Properties - Basic Play by Play Sport Event Properties - Basic Team Statistics
Sport Event Properties - Deeper Player Stats Sport Event Properties - Deeper Team Stats Sport Event Properties - Lineups Sport Event Properties - Goal Scorers Sport Event Properties - Scores Sport Event Replaced By Sport Event Resumed Time Sport Event Start Time
Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Goals Goals Conceded Goals in Power Play Goals While Short Handed
Penalties Penalty Minutes Power Plays Puck Possessions
Saves Shots on Target Shutouts Suspensions Minutes Suspensions Number
Player Match Statistics Data Points:
Assists First Assists Goalie Minutes Played
Penalties Penalty Minutes Plus Minus Points
Saves Second Assists Shots on Target
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/icehockey-probabilities/trial/v2/en/sport_events/sr:sport_event:28274474/timeline_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", "/icehockey-probabilities/trial/v2/en/sport_events/sr:sport_event:28274474/timeline_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.com/icehockey-probabilities/trial/v2/en/sport_events/sr:sport_event:28274474/timeline_probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Timeline Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/icehockey-probabilities/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/timeline_probabilities.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | Id of a given sport event. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Frequently Asked Questions
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 format 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: How can I find the values for various enum data points within the API?
Q: What are the valid sport event status (sport_event_status – status) values?
A: Here are the valid sport event 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
interrupted - The match began, but coverage has stopped for a short time. Note that match scores may not be updated during this period, the last recorded match score will be displayed instead
cancelled – The match has been cancelled and will not be played
ended – The match is over
closed – The match results have been confirmed.
Q: What are the valid match status (sport_event_status – match_status) values?
A: Here are the valid sport event status values and their definitions:
not_started – The match is scheduled to be played
live – The match is currently in progress
1st_period – The match is in the first period
2nd_period – The match is in the second period
3rd_period – The match is in the third period
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
3rd_extra – The match is in the third 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 cancelled and will not be played
ended – The match is over
aet – The match is after extra time
ap – The match is in after penalties
Q: How do I access past seasons’ result and stats?
A: Use the Competition Seasons endpoint to locate the season_id for the season you want to access. Use that season_id to interrogate the various seasons endpoints.
Q: What are the valid outcomes for probabilities?
A: Here are the valid outcome probabilities:
home_team_winner
away_team_winner
Q: How do I find out the coverage for a particular match?
A: Within the Summaries, and Timeline feeds, find the node for “coverage”. Coverage nodes have two types: season level and sport_event level.
The season level describes data coverage you can expect for matches involved in that given season. The sport_event level, this exists to describe the data depth of a specific match within the group and season. Note: There are occasions when the sport_event coverage can vary from the anticipated season coverage and this node exists to highlight that in that event to assist in handling any discrepancies.
Q: Why do different groups have coverage information for a tournament?
A: The notion of “groups” is versatile and is used to distinguish between playoffs, and our competition structures and is therefore necessary to describe coverage at a group level for consistency. Generally, however, within a competition in Ice Hockey, there will be no difference between competition coverage between conferences.
Q: What are the possible event types logged?
A: Here are all of the possible event types we log:
Q: What are markets and what are the different markets?
Markets are something you can bet on, for which we provide probabilities. Over time we intend to provide more and more markets in the API. Currently we provide 3-way (home win, away win, or draw) and Next Goal (which team will score the next goal) markets.
Q: What are the possible outcomes?
A: Different markets have different outcomes. The available markets are currently:
home_team_winner
away_team_winner
draw
none
Q: Why are the “shots_on_target” incorrect for Finland Liiga?
A: At this time, the league does not provide shots on target instead (for Finland Liiga only) we provide this data point as a total number of shots.
Q: What are the possible player positions in the feeds?
A: Here are the valid player - types:
F - Forward
D - Defenseman
G – Goalie
F-D – Forward/Defenseman
LW – Left Wing
RW – Right Wing
C - Center
Q: How are group IDs delivered in the stage array with the various types?
A: With the type of "league" they will have a sr:league prefix.
With the type of "cup" they will have a sr:cup prefix.
Q: How are “live” feeds handled in the API?
A: Sport Events appear in the feed 10 minutes before the scheduled start time and are removed 10 minutes after the Sport Event is ended.
Q: What is the probabilities package?
A: The probabilities package is an add-on set of feeds that are an extension of the Season Probabilities feed in the main package (which already provides pre-match probabilities for the sport event winner market). The main features of the Probabilities extension are: Live Probabilities that update throughout game, Season Outright Probabilities for the Tournament Winner market, and Live Probabilities Coverage indicator for the next 24 hours.
Q: Is there Live Probability coverage for every game you cover in the Global Ice Hockey API?
A: Live Probability coverage depends on a number of factors and we can’t guarantee that every game will be covered for any given league, however, Sportradar aims to cover close to 100% of games from the following Tier 1 league: National Hockey League (NHL) – USA
Q: Can I utilize the Probabilities extension if I license the Sportradar NHL API?
A: If you have a license for our NHL API you can also integrate Live Probabilities by utilizing the ID Mapping feeds available in Global Ice Hockey v2 to connect games between the two products.
Q: What are the possible standings types I can observe in the Standings feed?
A: Listed below are the values for standing – type.
total
home
away
first_half_total
first_half_home
first_half_away
second_half_total
second_half_home
second_half_away
Q: Why can't I find a particular match in the Daily Summaries, Season Summaries or Sport Events Updated feeds?
A: These endpoints support pagination and return 200 entries by default. To return more matches, an additional query string parameter must be used after your API key. For example, appending &start=200 will return the next 200 entries per page, &start=400 will return the next 200, and so on.
Q: How will a sport event behave when it is not covered with live scores?
A: When a sport_event is not covered live, the status and match_status will remain as not_started until results are entered post-match.
Q: What are the possible values for break_name in the feeds?
A: Here are the valid break names:
1st_pause
2nd_pause
awaiting_extra
awaiting_penalties
Q: What are the possible values for player type in the feeds?
A: Here are the valid player type values:
scorer
assist
secondary_assist
Q: How do I locate the TTL (Time to Live)/cache on an API endpoint?
A: The cache (in seconds) can be accessed in the returned header information on each RESTful API call, under cache-control.
ex. cache-control: max-age=1, public, s-maxage=1 or cache-control: public, must-revalidate, max-age=120
Q: What are the possible values for cup_round – state in the Season Links feed?
A: Listed below are the values and definitions for cup_round - state. These can be leveraged to determine the status of a cup round.
empty - A matchup has been created but neither the match details nor the competitors are known.
unseeded_fixture - Match details are known but competitors are unknown.
partial_seeded - One competitor is known.
partial_seeded_fixture - Match details and one competitor are known.
seeded - Both competitors are known.
seeded_fixture - Match details and both competitors are known.