Global Hockey Push Statistics provides real-time team and player match-level statistics for all live matches.
Syntax
https://api.sportradar.com/icehockey/{access_level}/stream/statistics/subscribe?api_key={your_api_key} |
Parameters
Parameter | Description |
---|---|
access_level | Defines the access level of your API keyproduction , trial |
your_api_key | Your API key |
Optional Query String Parameters
By default, a Push feed will provide all data available for all in progress games. If needed, you can filter the data returned by including query strings.
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.
URL Parameters | Description |
---|---|
channel | Channel type Example: channel=icehockey |
competition_id | Competition id Example: competition_id=sr:competition:237 |
event_id | Event type Example: event_id=score_change |
format | Format typejson , xml Example: format=json |
season_id | Season id Example: season_id=sr:season:68178 |
sport_event_id | Sport event id >Example: sport_event_id=sr:sport_event:18449748 |
sport_id | Sport id Example: sport_id=sr:sport:4 |
Code Samples
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
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))
curl -L "GET api.sportradar.com/icehockey/trial/stream/statistics/subscribe?api_key={your_api_key}"
Samples with Query String Params
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
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))
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'
Response Sample
The above commands return json like this.
Data Points
Metadata:
Attribute | Parent Element | Type | Description |
---|---|---|---|
channel | metadata | String | Sport of the stream connection ex. icehockey |
competition_id | metadata | String | Unique Id of a competition ex. sr:competition:268 |
event_id | metadata | String | Type of timeline event. Reference enum_event_type in our Global Ice Hockey OpenAPI Spec for a complete list of event types ex. match_started , score_change , suspension |
format | metadata | String | Format type of the responsejson , xml |
season_id | metadata | String | Unique Id of a season ex. sr:season:119485 |
sport_event_id | metadata | String | Unique Id of a sport event ex. sr:sport_event_id:50708029 |
sport_id | metadata | String | Unique Id of a sport ex. sr:sport:4 |
from | heartbeat | Integer | Unix timestamp of the beginning of a heartbeat message ex. 1713804799 |
to | heartbeat | Integer | Unix timestamp of the end of a heartbeat message ex. 1713804804 |
interval | heartbeat | Integer | Interval of a heartbeat message in seconds |
type | heartbeat | String | Type of heartbeat message ex. events , statistics |
package | heartbeat | String | Package of a heartbeat message ex. icehockey-v2 |
Competitor:
Attribute | Parent Element | Type | Description |
---|---|---|---|
abbreviation | statistics - competitors | String | Abbreviation for a competitor name ex. OMS (HK Avangard Omsk) |
id | competitors - competitor` | String | Unique ID for a competitor ex. sr:competitor:3945 (HK Avangard Omsk) |
name | statistics - competitors | String | Name for a competitor ex. HK Avangard Omsk |
qualifier | statistics - competitors | String | Designation of a competitor for a sport eventhome , away |
Player:
Attribute | Parent Element | Type | Description |
---|---|---|---|
id | players | String | Unique ID of a player ex. sr:player:87951 |
name | players | String | Name of a player ex. Proskuryakov, Ilya |
Sport Event Status:
Attribute | Parent Element | Type | Description |
---|---|---|---|
aggregate_away_score | sport_event_status | Integer | Aggregate score (of multiple sport events) for the away team |
aggregate_home_score | sport_event_status | Integer | Aggregate score (of multiple sport events) for the home team |
aggregate_winner_id | sport_event_status | String | Unique ID of the aggregate score winner ex. sr:competitor:3945 |
away_normaltime_score | sport_event_status | Integer | Score for the away team in normal time |
away_score | sport_event_status | Integer | Total score for the away team in the game |
home_normaltime_score | sport_event_status | Integer | Score for the home team in normal time |
home_score | sport_event_status | Integer | Total score for the home team in the game |
decided_by_fed | sport_event_status | Boolean | Signifies a match result was decided by the federation when true . For example, incomplete due to crowd disruption |
match_status | sport_event_status | String | Status within a match. Provides more detail on the state of a match when live than status ex. not_started , 1st_period , 1st_extra , awaiting_extra_time See our FAQ for a complete list of statuses and their definitions. |
scount_abandoned | sport_event_status | Boolean | Signifies a match was abandoned by a scout when true |
status | sport_event_status | String | Status of a match ex. not_started , live , ended , closed See our FAQ for a complete list of statuses and their definitions. |
winner_id | sport_event_status | String | Unique ID of the match winner ex. sr:competitor:3950 |
Sport Event Situation:
Attribute | Parent Element | Type | Description |
---|---|---|---|
away_score | sport_event_status - period_scores | Integer | Away team period score |
home_score | sport_event_status - period_scores | Integer | Home team period score |
number | sport_event_status - period_scores | Integer | Period number |
type | sport_event_status - period_scores | String | Period typeregular_period , overtime , 1st_period , 1st_pause , 2nd_period , 2nd_pause , 3rd_period , awaiting_extra , awaiting_penalties , penalties , interrupted |
Game Stats (Player):
Attribute | Parent Element | Type | Description |
---|---|---|---|
assists | players - statistics | Integer | Number of assists for a player in a game |
first_assists | players - statistics | Integer | Number of first assists for a player in a game |
goalie_minutes_played | players - statistics | Integer | Number of minutes played for a goalie in a game |
goals | players - statistics | Integer | Number of goals for a player in a game |
penalties | players - statistics | Integer | Number of penalties for a player in a game |
penalty_minutes | players - statistics | Integer | Number of penalty minutes for a player in a game |
plus_minus | players - statistics | Integer | Plus/minus value for a player in a game |
points | players - statistics | Integer | Number of points for a player in a game |
saves | players - statistics | Integer | Number of saves for a goalie in a game |
second_assists | players - statistics | Integer | Number of second assists for a player in a game |
shots_on_goal | players - statistics | Integer | Number of shots on goal for a player in a game |
Game Stats (Team):
Attribute | Parent Element | Type | Description |
---|---|---|---|
goals_conceded | competitors - statistics | Integer | Number of goals allowed for a team in a game |
goals_in_power_play | competitors - statistics | Integer | Number of power play goals scored for a team in a game |
goals_while_short_handed | competitors - statistics | Integer | Number of short-handed goals scored for a team in a game |
penalties | competitors - statistics | Integer | Number of penalties for a team in a game |
penalty_minutes | competitors - statistics | Integer | Number of penalty minutes for a team in a game |
power_plays | competitors - statistics | Integer | Number of power plays for a team in a game |
puck_possession | competitors - statistics | Integer | Number of puck possessions for a team in a game |
saves | competitors - statistics | Integer | Number of saves for a team in a game |
shots_on_goal | competitors - statistics | Integer | Number of shots on goal for a team in a game |
shutouts | competitors - statistics | Integer | Signifies a shutout for a team in a game when 1 |