NHL v7

Frequently Asked Questions
Quick Access
Postman Collection XSD Schema
Download
## NHL API Overview As NHL’s official data partner, Sportradar offers the most detailed and complete live NHL data available. This includes official and accurate scoring, faceoffs, substitutions, hits, giveaways, and more. Game analytics and seasonal statistics are also available to provide a robust hockey experience. The NHL API is consistent in structure, format, and behavior with our other League Specific APIs. Our primary feeds return schedules, standings, team/player data, and real-time scores. Our other NHL feeds provide a host of complimentary statistics and information, including:
  • Rankings
  • League leaders
  • Injuries
  • Depth charts
  • In-game substitution info
  • Live event positional data
  • Seasonal statistics
  • Game analytics
  • Shot zones
  • Faceoff statistics
Real-time customers are also offered three delivery Push Feeds to enhance speed.
API API Version
National Hockey League v7
Note: Authentication is required for all API calls.
## NHL API Map To best utilize the NHL API, you will need several parameters to create your API calls. The map below illustrates how you can obtain the parameters you need. >

Examples:

>To find a players assists for a given game: >
  1. Call the schedule or daily schedule and find the Game Id for the chosen game
  2. Call the Game Boxscore using the Game Id
  3. Find the assists statistics and locate the player full_name
>The number of the players's assists is displayed. >
    >To find the coach's name for a given team: >
    1. Call the season or series schedule and find id for the coach's team
    2. Call the Team Profile using the Team ID
    3. Find the coach element and locate the full_name attribute
    >The coach's full name is displayed. The primary feeds require only a date or season to call the endpoints. Those feeds provide Game, Team, or Player Ids which can be used to generate the game, team, and player feeds. All of the other feeds require no variables.
    Note: Series Ids are only listed in the Series Schedule feed. Use the Series Schedule to get the Ids required to access the Series Faceoffs and Series Statistics.
    ## Coverage Levels We provide two different levels of detail to ensure maximum coverage. We combine coverage levels with the correct feeds to ensure you are getting the most comprehensive data offering in the most efficient manner possible. Full – We provide live play-by-play coverage for the entire game. We provide updated scores and time remaining as well as team- and player-level data in near real time. Full coverage is available for all regular and postseason games as well as those preseason games available live via a broadcast. Boxscore – We provide scores and time remaining, in a timely manner, as the game progresses. In-game updates are always subject to availability of sources. Boxscore coverage is available for any preseason game that is not in an NHL venue, as those games are not covered by NHL statisticians. ## NHL API v7 Simulations Our NHL simulations give you the opportunity to test your code against a simulation of live data before the preseason starts or any time! Our simulation system replays select completed games allowing you to view our API feeds as if they were happening live. Simulations run every day according to the below schedule. Data is reset for each day's simulations at 12:00pm UTC.
    Quick Access
    Start Time (UTC) Game Game ID
    1:00pm Calgary at Ottawa 823a317f-8bbe-4e26-8c75-2a05138f3d70
    1:00pm Edmonton at Vancouver 66a5f479-0011-4ead-a51d-33a93e0062f7
    1:00pm Montreal at Winnipeg 8d591315-f3c8-4925-a3f1-d5a23ac8ba55
    5:00pm Dallas at Tampa Bay 90008b6a-3600-45e6-a3c3-21cca49e5d9d
    5:00pm Pittsburgh at New York e4ba2be3-6cdc-4434-9194-5694e82c7ef9
    9:00pm St. Louis at San Jose 86bf6496-4a5d-456d-8e63-2cd41bd0373b​
    9:00pm Minnesota at Vegas c7e64152-06e2-44cc-872f-678fb64714ca
    9:00pm Colorado at Arizona d364d4ec-892d-48d0-b44d-40a2e711b174​
    9:00pm Vegas at Anaheim dd1f6ad9-733a-4a28-b4a8-955f1fc04cc2
    To retrieve the game IDs, team IDs, and other associated information for each game listed above, you can use the following URL with the syntax noted below. If you have an existing NHL API key, simply replace the access_level (trial or production) in the URL of a feed with simulation. https://api.sportradar.us/nhl/simulation/`{version}`/`{language_code}`/games/2020/SIM/schedule.`{format}`?api_key=`{your_api_key}`
    Note: Use SIM as the nhl_season and 2020 as the season_year for each applicable NHL simulation request.
    | Parameter | Description | | --------- | ----------- | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `nhl_season` | SIM | | `season_year` | 2020 | | `format` | xml or json. | | `your_api_key` | Your API key. |

    Feeds Available: Game Analytics, Game Boxscore, Game Faceoffs, Game Play-By-Play, Game Shot Zones, Game Summary, Game Time on Ice, League Leaders (Goaltending), League Leaders (Skaters), Schedule, Seasonal Analytics, Seasonal Faceoffs, Seasonal Shot Zones, Seasonal Statistics, Standings, Team Profile, Push Events, and Push Statistics.

    For syntax structure on each feed, please reference the below documentation. ## All-Star Game FAQ > Click here for for a Game Summary or Game Play-by-Play sample of the 2022 All-Star games. ### How do I locate the All-Star game(s)? The games can be found in the Daily or League Schedule endpoints. For example: nhl/trial/v7/en/games/2022/02/05/schedule Every game-centric feed (e.g. Game Play-by-Play, Game Summary, Push Events, etc) can be accessed during the games. Click here for for a Game Summary or Game Play-by-Play sample of the 2022 games. ### What are the differences from a typical NHL game? There are three total games played for the NHL All-Star break. Two semifinal games (teams for each of the 4 NHL divisions), with the winner of each game advancing to the final game. All three games appear in the Daily Schedule and League Schedule endpoint. All three games are three-on-three, with two 10-minute periods. ### Are the All-Star games covered in realtime? Yes, all three games are covered in realtime, including the same level of team and player statistics as a regular season game. ### When are the All-Star rosters set? All-Star game rosters will be available shortly prior to each game beginning. Please note that we only provide game rosters (not team rosters) for each game. Request the Game Summary endpoint prior to the game to receive rosters. ## Daily Change Log Provides IDs and timestamps for teams, players, game statistics, schedules, and standings that have been modified on a given date. To receive the data updates, use these unique IDs to pull relevant API feeds.
    TTL / Cache: 300 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Game Data Points: Id
    Reference
    Title SR Id
    League Data Points: Alias
    Id
    Name Season Id
    Player Data Points: Full Name
    Id
    Reference SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/league/2015/09/21/changes.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", "/nhl/trial/v7/en/league/2015/09/21/changes.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/league/2015/09/21/changes.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Daily Change Log feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/league/`{year}`/`{month}`/`{day}`/changes.`{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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Change Log use the following URL. https://feed.elasticstats.com/schema/hockey/changelog-v2.0.xsd Return to top ## Daily Schedule Date, time, location, and other event details for every match-up taking place in the league defined day.
    TTL / Cache: 10 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Game Data Points: Away Team Alias
    Away Team Id
    Away Team Name
    Away Team Points
    Away Team Seeding
    Away Team SR Id
    Broadcast Cable
    Broadcast Internet
    Broadcast Network
    Broadcast Radio
    Broadcast Satellite
    Coverage
    Home Team Alias
    Home Team Id
    Home Team Name
    Home Team Points
    Home Team Seeding
    SR Id
    Id
    Reference
    Scheduled Date and Time
    SR Id
    Status
    Title
    League Data Points: Alias Id Name
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/games/2017/09/26/schedule.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nhl/trial/v7/en/games/2017/09/26/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/games/2017/09/26/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Daily Schedule feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/games/`{year}`/`{month}`/`{day}`/schedule.`{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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Schedule use the following URL. https://feed.elasticstats.com/schema/hockey/schedule-v6.0.xsd Return to top ## Daily Transfers Information for all transfers added or edited during the league-defined day.
    TTL / Cache: 300 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Alias Id Name
    Player Data Points: Dominant Hand
    First Name
    Full Name
    High School
    Id
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Transfers Description
    Transfers Effective Date
    Transfers End Date
    Transfers Id
    Transfers New Team Id
    Transfers New Team Market
    Transfers New Team Name
    Transfers New Team Reference
    Transfers New Team SR Id
    Transfers Notes
    Transfers Old Team Id
    Transfers Old Team Market
    Transfers Old Team Name
    Transfers Old Team Reference
    Transfers Old Team SR Id
    Transfers Start Date
    Transfers Transaction Code
    Transfers Transaction Type
    Transfers Update Date
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/league/2017/10/03/transfers.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", "/nhl/trial/v7/en/league/2017/10/03/transfers.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/league/2017/10/03/transfers.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Daily Transfers feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/league/`{year}`/`{month}`/`{day}`/transfers.`{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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Transfers use the following URL. https://feed.elasticstats.com/schema/hockey/transfers-v7.0.xsd Return to top ## Depth Charts Positional depth chart for a given team, including player position information.
    TTL / Cache: 300 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Alias
    Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Id
    Name
    Player Data Points: Abbreviated name
    Birth Date
    Birth Place
    College
    Dominant Hand
    Experience
    Full Name
    Id
    Jersey Number
    Position
    Position Description
    Position Id
    Position Name
    Primary Position
    Reference
    SR Id
    Status
    Team Data Points: Alias
    Coach Experience
    Coach First Name
    Coach Full Name
    Coach Id
    Coach Last Name
    Coach Position
    Id
    Market
    Name
    Reference
    SR Id
    Year Founded
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/teams/4416091c-0f24-11e2-8525-18a905767e44/depth_chart.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", "/nhl/trial/v7/en/teams/4416091c-0f24-11e2-8525-18a905767e44/depth_chart.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/teams/4416091c-0f24-11e2-8525-18a905767e44/depth_chart.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Depth Chart feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/teams/`{team_id}`/depth_chart.`{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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `team_id` | ID for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Depth Charts use the following URL. https://feed.elasticstats.com/schema/hockey/team-depth-chart-v6.0.xsd Return to top ## Game Analytics Provides detailed team and player analytics for a given game, including corsi, fenwick, on ice shots, and shots by type.
    Update Frequency: Realtime
    TTL / Cache: Live - 2s
    Non-Live - 120s
    Note: This endpoint will update to a 2s TTL (time to live) upon a game moving to inprogress. Upon closed, it will transfer to 120s.
    Content Type: XML or JSON
    Boxscore Data Points: Actual End Time
    Actual Start Time
    Attendance
    Away Team Flag
    Away Team Game Score
    Away Team Id
    Away Team Market
    Away Team Name
    Away Team Reference
    Away Team SR Id
    Away Team Strength
    Duration (in game time)
    Clock
    Period
    Home Team Flag
    Home Team Game Score
    Home Team Id
    Home Team Market
    Home Team Name
    Home Team Reference
    Home Team SR Id
    Home Team Strength
    Game Data Points: Away Team Id
    Coverage
    Entry Mode
    Home Team Id
    Id
    Reference
    Scheduled Date And Time
    SR Id
    Status
    Title
    Player Game Analytics Data Points: Average Shot Distance
    Corsi Against
    Corsi For
    Corsi Percentage
    Corsi Total
    Fenwick Against
    Fenwick For
    Fenwick Percentage
    Fenwick Total
    On Ice Shots Against
    On Ice Shots Differential
    On Ice Shots For
    On Ice Shots Percentage
    Shot Type
    Shot Type Goals
    Shot Type Percentage
    Shot Type Shots
    Starts by Zone - Defensive
    Starts by Zone - Defensive Percentage
    Starts by Zone - Neutral
    Starts by Zone - Neutral Percentage
    Starts by Zone - Offensive
    Starts by Zone - Offensive Percentage
    Team Game Analytics Data Points: Average Shot Distance
    Corsi Against
    Corsi For
    Corsi Percentage
    Corsi Total
    Fenwick Against
    Fenwick For
    Fenwick Percentage
    Fenwick Total
    On Ice Shots Against
    On Ice Shots Differential
    On Ice Shots For
    On Ice Shots Percentage
    PDO
    Shot Type
    Shot Type Goals
    Shot Type Percentage
    Shot Type Shots
    Player Data Points: Full Name
    Id
    Jersey Number
    Position
    Reference
    SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/analytics.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", "/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/analytics.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/analytics.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Game Analytics feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/analytics.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Game Analytics use the following URL. https://feed.elasticstats.com/schema/hockey/analytics-v6.0.xsd Return to top ## Game Boxscore Top-level team scores by quarter and full statistics for team leaders in assists, goals, and points.
    Update Frequency: Realtime
    TTL / Cache: Live - 2s
    Non-Live - 120s
    Note: This endpoint will update to a 2s TTL (time to live) upon a game moving to inprogress. Upon closed, it will transfer to 120s.
    Content Type: XML or JSON
    Boxscore Data Points: Actual End Time
    Actual Start Time
    Attendance
    Away Team Alias
    Away Team Flag
    Away Team Game Score
    Away Team Id
    Away Team Market
    Away Team Name
    Away Team Overtime Points
    Away Team Period Score
    Away Team Reference
    Away Team Shootout Score
    Away Team SR Id
    Away Team Strength
    Duration (in game time)
    Clock
    Game Clock
    Game Official Assignment
    Game Official Experience
    Game Offical First Name
    Game Official Full Name
    Game Official Id
    Game Official Last Name
    Game Official Number
    Period
    Home Team Alias
    Home Team Flag
    Home Team Game Score
    Home Team Id
    Home Team Market
    Home Team Name
    Home Team Overtime Points
    Home Team Period Score
    Home Team Reference
    Home Team Shootout Points
    Home Team SR Id
    Home Team Strength
    Overtime Number
    Overtime Sequence
    Period id
    Period Number
    Period Sequence
    Period Type
    Shootout Number
    Shootout Sequence
    Team Leader In Assists Dominant Hand
    Team Leader In Assists First Name
    Team Leader In Assists Full Name
    Team Leader In Assists Id
    Team Leader In Assists Jersey Number
    Team Leader In Assists Last Name
    Team Leader In Assists Position
    Team Leader In Assists Primary Position
    Team Leader In Assists Reference
    Team Leader In Assists SR Id
    Team Leader In Goals Dominant Hand
    Team Leader In Goals First Name
    Team Leader In Goals Full Name
    Team Leader In Goals Id
    Team Leader In Goals Jersey Number
    Team Leader In Goals Last Name
    Team Leader In Goals Position
    Team Leader In Goals Primary Position
    Team Leaders In Goals Reference
    Team Leaders In Goals SR Id
    Team Leader In Points Dominant Hand
    Team Leader In Points First Name
    Team Leader In Points Full Name
    Team Leader In Points Id
    Team Leader In Points Jersey Number
    Team Leader In Points Last Name
    Team Leader In Points Position
    Team Leader In Points Primary Position
    Team Leader In Points Reference
    Team Leader In Points SR Id
    Wall Clock
    Game Data Points: Away Team Id
    Coverage
    Entry Mode
    Home Team Id
    Id
    Reference
    Scheduled Date And Time
    SR Id
    Status
    Title
    Player Game Statistics Data Points: Assists
    Average Time on Ice
    Blocked Attempts
    Blocked Shots
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Win Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Even Strength Time on Ice
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goal Flag
    Giveaways
    Goals
    Hits
    Missed Shots
    Overtime Assists
    Overtime Goals
    Overtime Score
    Overtime Time on Ice
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalty Goals
    Penalty Minutes
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Power Play Assists
    Power Play Faceoff Win Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goal
    Power Play Missed Shots
    Power Play Shots on Goal
    Power Play Time on Ice
    Shifts
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Win Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Missed Shots
    Short Handed Shots on Goal
    Short Handed Time on Ice
    Shots on Goal
    Takeaways
    Total Time on Ice
    Player Period Statistics Data Points: Assists
    Blocked Attempts
    Blocked Shots
    Even Strength Assists
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Giveaways
    Goals
    Hits
    Missed Shots
    Penalties
    Penalty Goals
    Penalty Minutes
    Penalty Missed Shots
    Penalty Shots on Goal
    Points
    Power Play Assists
    Power Play Goals
    Power Play Missed Shots
    Power Play Shots on Goal
    Shifts
    Shooting Percentage
    Short Handed Assists
    Short Handed Goals
    Short Handed Missed Shots
    Short Handed Shots on Goal
    Shots on Goal
    Takeaways
    Player Data Points: Dominant Hand
    First Name
    Full Name
    Id
    Jersey Number
    Last Name
    Position
    Primary Position
    Reference
    SR Id
    Stars Of The Game Data Points: Player Full Name
    Player Id
    Player Jersey Number
    Player Position
    Player Reference
    Player SR Id
    Sequence
    Team Id
    Team Market
    Team Name
    Team Reference
    Team SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/boxscore.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", "/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/boxscore.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/boxscore.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Game Boxscore feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/boxscore.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Game Boxscore use the following URL. https://feed.elasticstats.com/schema/hockey/game-v6.0.xsd Return to top ## Game Faceoffs Detailed face-off information for teams and players, including period, zone, and strength breakdowns, for a given game.
    Update Frequency: Realtime
    TTL / Cache: Live - 2s
    Non-Live - 120s
    Note: This endpoint will update to a 2s TTL (time to live) upon a game moving to inprogress. Upon closed, it will transfer to 120s.
    Content Type: XML or JSON
    Boxscore Data Points: Actual End Time
    Actual Start Time
    Attendance
    Away Team Game Score
    Away Team Id
    Away Team Market
    Away Team Name
    Away Team Reference
    Away Team SR Id
    Duration (in game time)
    Clock
    Period
    Home Team Game Score
    Home Team Id
    Home Team Market
    Home Team Name
    Home Team Reference
    Home Team SR Id
    Period Id
    Period Number
    Period Sequence
    Period Type
    Player Game Faceoff Data Points: 3v3 Faceoff Winning Pct
    3v3 Faceoffs
    3v3 Faceoffs Lost
    3v3 Faceoffs Won
    3v4 Faceoff Winning Pct
    3v4 Faceoffs
    3v4 Faceoffs Lost
    3v4 Faceoffs Won
    3v5 Faceoff Winning Pct
    3v5 Faceoffs
    3v5 Faceoffs Lost
    3v5 Faceoffs Won
    4v3 Faceoff Winning Pct
    4v3 Faceoffs
    4v3 Faceoffs Lost
    4v3 Faceoffs Won
    4v4 Faceoff Winning Pct
    4v4 Faceoffs
    4v4 Faceoffs Lost
    4v4 Faceoffs Won
    4v5 Faceoff Winning Pct
    4v5 Faceoffs
    4v5 Faceoffs Lost
    4v5 Faceoffs Won
    5v3 Faceoff Winning Pct
    5v3 Faceoffs
    5v3 Faceoffs Lost
    5v3 Faceoffs Won
    5v4 Faceoff Winning Pct
    5v4 Faceoffs
    5v4 Faceoffs Lost
    5v4 Faceoffs Won
    5v5 Faceoff Winning Pct
    5v5 Faceoffs
    5v5 Faceoffs Lost
    5v5 Faceoffs Won
    Defensive Zone Faceoff Winning Pct
    Defensive Zone Faceoffs
    Defensive Zone Faceoffs Lost
    Defensive Zone Faceoffs Won
    Even Strength Faceoff Winning Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Type
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Neutral Zone Faceoff Winning Pct
    Neutral Zone Faceoffs
    Neutral Zone Faceoffs Lost
    Neutral Zone Faceoffs Won
    Offensive Zone Faceoff Winning Pct
    Offensive Zone Faceoffs
    Offensive Zone Faceoffs Lost
    Offensive Zone Faceoffs Won
    Power Play Faceoff Winning Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Type
    Short Handed Faceoff Winning Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Type
    Team Game Faceoff Data Points: Even Strength Faceoff Winning Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Power Play Faceoff Winning Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Short Handed Faceoff Winning Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Player Period Faceoff Data Points: Defensive Zone Faceoff Winning Pct
    Defensive Zone Faceoffs
    Defensive Zone Faceoffs Lost
    Defensive Zone Faceoffs Won
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Neutral Zone Faceoff Winning Pct
    Neutral Zone Faceoffs
    Neutral Zone Faceoffs Lost
    Neutral Zone Faceoffs Won
    Offensive Zone Faceoff Winning Pct
    Offensive Zone Faceoffs
    Offensive Zone Faceoffs Lost
    Offensive Zone Faceoffs Won
    Game Data Points: Away Team Id
    Coverage
    Entry Mode
    Home Team Id
    Id
    Reference
    Scheduled Time And Date
    SR Id
    Status
    Title
    Player Data Points: Full Name
    Id
    Jersey Number
    Position
    Reference
    SR Id
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/games/139cbe99-4c04-438e-bd9a-a7abe928a502/faceoffs.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", "/nhl/trial/v7/en/games/139cbe99-4c04-438e-bd9a-a7abe928a502/faceoffs.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/games/139cbe99-4c04-438e-bd9a-a7abe928a502/faceoffs.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Game Faceoffs feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/faceoffs.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Game Faceoffs use the following URL. https://feed.elasticstats.com/schema/hockey/faceoffs-v3.0.xsd Return to top ## Game Play-By-Play Detailed, real-time information on every team possession and game event.
    Update Frequency: Realtime
    TTL / Cache: Live - 2s
    Non-Live - 120s
    Note: This endpoint will update to a 2s TTL (time to live) upon a game moving to inprogress. Upon closed, it will transfer to 120s.
    Content Type: XML or JSON
    Boxscore Data Points: Actual End Time
    Actual Start Time
    Attendance
    Duration (in game time)
    Clock
    Period
    Period Id
    Period Number
    Period Sequence
    Game Data Points: Away Team Alias
    Away Team Id
    Away Team Reference
    Away Team SR Id
    Coverage
    Entry Mode
    Home Teaw Alias
    Home Team Id
    Home Team Reference
    Home Team SR Id
    Id
    Reference
    Scheduled Date And Time
    SR Id
    Status
    Title
    Play-By-Play Data Points: Away Team Game Score
    Away Team Id
    Away Team Market
    Away Team Name
    Away Team Period Score
    Away Team Reference
    Away Team SR Id
    Away Team Strength
    Event Attribution Team Goal
    Event Attribution Team Id
    Event Attribution Team Market
    Event Attribution Team Name
    Event Attribution Team Reference
    Event Attribution Team SR Id
    Event Clock
    Event Description
    Event Details Goal Zone
    Event Details Penalty Code
    Event Details Penalty Duration
    Event Details Penalty Type
    Event Details Reason
    Event Details Shot Distance
    Event Details Shot Type
    Event Details Stoppage Type
    Event Id
    Event Location Action Area
    Event Location X Coordinate
    Event Location Y Coordinate
    Event Participants Player Full Name
    Event Participants Player Id
    Event Participants Player Jersey Number
    Event Participants Player Reference
    Event Participants Player SR Id
    Event Participants Team Id
    Event Participants Team Market
    Event Participants Team Name
    Event Participants Team Reference
    Event Participants Team SR Id
    Event Type
    Event Zone
    Home Team Game Score
    Home Team Id
    Home Team Market
    Home Team Name
    Home Team Period Score
    Home Team Reference
    Home Team SR Id
    Home Team Strength
    Official Flag
    On Ice Players
    On Ice Team
    Period Id
    Period Number
    Period Sequence
    Updated Timestamp
    Wall Clock
    Play Details Data Points: Assist Strength
    Assist Type
    Assist Zone
    Attempt Blocked Strength
    Attempt Blocked Zone
    Block Strength
    Block Zone
    Faceoffs Strength
    Faceoffs Win Flag
    Faceoffs Zone
    Giveaway Strength
    Giveaway Zone
    Hits Hittee Strength
    Hits Hittee Zone
    Hits Hitter Strength
    Hits Hitter Zone
    Missed Shot Penalty Flag
    Missed Shot Shootout Flag
    Missed Shot Strength
    Missed Shot Zone
    Penalty Minutes
    Penalty Severity
    Penalty Strength
    Penalty Drawn Minutes
    Penalty Drawn Severity
    Penalty Drawn Strength
    Penalty Served Minutes
    Penalty Served Severity
    Penalty Served Strength
    Shot Awarded Flag
    Shot Goal Flag
    Shot Penalty Flag
    Shot Shootout Flag
    Shot Strength
    Shot Zone
    Shot Against Awarded Flag
    Shot Against Goal Flag
    Shot Against Penalty Flag
    Shot Against Saved Flag
    Shot Against Shootout Flag
    Shot Against Strength
    Shot Against Zone
    Takeaway Strength
    Takeaway Zone
    Player Data Points: Full Name
    Id
    Jersey Number
    Reference
    SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/pbp.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", "/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/pbp.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/pbp.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Play-By-Play feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/pbp.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Game Play-By-Play use the following URL. https://feed.elasticstats.com/schema/hockey/pbp-v3.0.xsd Return to top ## Game Shot Zones Provides goals, shots, saves, shooting percentage, shots faced, total shot attempts, and other game statistics for players in each zone.
    Update Frequency: Realtime
    TTL / Cache: Live - 2s
    Non-Live - 120s
    Note: This endpoint will update to a 2s TTL (time to live) upon a game moving to inprogress. Upon closed, it will transfer to 120s.
    Content Type: XML or JSON
    Boxscore Data Points: Actual End Time
    Actual Start Time
    Attendance
    Away Team Flag
    Away Team Game Score
    Away Team Id
    Away Team Market
    Away Team Name
    Away Team Overtime Points
    Away Team Period Score
    Away Team Reference
    Away Team Shootout Points
    Away Team SR Id
    Away Team Strength
    Duration (in game time)
    Clock
    Game Officials Assignment
    Game Officials Experience
    Game Officials First Name
    Game Officials Full Name
    Game Officials Id
    Game Officials Last Name
    Game Officials Number
    Game Officials Reference
    Period
    Home Team Flag
    Home Team Game Score
    Home Team Id
    Home Team Market
    Home Team Name
    Home Team Overtime Points
    Home Team Period Score
    Home Team Reference
    Home Team Shootout Points
    Home Team SR Id
    Home Team Strength
    Lineups Played
    Lineups Scratched
    Lineups Starter
    Overtime Number
    Overtime Sequence
    Period Number
    Period Sequence
    Shootout Number
    Shootout Sequence
    Game Data Points: Away Team Id
    Coverage
    Entry Mode
    Home Team Id
    Id
    Reference
    Scheduled Date And Time
    SR Id
    Status
    Title
    Player Danger Zone Data Points: Blocked Attempts
    Goals
    Goals Against
    Missed Shots
    Name
    Saves
    Saves Percentage
    Shooting Percentage
    Shot Attempts
    Shots
    Shots Against
    Player Shot Zone Data Points: Blocked Attempts
    Blocked Attempts per Game
    Goals
    Goals Against
    Goals Against per Game
    Goals per Game
    Missed Shots
    Missed Shots per Game
    Name
    Saves
    Saves per Game
    Saves Percentage
    Shooting Percentage
    Shot Attempts
    Shots
    Shots Against
    Shots Against per Game
    Shots per Game
    Player Data Points: Captain Flag
    Dominant Hand
    First Name
    Full Name
    Id
    Injuries Comment
    Injuries Description
    Injuries Id
    Injuries Start Date
    Injuries Status
    Injuries Update Date
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/shot_zones.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", "/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/shot_zones.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/shot_zones.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Game Shot Zones feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/shot_zones.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Game Shot Zones use the following URL. https://feed.elasticstats.com/schema/hockey/game-v6.0.xsd Return to top ## Game Summary Top-level boxscore information with detailed team and player levels game stats.
    Update Frequency: Realtime
    TTL / Cache: Live - 2s
    Non-Live - 120s
    Note: This endpoint will update to a 2s TTL (time to live) upon a game moving to inprogress. Upon closed, it will transfer to 120s.
    Content Type: XML or JSON
    Boxscore Data Points: Actual End Time
    Actual Start Time
    Attendance
    Away Team Alias
    Away Team Flag
    Away Team Game Score
    Away Team Id
    Away Team Market
    Away Team Name
    Away Team Overtime Points
    Away Team Period Score
    Away Team Reference
    Away Team Shootout Points
    Away Team SR Id
    Away Team Strength
    Duration (in game time)
    Clock
    Game Officials Assignment
    Game Officials Experience
    Game Officials First Name
    Game Officials Full Name
    Game Officials Id
    Game Officials Last Name
    Game Officials Number
    Game Officials Reference
    Period
    Home Team Alias
    Home Team Flag
    Home Team Game Score
    Home Team Id
    Home Team Market
    Home Team Name
    Home Team Overtime Points
    Home Team Period Score
    Home Team Reference
    Home Team Shootout Points
    Home Team SR Id
    Home Team Strength
    Lineups Played
    Lineups Scratched
    Lineups Starter
    Overtime Number
    Overtime Sequence
    Period Id
    Period Number
    Period Sequence
    Period Type
    Shootout Number
    Shootout Sequence
    Game Data Points: Away Team Id
    Coverage
    Entry Mode
    Home Team Id
    Id
    Reference
    Scheduled Date And Time
    SR Id
    Status
    Title
    Player Game Statistics Data Points: Assists
    Average Time on Ice
    Blocked Attempts
    Blocked Shots
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Win Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Even Strength Time on Ice
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goal Flag
    Giveaways
    Goals
    Hits
    Missed Shots
    Overtime Assists
    Overtime Goals
    Overtime Shots
    Overtime Time on Ice
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalty Goals
    Penalty Minutes
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Power Play Assists
    Power Play Faceoff Win Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Shots on Goal
    Power Play Time on Ice
    Shifts
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Win Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Missed Shots
    Short Handed Shots on Goal
    Short Handed Time on Ice
    Shots on Goal
    Takeaways
    Total Time on Ice
    Player Goaltending Game Statistics Data Points: Credit
    Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Outcome
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shutout
    Team Game Statistics Data Points: 3v3 Goals
    3v3 Shots on Goal
    3v4 Goals
    3v4 Shots on Goal
    3v5 Goals
    3v5 Shots on Goal
    4v3 Goals
    4v3 Opportunities
    4v3 Shots on Goal
    4v3 Time
    4v4 Goals
    4v4 Shots on Goal
    4v5 Goals
    4v5 Shots on Goal
    5v3 Goals
    5v3 Opportunities
    5v3 Shots on Goal
    5v3 Time
    5v4 Goals
    5v4 Opportunities
    5v4 Shots on Goal
    5v4 Time
    5v5 Goals
    5v5 Shots on Goal
    Assists
    Blocked Attempts
    Blocked Shots
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Winning Percentage
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Even Strength Type
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goal Flag
    Giveaways
    Goals
    Hits
    Missed Shots
    Overtime Assists
    Overtime Goals
    Overtime Shots
    Overtime Time on Ice
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalty Goals
    Penalty Minutes
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Power Plays
    Power Play Assists
    Power Play Faceoff Winning Percentage
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Opportunities
    Power Play Shots on Goal
    Power Play Type
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Winning Percentage
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Missed Shots
    Short Handed Shots on Goal
    Short Handed Type
    Shots on Goal
    Takeaways
    Team Penalties
    Team Penalty Minutes
    Team Goaltending Statistics Data Points: Credit
    Empty Net Even Strength Goals Against
    Empty Net Goals Against
    Empty Net Power Play Goals Against
    Empty Net Short Handed Goals Against
    Empty Net Shots Against
    Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shutout
    Total Goals Against
    Total Shots Against
    Total Time on Ice
    Player Period Statistics Data Points: Assists
    Blocked Attempts
    Blocked Shots
    Even Strength Assists
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Giveaways
    Goals
    Hits
    Missed Shots
    Penalties
    Penalty Goals
    Penalty Minutes
    Penalty Missed Shots
    Penalty Shots on Goal
    Points
    Power Play Assists
    Power Play Goals
    Power Play Missed Shots
    Power Play Shots on Goal
    Shifts
    Shooting Percentage
    Short Handed Assists
    Short Handed Goals
    Short Handed Missed Shots
    Short Handed Shots on Goal
    Shots on Goal
    Takeaways
    Player Goaltending Period Data Points: Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Player Data Points: Captain Flag
    Dominant Hand
    First Name
    Full Name
    Id
    Injuries Comment
    Injuries Description
    Injuries Id
    Injuries Start Date
    Injuries Status
    Injuries Update Date
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/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", "/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/summary.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/games/f4b120a2-649c-4854-b519-b84414eb5e43/summary.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Game Summary feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/summary.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Game Summary use the following URL. https://feed.elasticstats.com/schema/hockey/game-v6.0.xsd Return to top ## Game Time On Ice Time on ice totals for every player for a given game, including detailed shift information.
    Update Frequency: Realtime
    TTL / Cache: Live - 2s
    Non-Live - 120s
    Note: This endpoint will update to a 2s TTL (time to live) upon a game moving to inprogress. Upon closed, it will transfer to 120s.
    Content Type: XML or JSON
    Boxscore Data Points: Actual End Time
    Actual Start Time
    Attendance
    Away Team Game Score
    Away Team Id
    Away Team Market
    Away Team Name
    Away Team Reference
    Away Team SR Id
    Duration (in game time)
    Clock
    Period
    Home Team Game Score
    Home Team Id
    Home Team Market
    Home Team Name
    Home Team Reference
    Home Team SR Id
    Period Id
    Period Number
    Period Sequence
    Period Type
    Game Data Points: Away Team Id
    Coverage
    Entry Mode
    Home Team Id
    Id
    Reference
    Scheduled Date And Time
    SR Id
    Status
    Title
    Player Data Points: Full Name
    Id
    Jersey Number
    Position
    Reference
    SR Id
    Player Time On Ice Game Data Points: 3v4 Time on Ice
    3v5 Time on Ice
    4v3 Time on Ice
    4v5 Time on Ice
    5v3 Time on Ice
    5v4 Time on Ice
    Average Time on Ice
    Even Strength Time on Ice
    Power Play Time on Ice
    Power Play Type
    Shifts
    Short Handed Time on Ice
    Short Handed Type
    Total Time on Ice
    Player Time On Ice Period Data Points: Average Time On Ice
    Even Strength Time On Ice
    Power Play Time On Ice
    Shifts
    Shifts Duration
    Shifts End Time
    Shifts Number
    Shifts Start Time
    Short Handed Time On Ice
    Total Time On Ice
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/games/df8ac1e6-c278-4160-9dc8-d59bf8d8ca2c/time_on_ice.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", "/nhl/trial/v7/en/games/df8ac1e6-c278-4160-9dc8-d59bf8d8ca2c/time_on_ice.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/games/df8ac1e6-c278-4160-9dc8-d59bf8d8ca2c/time_on_ice.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Game Time On Ice feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/time_on_ice.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Game Time On Ice use the following URL. https://feed.elasticstats.com/schema/hockey/time-on-ice-v3.0.xsd Return to top ## Injuries Information concerning all active player injuries for all teams within the league.
    TTL / Cache: 300 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Alias Id Name
    Player Data Points: Dominant Hand
    First Name
    Full Name
    High School
    Id
    Injuries Comment
    Injuries Description
    Injuries Id
    Injuries Start Date
    Injuries Status
    Injuries Update Date
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/league/injuries.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", "/nhl/trial/v7/en/league/injuries.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/league/injuries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Injuries feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/league/injuries.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Injuries use the following URL. https://feed.elasticstats.com/schema/hockey/injuries-v2.0.xsd Return to top ## League Hierarchy Provides top-level information for each team, including conference and division distinction, and venue information.
    TTL / Cache: 300 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Alias
    Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Id
    Name
    Team Data Points: Alias
    Id
    Market
    Name
    Reference
    SR Id
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/league/hierarchy.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", "/nhl/trial/v7/en/league/hierarchy.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/league/hierarchy.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the League Hierarchy feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/league/hierarchy.`{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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for League Hierarchy use the following URL. https://feed.elasticstats.com/schema/hockey/nhl/hierarchy-v2.0.xsd Return to top ## League Leaders - Goaltending NHL leader information for various goaltending categories including full player seasonal statistics for each player in each category.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Season Id Season Type Season Year
    Player Goaltending League Leader Data Points: Category Name
    Category Type
    Games Played
    Goals Against
    Goals Against per Game
    Losses
    Overtime Losses
    Player Rank
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shutouts
    Stat Category
    Tied Flag
    Wins
    Player Data Points: First Name
    Full Name
    Id
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Player Goaltending Seasonal Statistics Data Points: Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Goals Against Average
    Goals Against per Game
    Losses
    Overtime Losses
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shots Against per Game
    Shutouts
    Wins
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/leaders/goaltending.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", "/nhl/trial/v7/en/seasons/2015/REG/leaders/goaltending.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/leaders/goaltending.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the League Leaders - Goaltending feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/leaders/goaltending.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Preseason (PRE), Regular Season (REG), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for League Leaders Goaltending use the following URL. https://feed.elasticstats.com/schema/hockey/statistics-v4.0.xsd Return to top ## League Leaders - Skaters NHL leader information for various skater categories including full player seasonal statistics for each player in each category.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Season Id Season Type Season Year
    Player Skater League Leader Data Points: Assists
    Category Name
    Category Type
    Faceoffs Won
    Game Winning Goals
    Games Played
    Goals
    Goals per Game
    Player Rank
    Plus/Minus
    Points
    Points per Game
    Power Play Assists
    Power Play Goals
    Power Play Points
    Power Play Shots on Goal
    Shootout Goals
    Short Handed Assists
    Short Handed Goals
    Short Handed Points
    Short Handed Shots on Goal
    Shots on Goal
    Stat Category
    Tied Flag
    Player Data Points: First Name
    Full Name
    Id
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Player Skater Seasonal Statistics Data Points: Assists
    Assists per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocked Shots
    Blocked Shots per Game
    Even Strength Assists
    Even Strength Faceoff Win Pct
    Even Strength Faceoff Winning Percentage
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goals
    Games Played
    Games Scratched
    Games Started
    Giveaways
    Giveaways per Game
    Goals
    Goals per Game
    Hits
    Hits per Game
    Missed Shots
    Missed Shots per Game
    Overtime Goals
    Penalties
    Penalties per Game
    Penalty Goals
    Penalty Minutes
    Penalty Minutes per Game
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Points per Game
    Power Play Assists
    Power Play Faceoff Win Pct
    Power Play Faceoff Winning Percentage
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Points
    Power Play Shots on Goal
    Shifts
    Shifts per Game
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Win Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Missed Shots
    Short Handed Shots on Goal
    Shots on Goal
    Shots on Goal per Game
    Stars - First Star
    Stars - Second Star
    Stars - Third Star
    Takeaways
    Takeaways per Game
    Total Time on Ice
    Total Time on Ice per Game
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/leaders/offense.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", "/nhl/trial/v7/en/seasons/2015/REG/leaders/offense.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/leaders/offense.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the League Leaders - Skaters feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/leaders/offense.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Preseason (PRE), Regular Season (REG), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for League Leaders Skaters use the following URL. https://feed.elasticstats.com/schema/hockey/statistics-v4.0.xsd Return to top ## League Leaders - Daily NHL daily league leader information for various skater and goaltending categories including points, goals, and plus/minus.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Season Id Season Type Season Year
    Player League Leader Data Points: Assists
    Category Type
    Game Winning Goals
    Games Played
    Goals
    Hits
    Leaders Date
    Penalties Minutes
    Plus/Minus
    Points
    Power Play Goals
    Rank
    Shorthanded Goals
    Shots
    Player Data Points: Full Name
    Id
    Jersey Number
    Reference
    SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2017/REG/2017/10/28/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", "/nhl/trial/v7/en/seasons/2017/REG/2017/10/28/leaders.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2017/REG/2017/10/28/leaders.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the League Leaders - Daily feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/`{year}`/`{month}`/`{day}`/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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Preseason (PRE), Regular Season (REG), or Postseason (PST). | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for League Leaders daily use the following URL. https://feed.elasticstats.com/schema/hockey/leaders-v3.0.xsd Return to top ## League Leaders - Seasonal NHL seasonal league leader information for various skater and goaltending categories including points, goals, and plus/minus.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Season Id Season Type Season Year
    Player League Leader Data Points: Assists
    Category Type
    Game Winning Goals
    Games Played
    Goals
    Hits
    Leaders Date
    Penalties Minutes
    Plus/Minus
    Points
    Power Play Goals
    Rank
    Shorthanded Goals
    Shots
    Player Data Points: Full Name
    Id
    Jersey Number
    Reference
    SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2017/REG/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", "/nhl/trial/v7/en/seasons/2017/REG/leaders.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2017/REG/leaders.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the League Leaders - Seasonal feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Preseason (PRE), Regular Season (REG), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for League Leaders seasonal use the following URL. https://feed.elasticstats.com/schema/hockey/leaders-v3.0.xsd Return to top ## Player Profile Provides player biographical information, draft information, and seasonal statistics.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Alias
    Id
    Name
    Season Id
    Season Type
    Season Year
    Player Data Points: Abbreviated Name
    Birth Date
    Birth Place
    College
    Dominant Hand
    Draft Pick
    Draft Round
    Draft Team
    Draft Year
    Experience
    First Name
    Full Name
    Height (in)
    Id
    High School
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    Rookie Year
    SR Id
    Status
    Update Date
    Weight (lbs)
    Player Seasonal Statistics Data Points: Assists
    Assists per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocked Shots
    Blocked Shots per Game
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Win Pct
    Even Strength Faceoff Winning Percentage
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goals
    Games Played
    Games Scratched
    Games Started
    Giveaways
    Giveaways per Game
    Goals
    Goals per Game
    Hits
    Hits per Game
    Missed Shots
    Missed Shots per Game
    Overtime Assists
    Overtime Goals
    Overtime Shots
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalties per Game
    Penalty Goals
    Penalty Minutes
    Penalty Minutes per Game
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Points per Game
    Power Play Assists
    Power Play Faceoff Win Pct
    Power Play Faceoff Winning Percentage
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Points
    Power Play Shots on Goal
    Power Plays
    Shifts
    Shifts per Game
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Win Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Missed Shots
    Short Handed Shots on Goal
    Shots on Goal
    Shots on Goal per Game
    Stars - First Star
    Stars - Second Star
    Stars - Third Star
    Takeaways
    Takeaways per Game
    Total Even Strength
    Total Even Strength per Game
    Total Overtime
    Total Overtime per Game
    Total Powerplay
    Total Powerplay per Game
    Total Short Handed per Game
    Total Time on Ice
    Total Time on Ice per Game
    Player Seasonal Goaltending Statistics Data Points: Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Goals Against Average
    Goals Against per Game
    Losses
    Overtime Losses
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shots Against per Game
    Shutouts
    Wins
    Team Data Points: Alias
    Id
    Market
    Name
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/players/42a966db-0f24-11e2-8525-18a905767e44/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", "/nhl/trial/v7/en/players/42a966db-0f24-11e2-8525-18a905767e44/profile.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/players/42a966db-0f24-11e2-8525-18a905767e44/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.us/nhl/`{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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `player_id` | ID for a given player. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Player Profile use the following URL. https://feed.elasticstats.com/schema/hockey/profile-v7.0.xsd Return to top ## Rankings Conference and division rank for each team, including post season clinching status.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Alias
    Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Id
    Name
    Season Id
    Season Type
    Season Year
    Standings Data Points: Conference Rank
    Division Rank
    Playoff Status Rank Wildcard
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/rankings.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", "/nhl/trial/v7/en/seasons/2015/REG/rankings.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/rankings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Rankings feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/rankings.`{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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Regular Season (REG). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Rankings use the following URL. https://feed.elasticstats.com/schema/hockey/nhl/rankings-v2.0.xsd Return to top ## Schedule Date, time, location, and other event details for every match-up taking place in the full league season.
    TTL / Cache: 10 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Game Data Points: Away Team Alias
    Away Team Id
    Away Team Name
    Away Team Points
    Away Team Reference
    Away Team Seeding
    Away Team SR Id
    Broadcast Cable
    Broadcast Internet
    Broadcast Network
    Broadcast Radio
    Broadcast Satellite
    Coverage
    Home Team Alias
    Home Team Id
    Home Team Name
    Home Team Points
    Home Team Reference
    Home Team Seeding
    Home Team SR Id
    Id
    Reference
    Scheduled Date and Time
    SR Id
    Status
    Title
    League Data Points: Alias
    Id
    Name
    Season Id
    Season Type
    Season Year
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/games/2016/REG/schedule.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nhl/trial/v7/en/games/2016/REG/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/games/2016/REG/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Schedule feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/games/`{season_year}`/`{nhl_season}`/schedule.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Preseason (PRE), Regular Season (REG), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Schedule use the following URL. https://feed.elasticstats.com/schema/hockey/schedule-v6.0.xsd Return to top ## Seasonal Analytics Detailed team and player analytics for a given team and season, including corsi, fenwick, on ice shots, and shots by type.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Season Id Season Type Season Year
    Player Data Points: First Name
    Full Name
    Id
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Opponent Seasonal Analytics Data Points: Average Shot Distance per Game
    Backhand Shot Goals per Game
    Backhand Shot Shots per Game
    Corsi Against per Game
    Corsi For per Game
    Corsi Percentage
    Corsi Total
    Fenwick Against per Game
    Fenwick For per Game
    Fenwick Percentage
    Fenwick Total
    Games Played Total
    On Ice Shots Against per Game
    On Ice Shots Differential
    On Ice Shots For per Game
    On Ice Shots Percentage
    PDO
    Slap Shot Goals per Game
    Slap Shot Shots per Game
    Snap Shot Goals per Game
    Snap Shot Shots per Game
    Tip Shot Goals per Game
    Tip Shot Shots per Game
    Wrap Around Shot Goals per Game
    Wrap Around Shot Shots per Game
    Wrist Shot Goals per Game
    Wrist Shot Shots per Game
    Player Seasonal Analytics Data Points: Backhand Shot Goals per Game
    Backhand Shot Shots per Game
    Corsi Percentage
    Corsi Total
    Defensive Zone Starts per Game
    Fenwick Percentage
    Fenwick Total
    Games Played Total
    Neutral Zone Starts per Game
    Offensive Zone Starts per Game
    On Ice Shots Differential
    On Ice Shots Percentage
    Slap Shot Goals per Game
    Slap Shot Shots per Game
    Snap Shot Goals per Game
    Snap Shot Shots per Game
    Tip Shot Goals per Game
    Tip Shot Shots per Game
    Wrap Around Shot Goals per Game
    Wrap Around Shot Shots per Game
    Wrist Shot Goals per Game
    Wrist Shot Shots per Game
    Team Season Analytics Data Points: Average Shot Distance per Game
    Backhand Shot Goals per Game
    Backhand Shot Shots per Game
    Corsi Against per Game
    Corsi For per Game
    Corsi Percentage
    Corsi Total
    Fenwick Against per Game
    Fenwick For per Game
    Fenwick Percentage
    Fenwick Total
    Games Played Total
    On Ice Shots Against per Game
    On Ice Shots Differential
    On Ice Shots For per Game
    On Ice Shots Percentage
    PDO
    Slap Shot Goals per Game
    Slap Shot Shots per Game
    Snap Shot Goals per Game
    Snap Shot Shots per Game
    Tip Shot Goals per Game
    Tip Shot Shots per Game
    Wrap Around Shot Goals per Game
    Wrap Around Shot Shots per Game
    Wrist Shot Goals per Game
    Wrist Shot Shots per Game
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/teams/4416091c-0f24-11e2-8525-18a905767e44/analytics.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", "/nhl/trial/v7/en/seasons/2015/REG/teams/4416091c-0f24-11e2-8525-18a905767e44/analytics.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/teams/4416091c-0f24-11e2-8525-18a905767e44/analytics.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Seasonal Analytics feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/teams/`{team_id}`/analytics.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Regular Season (REG), or Postseason (PST). | | `team_id` | ID for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Seasonal Analytics use the following URL. https://feed.elasticstats.com/schema/hockey/analytics-v6.0.xsd Return to top ## Seasonal Faceoffs Detailed face-off information for teams and players, including period, zone, and strength breakdowns, for a given team and season.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Season Opponent Faceoff Data Points: Even Strength Faceoff Winning Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Power Play Faceoff Winning Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Short Handed Faceoff Winning Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Season Player Faceoff Data Points: 3v3 Faceoff Winning Pct
    3v3 Faceoffs
    3v3 Faceoffs Lost
    3v3 Faceoffs Won
    3v4 Faceoff Winning Pct
    3v4 Faceoffs
    3v4 Faceoffs Lost
    3v4 Faceoffs Won
    3v5 Faceoff Winning Pct
    3v5 Faceoffs
    3v5 Faceoffs Lost
    3v5 Faceoffs Won
    4v3 Faceoff Winning Pct
    4v3 Faceoffs
    4v3 Faceoffs Lost
    4v3 Faceoffs Won
    4v4 Faceoff Winning Pct
    4v4 Faceoffs
    4v4 Faceoffs Lost
    4v4 Faceoffs Won
    4v5 Faceoff Winning Pct
    4v5 Faceoffs
    4v5 Faceoffs Lost
    4v5 Faceoffs Won
    5v3 Faceoff Winning Pct
    5v3 Faceoffs
    5v3 Faceoffs Lost
    5v3 Faceoffs Won
    5v4 Faceoff Winning Pct
    5v4 Faceoffs
    5v4 Faceoffs Lost
    5v4 Faceoffs Won
    5v5 Faceoff Winning Pct
    5v5 Faceoffs
    5v5 Faceoffs Lost
    5v5 Faceoffs Won
    Defensive Zone Faceoff Winning Pct
    Defensive Zone Faceoffs
    Defensive Zone Faceoffs Lost
    Defensive Zone Faceoffs Won
    Even Strength Faceoff Winning Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Type
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Neutral Zone Faceoff Winning Pct
    Neutral Zone Faceoffs
    Neutral Zone Faceoffs Lost
    Neutral Zone Faceoffs Won
    Offensive Zone Faceoff Winning Pct
    Offensive Zone Faceoffs
    Offensive Zone Faceoffs Lost
    Offensive Zone Faceoffs Won
    Power Play Faceoff Winning Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Type
    Short Handed Faceoff Winning Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Type
    Season Team Faceoff Data Points: Even Strength Faceoff Winning Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Power Play Faceoff Winning Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Short Handed Faceoff Winning Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    League Data Points: Season Id Season Type Season Year
    Player Data Points: First Name
    Full Name
    Id
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2013/REG/teams/44151f7a-0f24-11e2-8525-18a905767e44/faceoffs.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", "/nhl/trial/v7/en/seasons/2013/REG/teams/44151f7a-0f24-11e2-8525-18a905767e44/faceoffs.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2013/REG/teams/44151f7a-0f24-11e2-8525-18a905767e44/faceoffs.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Seasonal Faceoffs feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/teams/`{team_id}`/faceoffs.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Regular Season (REG), or Postseason (PST). | | `team_id` | ID of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Seasonal Faceoffs use the following URL. https://feed.elasticstats.com/schema/hockey/faceoffs-v3.0.xsd Return to top ## Seasonal Shot Zones Provides goals, shots, saves, shooting percentage, shots faced, total shot attempts, and other seasonal statistics for a player in each zone.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Alias
    Id
    Name
    Season Id
    Season Type
    Season Year
    Player Data Points: Abbreviated name
    Birth Date
    Birth Place
    Captain Flag
    College
    Dominant Hand
    Draft Pick
    Draft Round
    Draft Team
    Draft Year
    Experience
    First Name
    Full Name
    Height (in)
    Id
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Status
    Update Date
    Weight (lbs)
    Player Seasonal Danger Zone Data Points: Blocked Attempts
    Blocked Attempts per Game
    Goals
    Goals Against
    Goals Against per Game
    Goals per Game
    Missed Shots
    Missed Shots per Game
    Name
    Saves
    Saves per Game
    Saves Percentage
    Shooting Percentage
    Shot Attempts
    Shots
    Shots Against
    Shots Against per Game
    Shots per Game
    Player Seasonal Shot Zone Data Points: Blocked Attempts
    Blocked Attempts per Game
    Goals
    Goals Against
    Goals Against per Game
    Goals per Game
    Missed Shots
    Missed Shots per Game
    Name
    Saves
    Saves per Game
    Saves Percentage
    Shooting Percentage
    Shot Attempts
    Shots
    Shots Against
    Shots Against per Game
    Shots per Game
    Team Data Points: Alias
    Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/players/42a966db-0f24-11e2-8525-18a905767e44/shot_zones.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", "/nhl/trial/v7/en/players/42a966db-0f24-11e2-8525-18a905767e44/shot_zones.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/players/42a966db-0f24-11e2-8525-18a905767e44/shot_zones.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Seasonal Shot Zones feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/players/`{player_id}`/shot_zones.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `player_id` | ID for a given player. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Seasonal Shot Zones use the following URL. https://feed.elasticstats.com/schema/hockey/shot-zones-v6.0.xsd Return to top ## Seasonal Statistics (Season To Date) Detailed team and player statistics for a given team and season.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Season Id Season Type Season Year
    Player Data Points: First Name
    Full Name
    Id
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Opponent Seasonal Statistics Data Points: 3v3 Goals
    3v3 Shots on Goal
    3v4 Goals
    3v4 Shots on Goal
    3v5 Goals
    3v5 Shots on Goal
    4v3 Goals
    4v3 Opportunities
    4v3 Shots on Goal
    4v4 Goals
    4v4 Shots on Goal
    4v5 Goals
    4v5 Shots on Goal
    5v3 Goals
    5v3 Opportunities
    5v3 Shots on Goal
    5v4 Goals
    5v4 Opportunities
    5v4 Shots on Goal
    5v5 Goals
    5v5 Shots on Goal
    Assists
    Assists per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocked Shots
    Blocked Shots per Game
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Winning Percentage
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Even Strength Type
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goals
    Games Played
    Giveaways
    Giveaways per Game
    Goals
    Goals per Game
    Hits
    Hits per Game
    Missed Shots
    Missed Shots per Game
    Overtime Assists
    Overtime Goals
    Overtime Shots
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalties per Game
    Penalty Goals
    Penalty Minutes
    Penalty Minutes per Game
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Points per Game
    Power Play Assists
    Power Play Faceoff Winning Percentage
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Opportunities
    Power Play Percentage
    Power Play Shots on Goal
    Power Play Type
    Power Plays
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Winning Percentage
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Goals Against
    Short Handed Kill Percentage
    Short Handed Missed Shots
    Short Handed Opportunities
    Short Handed Shots on Goal
    Short Handed Type
    Shots on Goal
    Shots on Goal per Game
    Stars - First Star
    Stars - Second Star
    Stars - Third Star
    Takeaways
    Takeaways per Game
    Team Penalties
    Team Penalties per Game
    Team Penalty Minutes
    Team Penalty Minutes per Game
    Opponent Goaltending Seasonal Statistics Data Points: Empty Net Even Strength Goals Against
    Empty Net Goals Against
    Empty Net Power Play Goals Against
    Empty Net Short Handed Goals Against
    Empty Net Shots Against
    Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Goals Against per Game
    Losses
    Overtime Losses
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shots Against per Game
    Shutouts
    Total Goals Against
    Total Shots Against
    Wins
    Player Seasonal Statistics Data Points: Assists
    Assists per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocked Shots
    Blocked Shots per Game
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Win Pct
    Even Strength Faceoff Winning Percentage
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goals
    Games Played
    Games Scratched
    Games Started
    Giveaways
    Giveaways per Game
    Goals
    Goals per Game
    Hits
    Hits per Game
    Missed Shots
    Missed Shots per Game
    Overtime Assists
    Overtime Goals
    Overtime Shots
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalties per Game
    Penalty Goals
    Penalty Minutes
    Penalty Minutes per Game
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Points per Game
    Power Play Assists
    Power Play Faceoff Win Pct
    Power Play Faceoff Winning Percentage
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Points
    Power Play Shots on Goal
    Power Plays
    Shifts
    Shifts per Game
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Win Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Missed Shots
    Short Handed Shots on Goal
    Shots on Goal
    Shots on Goal per Game
    Takeaways
    Takeaways per Game
    Total Even Strength
    Total Even Strength per Game
    Total Overtime
    Total Overtime per Game
    Total Power Play
    Total Power Play per Game
    Total Short Handed
    Total Short Handed per Game
    Total Time on Ice
    Total Time on Ice per Game
    Player Goaltending Seasonal Statistics Data Points: Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Goals Against Average
    Goals Against per Game
    Losses
    Overtime Losses
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shots Against per Game
    Shutouts
    Wins
    Team Season Statistics Data Points: 3v3 Goals
    3v3 Shots on Goal
    3v4 Goals
    3v4 Shots on Goal
    3v5 Goals
    3v5 Shots on Goal
    4v3 Goals
    4v3 Opportunities
    4v3 Shots on Goal
    4v4 Goals
    4v4 Shots on Goal
    4v5 Goals
    4v5 Shots on Goal
    5v3 Goals
    5v3 Opportunities
    5v3 Shots on Goal
    5v4 Goals
    5v4 Opportunities
    5v4 Shots on Goal
    5v5 Goals
    5v5 Shots on Goal
    Assists
    Assists per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocked Shots
    Blocked Shots per Game
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Winning Percentage
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Even Strength Type
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goals
    Games Played
    Giveaways
    Giveaways per Game
    Goals
    Goals per Game
    Hits
    Hits per Game
    Missed Shots
    Missed Shots per Game
    Overtime Assists
    Overtime Goals
    Overtime Shots
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalties per Game
    Penalty Goals
    Penalty Minutes
    Penalty Minutes per Game
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Points per Game
    Power Play Assists
    Power Play Faceoff Winning Percentage
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Opportunities
    Power Play Percentage
    Power Play Shots on Goal
    Power Play Type
    Power Plays
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Winning Percentage
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Goals Against
    Short Handed Kill Percentage
    Short Handed Missed Shots
    Short Handed Opportunities
    Short Handed Shots on Goal
    Short Handed Type
    Shots on Goal
    Shots on Goal per Game
    Takeaways
    Takeaways per Game
    Team Penalties
    Team Penalties per Game
    Team Penalty Minutes
    Team Penalty Minutes per Game
    Team Goaltending Seasonal Statistics Data Points: Empty Net Even Strength Goals Against
    Empty Net Goals Against
    Empty Net Power Play Goals Against
    Empty Net Short Handed Goals Against
    Empty Net Shots Against
    Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Goals Against per Game
    Losses
    Overtime Losses
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shots Against per Game
    Shutouts
    Total Goals Against
    Total Shots Against
    Total Time on Ice
    Wins
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/teams/4416091c-0f24-11e2-8525-18a905767e44/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", "/nhl/trial/v7/en/seasons/2015/REG/teams/4416091c-0f24-11e2-8525-18a905767e44/statistics.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/teams/4416091c-0f24-11e2-8525-18a905767e44/statistics.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Seasonal Statistics feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/teams/`{team_id}`/statistics.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Regular Season (REG), or Postseason (PST). | | `team_id` | ID for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Seasonal Statistics use the following URL. https://feed.elasticstats.com/schema/hockey/statistics-v4.0.xsd Return to top ## Seasons Provides a list of all available seasons.
    TTL / Cache: 300 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Season End Date
    Season Id
    Season Name
    Season Start Date
    Season Status
    Season Type
    Season Year
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/league/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", "/nhl/trial/v7/en/league/seasons.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/league/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.us/nhl/`{access_level}`/`{version}`/`{language_code}`/league/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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Seasons use the following URL. https://feed.elasticstats.com/schema/hockey/seasons-v6.0.xsd Return to top ## Series Faceoffs Detailed face-off information for teams and players for a given series, including period, zone, and strength breakdowns.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Series Opponent Faceoff Data Points: Even Strength Faceoff Winning Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Power Play Faceoff Winning Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Short Handed Faceoff Winning Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Series Player Faceoff Data Points: 3v3 Faceoff Winning Pct
    3v3 Faceoffs
    3v3 Faceoffs Lost
    3v3 Faceoffs Won
    3v4 Faceoff Winning Pct
    3v4 Faceoffs
    3v4 Faceoffs Lost
    3v4 Faceoffs Won
    3v5 Faceoff Winning Pct
    3v5 Faceoffs
    3v5 Faceoffs Lost
    3v5 Faceoffs Won
    4v3 Faceoff Winning Pct
    4v3 Faceoffs
    4v3 Faceoffs Lost
    4v3 Faceoffs Won
    4v4 Faceoff Winning Pct
    4v4 Faceoffs
    4v4 Faceoffs Lost
    4v4 Faceoffs Won
    4v5 Faceoff Winning Pct
    4v5 Faceoffs
    4v5 Faceoffs Lost
    4v5 Faceoffs Won
    5v3 Faceoff Winning Pct
    5v3 Faceoffs
    5v3 Faceoffs Lost
    5v3 Faceoffs Won
    5v4 Faceoff Winning Pct
    5v4 Faceoffs
    5v4 Faceoffs Lost
    5v4 Faceoffs Won
    5v5 Faceoff Winning Pct
    5v5 Faceoffs
    5v5 Faceoffs Lost
    5v5 Faceoffs Won
    Defensive Zone Faceoff Winning Pct
    Defensive Zone Faceoffs
    Defensive Zone Faceoffs Lost
    Defensive Zone Faceoffs Won
    Even Strength Faceoff Winning Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Type
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Neutral Zone Faceoff Winning Pct
    Neutral Zone Faceoffs
    Neutral Zone Faceoffs Lost
    Neutral Zone Faceoffs Won
    Offensive Zone Faceoff Winning Pct
    Offensive Zone Faceoffs
    Offensive Zone Faceoffs Lost
    Offensive Zone Faceoffs Won
    Power Play Faceoff Winning Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Type
    Short Handed Faceoff Winning Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Type
    Series Team Faceoff Data Points: Even Strength Faceoff Winning Pct
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Power Play Faceoff Winning Pct
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Short Handed Faceoff Winning Pct
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Player Data Points: First Name
    Full Name
    Id
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Series Data Points: Id Status Title
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/series/06edf786-07a9-4ff2-a9af-138ec916cce6/teams/441781b9-0f24-11e2-8525-18a905767e44/faceoffs.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", "/nhl/trial/v7/en/series/06edf786-07a9-4ff2-a9af-138ec916cce6/teams/441781b9-0f24-11e2-8525-18a905767e44/faceoffs.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/series/06edf786-07a9-4ff2-a9af-138ec916cce6/teams/441781b9-0f24-11e2-8525-18a905767e44/faceoffs.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Series Faceoffs feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/series/`{series_id}`/teams/`{team_id}`/faceoffs.`{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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `series_id` | ID of a given series. | | `team_id` | ID of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Series Faceoffs use the following URL. https://feed.elasticstats.com/schema/hockey/faceoffs-v3.0.xsd Return to top ## Series Schedule Playoff participant information and the date, time, location, and other event details for every match-up taking place for the entire playoffs.
    TTL / Cache: 2 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Game Data Points: Away Team Alias
    Away Team Id
    Away Team Name
    Away Team Points
    Away Team Reference
    Away Team Seeding
    Away Team SR Id
    Broadcast Cable
    Broadcast Internet
    Broadcast Network
    Broadcast Radio
    Broadcast Satellite
    Coverage
    Home Team Alias
    Home Team Id
    Home Team Name
    Home Team Points
    Home Team Reference
    Home Team Seeding
    Home Team SR Id
    Id
    Reference
    Scheduled Date and Time
    SR Id
    Status
    Title
    League Data Points: Alias
    Id
    Division Seed
    Name
    Season Id
    Season Type
    Season Year
    Series Data Points: Id
    Participant Name
    Participant Record
    Participant Seed
    Round
    Source Game Id
    Source Game Title
    Source Outcome
    Source Round
    Start Date
    Status
    Title
    Team Data Points: Alias
    Id
    Market
    Name
    Reference
    SR Id
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/series/2015/PST/schedule.xml?api_key={your_api_key}") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(url) response = http.request(request) puts response.read_body ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nhl/trial/v7/en/series/2015/PST/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/series/2015/PST/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Series Schedule feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/series/`{season_year}`/`{nhl_season}`/schedule.`{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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Series Schedule use the following URL. https://feed.elasticstats.com/schema/hockey/schedule-v6.0.xsd Return to top ## Series Statistics Detailed team and player statistics for the defined series.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Player Data Points: First Name
    Full Name
    Id
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    SR Id
    Series Data Points: Id Status Title
    Opponent Series Statistics Data Points: 3v3 Goals
    3v3 Shots on Goal
    3v4 Goals
    3v4 Shots on Goal
    3v5 Goals
    3v5 Shots on Goal
    4v3 Goals
    4v3 Opportunities
    4v3 Shots on Goal
    4v4 Goals
    4v4 Shots on Goal
    4v5 Goals
    4v5 Shots on Goal
    5v3 Goals
    5v3 Opportunities
    5v3 Shots on Goal
    5v4 Goals
    5v4 Opportunities
    5v4 Shots on Goal
    5v5 Goals
    5v5 Shots on Goal
    Assists
    Assists per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocked Shots
    Blocked Shots per Game
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Winning Percentage
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Even Strength Type
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goals
    Games Played
    Giveaways
    Giveaways per Game
    Goals
    Goals per Game
    Hits
    Hits per Game
    Missed Shots
    Missed Shots per Game
    Overtime Assists
    Overtime Goals
    Overtime Shots
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalties per Game
    Penalty Goals
    Penalty Minutes
    Penalty Minutes per Game
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Points per Game
    Power Play Assists
    Power Play Faceoff Winning Percentage
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Opportunities
    Power Play Percentage
    Power Play Shots on Goal
    Power Play Type
    Power Plays
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Winning Percentage
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Goals Against
    Short Handed Kill Percentage
    Short Handed Missed Shots
    Short Handed Opportunities
    Short Handed Shots on Goal
    Short Handed Type
    Shots on Goal
    Shots on Goal per Game
    Takeaways
    Takeaways per Game
    Team Penalties
    Team Penalties per Game
    Team Penalty Minutes
    Team Penalty Minutes per Game
    Opponent Goaltending Series Statistics Data Points: Empty Net Even Strength Goals Against
    Empty Net Goals Against
    Empty Net Power Play Goals Against
    Empty Net Short Handed Goals Against
    Empty Net Shots Against
    Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Goals Against per Game
    Losses
    Overtime Losses
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shots Against per Game
    Shutouts
    Total Goals Against
    Total Shots Against
    Total Time on Ice
    Wins
    Player Series Statistics Data Points: Assists
    Assists per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocked Shots
    Blocked Shots per Game
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Winning Percentage
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goals
    Games Played
    Games Scratched
    Games Started
    Giveaways
    Giveaways per Game
    Goals
    Goals per Game
    Hits
    Hits per Game
    Missed Shots
    Missed Shots per Game
    Overtime Assists
    Overtime Goals
    Overtime Shots
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalties per Game
    Penalty Goals
    Penalty Minutes
    Penalty Minutes per Game
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Points per Game
    Power Play Assists
    Power Play Faceoff Winning Percentage
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Shots on Goal
    Power Plays
    Shifts
    Shifts per Game
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Winning Percentage
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Missed Shots
    Short Handed Shots on Goal
    Shots on Goal
    Shots on Goal per Game
    Stars - First Star
    Stars - Second Star
    Stars - Third Star
    Takeaways
    Takeaways per Game
    Total Time on Ice
    Total Time on Ice per Game
    Player Goaltending Series Statistics Data Points: Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Goals Against Average
    Goals Against per Game
    Losses
    Overtime Losses
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shots Against per Game
    Shutouts
    Wins
    Team Series Statistics Data Points: 3v3 Goals
    3v3 Shots on Goal
    3v4 Goals
    3v4 Shots on Goal
    3v5 Goals
    3v5 Shots on Goal
    4v3 Goals
    4v3 Opportunities
    4v3 Shots on Goal
    4v4 Goals
    4v4 Shots on Goal
    4v5 Goals
    4v5 Shots on Goal
    5v3 Goals
    5v3 Opportunities
    5v3 Shots on Goal
    5v4 Goals
    5v4 Opportunities
    5v4 Shots on Goal
    5v5 Goals
    5v5 Shots on Goal
    Assists
    Assists per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocked Shots
    Blocked Shots per Game
    Empty Net Goals
    Even Strength Assists
    Even Strength Faceoff Winning Percentage
    Even Strength Faceoffs
    Even Strength Faceoffs Lost
    Even Strength Faceoffs Won
    Even Strength Goals
    Even Strength Missed Shots
    Even Strength Shots on Goal
    Even Strength Type
    Faceoff Winning Percentage
    Faceoffs
    Faceoffs Lost
    Faceoffs Won
    Game Winning Goals
    Games Played
    Giveaways
    Giveaways per Game
    Goals
    Goals per Game
    Hits
    Hits per Game
    Missed Shots
    Missed Shots per Game
    Overtime Assists
    Overtime Goals
    Overtime Shots
    Penalties
    Penalties Major
    Penalties Match
    Penalties Minor
    Penalties Misconduct
    Penalties per Game
    Penalty Goals
    Penalty Minutes
    Penalty Minutes per Game
    Penalty Missed Shots
    Penalty Shots on Goal
    Plus/Minus
    Points
    Points per Game
    Power Play Assists
    Power Play Faceoff Winning Percentage
    Power Play Faceoffs
    Power Play Faceoffs Lost
    Power Play Faceoffs Won
    Power Play Goals
    Power Play Missed Shots
    Power Play Opportunities
    Power Play Percentage
    Power Play Shots on Goal
    Power Play Type
    Power Plays
    Shooting Percentage
    Shootout Goals
    Shootout Missed Shots
    Shootout Shots on Goal
    Short Handed Assists
    Short Handed Faceoff Winning Percentage
    Short Handed Faceoffs
    Short Handed Faceoffs Lost
    Short Handed Faceoffs Won
    Short Handed Goals
    Short Handed Goals Against
    Short Handed Kill Percentage
    Short Handed Missed Shots
    Short Handed Opportunities
    Short Handed Shots on Goal
    Short Handed Type
    Shots on Goal
    Shots on Goal per Game
    Takeaways
    Takeaways per Game
    Team Penalties
    Team Penalties per Game
    Team Penalty Minutes
    Team Penalty Minutes per Game
    Team Goaltending Series Statistics Data Points: Empty Net Even Strength Goals Against
    Empty Net Goals Against
    Empty Net Power Play Goals Against
    Empty Net Short Handed Goals Against
    Empty Net Shots Against
    Even Strength Goals Against
    Even Strength Save Percentage
    Even Strength Saves
    Even Strength Shots Against
    Goals Against
    Goals Against per Game
    Losses
    Overtime Losses
    Penalty Goals Against
    Penalty Save Percentage
    Penalty Saves
    Penalty Shots Against
    Power Play Goals Against
    Power Play Save Percentage
    Power Play Saves
    Power Play Shots Against
    Save Percentage
    Saves
    Shootout Goals Against
    Shootout Save Percentage
    Shootout Saves
    Shootout Shots Against
    Short Handed Goals Against
    Short Handed Save Percentage
    Short Handed Saves
    Short Handed Shots Against
    Shots Against
    Shots Against per Game
    Shutouts
    Total Goals Against
    Total Shots Against
    Total Time on Ice
    Wins
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/teams/4416091c-0f24-11e2-8525-18a905767e44/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", "/nhl/trial/v7/en/seasons/2015/REG/teams/4416091c-0f24-11e2-8525-18a905767e44/statistics.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/teams/4416091c-0f24-11e2-8525-18a905767e44/statistics.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Series Statistics feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/series/`{series_id}`/teams/`{team_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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `series_id` | ID of a given series. | | `team_id` | ID of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Series Statistics use the following URL. https://feed.elasticstats.com/schema/hockey/statistics-v4.0.xsd Return to top ## Standings Detailed team records across various views including, overall, conference, and division.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Alias
    Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Id
    Name
    Season Id
    Season Type
    Season Year
    Standings Data Points: Conference Calculated Rank
    Conference Losses
    Conference Overtime Losses
    Conference Rank
    Conference Tiebreak
    Conference Winning Percentage
    Conference Wins
    Division Calculated Rank
    Division Losses
    Division Overtime Losses
    Division Rank
    Division Tiebreak
    Division Winning Percentage
    Division Wins
    Games Played
    Goal Differential
    Goals Against
    Goals For
    Home Losses
    Home Overtime Losses
    Home Winning Percentage
    Home Wins
    Last 10 Games Losses
    Last 10 Games Overtime Losses
    Last 10 Games Winning Percentage
    Last 10 Games Wins
    Last 10 Home Games Losses
    Last 10 Home Games Overtime Losses
    Last 10 Home Games Winning Percentage
    Last 10 Home Games Wins
    Last 10 Road Games Losses
    Last 10 Road Games Overtime Losses
    Last 10 Road Games Winning Percentage
    Last 10 Road Games Wins
    Losses
    Overtime Losses
    Penalty Killing Percentage
    Points
    Points per Game
    Points Percentage
    Power Play Goals
    Power Play Goals Against
    Power Play Opportunities
    Power Play Percentage
    Power Plays Against
    Rank Wildcard
    Regulation Wins
    Road Losses
    Road Overtime Losses
    Road Winning Percentage
    Road Wins
    Shootout Losses
    Shootout Wins
    Streak
    Versus Atlantic Division Losses
    Versus Atlantic Division Overtime Losses
    Versus Atlantic Division Winning Percentage
    Versus Atlantic Division Wins
    Versus Central Division Losses
    Versus Central Division Overtime Losses
    Versus Central Division Winning Percentage
    Versus Central Division Wins
    Versus Eastern Conference Losses
    Versus Eastern Conference Overtime Losses
    Versus Eastern Conference Winning Percentage
    Versus Eastern Conference Wins
    Versus Metropolitan Division Losses
    Versus Metropolitan Division Overtime Losses
    Versus Metropolitan Division Winning Percentage
    Versus Metropolitan Division Wins
    Versus Pacific Division Losses
    Versus Pacific Division Overtime Losses
    Versus Pacific Division Winning Percentage
    Versus Pacific Division Wins
    Versus Western Conference Losses
    Versus Western Conference Overtime Losses
    Versus Western Conference Winning Percentage
    Versus Western Conference Wins
    Winning Percentage
    Wins
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/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", "/nhl/trial/v7/en/seasons/2015/REG/standings.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2015/REG/standings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Standings feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/standings.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Preseason (PRE), Regular Season (REG), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Standings use the following URL. https://feed.elasticstats.com/schema/hockey/nhl/standings-v4.0.xsd Return to top ## Team Leaders - Daily NHL daily leader information for various skater and goaltending categories, including full player seasonal statistics for each player in each category.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Season Id Season Type Season Year
    Player League Leader Data Points: Assists
    Category Type
    Game Winning Goals
    Games Played
    Goals
    Goals Against Average
    Hits
    Leaders Date
    Losses
    Minutes
    Overtime Losses
    Penalties Minutes
    Plus/Minus
    Points
    Power Play Goals
    Rank
    Save Percentage
    Shorthanded Goals
    Shots
    Shots Against
    Wins
    Player Data Points: Full Name
    Id
    Jersey Number
    Reference
    SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2017/REG/2017/10/28/teams/441862de-0f24-11e2-8525-18a905767e44/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", "/nhl/trial/v7/en/seasons/2017/REG/2017/10/28/teams/441862de-0f24-11e2-8525-18a905767e44/leaders.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2017/REG/2017/10/28/teams/441862de-0f24-11e2-8525-18a905767e44/leaders.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Team Leaders - Daily feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/`{year}`/`{month}`/`{day}`/teams/`{team_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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Regular Season (REG), or Postseason (PST). | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `team_id` | ID of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Team Leaders daily use the following URL. https://feed.elasticstats.com/schema/hockey/leaders-v3.0.xsd Return to top ## Team Leaders - Seasonal NHL seasonal leader information for various skater and goaltending categories, including full player seasonal statistics for each player in each category.
    TTL / Cache: 120 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Season Id Season Type Season Year
    Player League Leader Data Points: Assists
    Category Type
    Game Winning Goals
    Games Played
    Goals
    Goals Against Average
    Hits
    Leaders Date
    Losses
    Minutes
    Overtime Losses
    Penalties Minutes
    Plus/Minus
    Points
    Power Play Goals
    Rank
    Save Percentage
    Shorthanded Goals
    Shots
    Shots Against
    Wins
    Player Data Points: Full Name
    Id
    Jersey Number
    Reference
    SR Id
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/seasons/2017/REG/teams/441862de-0f24-11e2-8525-18a905767e44/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", "/nhl/trial/v7/en/seasons/2017/REG/teams/441862de-0f24-11e2-8525-18a905767e44/leaders.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/seasons/2017/REG/teams/441862de-0f24-11e2-8525-18a905767e44/leaders.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Team Leaders - Seasonal feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nhl_season}`/teams/`{team_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: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `season_year` | Year in 4 digit format (YYYY). | | `nhl_season` | Regular Season (REG), or Postseason (PST). | | `team_id` | ID of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Team Leaders seasonal use the following URL. https://feed.elasticstats.com/schema/hockey/leaders-v3.0.xsd Return to top ## Team Profile (Rosters) Provides top-level team information and a full roster of active players.
    TTL / Cache: 300 seconds
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: Alias
    Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Id
    Name
    Player Data Points: Abbreviated name
    Birth Date
    Birth Place
    Captain Flag
    College
    Dominant Hand
    Draft Pick
    Draft Round
    Draft Team
    Draft Year
    Experience
    First Name
    Full Name
    Height (in)
    High School
    Id
    Injuries Comment
    Injuries Description
    Injuries Id
    Injuries Start Date
    Injuries Status
    Injuries Update Date
    Jersey Number
    Last Name
    Name Suffix
    Position
    Primary Position
    Reference
    Rookie Year
    SR Id
    Status
    Update Date
    Weight (lbs)
    Team Data Points: Alias
    Coach Experience
    Coach First Name
    Coach Full Name
    Coach Id
    Coach Last Name
    Coach Position
    Id
    Market
    Name
    Reference
    SR Id
    Year Founded
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Id
    Name
    SR Id
    State
    Timezone
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/v7/en/teams/4416091c-0f24-11e2-8525-18a905767e44/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", "/nhl/trial/v7/en/teams/4416091c-0f24-11e2-8525-18a905767e44/profile.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nhl/trial/v7/en/teams/4416091c-0f24-11e2-8525-18a905767e44/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Team Profile feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/`{version}`/`{language_code}`/teams/`{team_id}`/profile.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v7). | | `language_code` | 2 letter code for supported languages: en (English), es (Spanish), fr (French), ru (Russian), and zh (simplified Chinese). | | `team_id` | ID for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Team Profile use the following URL. https://feed.elasticstats.com/schema/hockey/team-v7.0.xsd 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 payload 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 Clock, 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, all data for the feed is displayed (i.e. all games, events, or statistics). For your applications to accept data from our Push feeds, ensure that your application can: * Can follow a HTTP redirect or use the location provided in the feeds header within one minute of your initial request. * Can accept HTTP data transfer encoded as chunked. Our Push service does not provide a "stateful session", there is no memory of what data has been sent previously. If you are disconnected from the Push session, you can use the RESTful API to catch up or recover from the disconnection. Syntax for using our Push feeds and examples of the JSON payloads can be found below. ## Push Clock Game clock feed with high level scoring and strength information, including the most recent game event. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/stream/en/clock/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/nhl/trial/stream/en/clock/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.us/nhl/trial/stream/en/clock/subscribe?api_key={your_api_key}' ``` > The above command returns json like this. Access the Push Clock feed by replacing the parameters in the following URL: https://api.sportradar.us/nhl/`{access_level}`/stream/`{language_code}`/clock/subscribe?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `language_code` | Optional code for supported languages: en (English) or translations (Any other language translations. See optional query string parameters for locale.) | | `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.us/nhl/trial/stream/en/clock/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964") 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/nhl/trial/stream/en/clock/subscribe", params = {'api_key': 'your_api_key', 'status': 'inprogress', 'match': 'sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964'}, 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.us/nhl/trial/stream/en/clock/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964' ``` In addition to the URL parameters listed above, you can filter the Clock information with one or more of the following optional query string parameters.
    Note: Optional query string parameters must be added after your API key with an ampersand (&). If you are filtering for more than one result, separate the results with a comma (,) and no spaces.
    Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `locale` | Locale expressed as 2 letter code: locale={language_code}
    Example: locale:en | | `match` | Match id expressed as: sd:match:{match_id}.
    Example: match=sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964 | | `status` | Status type expressed as: inprogress or created.
    Example: status=inprogress | Return to top ## Push Events Detailed, real-time information on every game event. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/stream/en/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/nhl/trial/stream/en/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.us/nhl/trial/stream/en/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.us/nhl/`{access_level}`/stream/`{language_code}`/events/subscribe?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `language_code` | Optional code for supported languages: en (English) or translations (Any other language translations. See optional query string parameters for locale.) | | `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.us/nhl/trial/stream/en/events/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964") 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/nhl/trial/stream/en/events/subscribe", params = {'api_key': 'your_api_key', 'status': 'inprogress', 'match': 'sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964'}, 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.us/nhl/trial/stream/en/events/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964' ``` In addition to the URL parameters listed above, you can filter the Events information with one or more of the following optional query string parameters.
    Note: Optional query string parameters must be added after your API key with an ampersand (&). If you are filtering for more than one result, separate the results with a comma (,) and no spaces.
    Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `event_category` | Event category expressed as: {event_category}.
    Example: event_category=shot | | `event_type` | Event type expressed as: {event_type}.
    Example: event_type=stoppage | | `locale` | Locale expressed as 2 letter code: locale={language_code}
    Example: locale:en | | `match` | Match id expressed as: sd:match:{match_id}.
    Example: match=sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964 | | `status` | Status type expressed as: inprogress or created.
    Example: status=inprogress | | `strength` | Strength type expressed as: {strength}. Example: strength=even | | `team` | Team id expressed as: sd:team:{team_id}.
    Example: team=sd:team:4415b0a7-0f24-11e2-8525-18a905767e44 | | `zone` | Zone expressed as: {zone}. Example: zone=offensive | Return to top ## Push Statistics Detailed, real-time game stats at the team and player level. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nhl/trial/stream/en/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/nhl/trial/stream/en/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.us/nhl/trial/stream/en/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.us/nhl/`{access_level}`/stream/`{language_code}`/statistics/subscribe?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `language_code` | en (English) | | `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.us/nhl/trial/stream/en/statistics/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964") 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/nhl/trial/stream/en/statistics/subscribe", params = {'api_key': 'your_api_key', 'status': 'inprogress', 'match': 'sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964'}, 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.us/nhl/trial/stream/en/statistics/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964' ``` In addition to the URL parameters listed above, you can filter the Statistics information with one or more of the following optional query string parameters.
    Note: Optional query string parameters must be added after your API key with an ampersand (&). If you are filtering for more than one result, separate the results with a comma (,) and no spaces.
    Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `match` | Match id expressed as: sd:match:{match_id}.
    Example: match=sd:match:4d1c4eb9-69d4-46fc-a42b-12be98227964 | | `player` | Player id expressed as: sd:player:{player_id}.
    Example: player=sd:player:436a6c0e-0f24-11e2-8525-18a905767e44 | | `stats_type` | Stat type expressed as {stats_type}. Example: stats_type=player | | `status` | Status type expressed as: inprogress or created.
    Example: status=inprogress | | `strength` | Strength type expressed as: {strength}. Example: strength=even | | `team` | Team id expressed as: sd:team:{team_id}.
    Example: team=sd:team:4415b0a7-0f24-11e2-8525-18a905767e44 | Return to top ## Frequently Asked Questions

    Q: What format are date fields presented in?

    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: What game statuses I can expect to see in the feeds and what are their definitions?

    A: Here is a list of the valid game statuses you can expect to see, and their definitions.

    • scheduled - The game is scheduled to occur.
    • created - The game has been created and we have begun logging information for the game.
    • inprogress – The game is in progress.
    • complete – The game is over, but stat validation is not complete.
    • closed – The game is over and the stats have been validated.
    • cancelled – The game has been cancelled. No makeup game will be played as a result.
    • delayed – The start of the game is currently delayed or the game has gone from in progress to delayed for some reason.
    • postponed – The game has been postponed, to be made up at another day and time. Once the makeup game is announced, a new game and ID will be created and scheduled on the announced makeup date. You should request the scheduled feed(s) regularly to identify the re-scheduled makeup game(s).
    • time-tbd – The game has been scheduled, but a time has yet to be announced.
    • if necessary – The game will be scheduled if it is required.
    • unnecessary – The series game was scheduled to occur, but will not take place due to one team clinching the series early.

    Q: What are the valid event types tracked in the play by play feed?

    A: Here is a list of the valid event types you can expect to see.

    • awardedgoal
    • awardedemptynetgoal
    • challenge
    • emptynetgoal
    • endperiod
    • endshootoutperiod
    • evenstrength
    • faceoff
    • gamesetup
    • giveaway
    • goal
    • goaliechange
    • hit
    • owngoal
    • penalty
    • penaltygoal
    • penaltyshotmissed
    • penaltyshotsaved
    • powerplay
    • shootoutgoal
    • shootoutshotmissed
    • shootoutshotsaved
    • shotmissed
    • shotsaved
    • startshootoutperiod
    • stoppage
    • substitutions
    • takeaway

    The following event types can be classified as stoppage, but will be classified in the event description:

    • teamtimeout
    • tvtimeout

    Q: What are the Series statuses I can expect to see in the feeds and their definitions?

    A: Here is a list of the valid series statuses you can expect to see, and their definitions.

    • scheduled - The series is scheduled to occur.
    • inprogress – The series is in progress.
    • closed – The series is over.

    Q: What are the player positions I can expect to see in the feeds?

    A: Here is a list of the valid player positions you can expect to see.

    • NA
    • D
    • F
    • F-D
    • G

    Q: What are the player primary positions I can expect to see in the feeds?

    A: Here is a list of the valid player primary positions you can expect to see.

    • NA
    • C
    • D
    • G
    • LW
    • RW

    Q: What are the player statuses I can expect to see in the feeds?

    A: Here is a list of the valid player statuses you can expect to see.

    • ACT – Active
    • DUP – Duplicate
    • FA – Free Agent
    • IR – Injured reserve
    • M-LEAGUE – Sent to minor league team
    • NWT – Not with team
    • RET – Retired
    • SUS – Suspended
    • UDP – Unsigned Draft Pick

    Q: What are the player injury statuses I can expect to see in the feeds?

    A: Here is a list of the valid player injury statuses you can expect to see.

    • Unknown
    • Day To Day
    • Out
    • Out For Season
    • Out Indefinitely

    Q: What are the valid playoff statuses and their definitions?

    A: Here is a list of the valid playoff statuses and their definitions:

    • conference – The team has the conference.
    • division – The team has clinched the division.
    • playoff_spot – The team has clinched a playoff berth.
    • presidents_trophy – Team has clinched the best record and home ice advantage.

    Q: Do you provide your feeds in any languages other than English?

    A: Currently, we provide our feeds in 3 languages: English, Russian, and Simplified Chinese. The codes are as follows:

    • English = eu
    • Russian = ru
    • Simplified Chinese = zh

    Please note, our translated feeds include translated teams, players, play by play descriptions. The feeds themselves are in English, but the content of the attributes has been translated.

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

    A: The rink we use is 2400 by 1020. The scale is in inches. Here is a layout of the rink:

    0 X 2400
    Y
    1020

    Q: What are the “shot_type – type” values I can expect to see in the feeds?

    A: Below is a list of the valid “shot_type – type” values you can expect to see. Note that these values will appear without underscores in the Game Play-By-Play feed.

    • wrist
    • slap
    • backhand
    • tip
    • snap
    • wrap_around
    • bat
    • cradle
    • poke
    • between_legs

    Q: What are the names of the shot zones I can expect to see in the feeds, and where are they situated on the rink?

    A: Below is a list of the shot zone names you can expect to see, with an included diagram for their locations. Note that these values will appear without underscores in the Game Play-By-Play feed.

    • defensive_zone
    • neutral_zone
    • center_point
    • left_point
    • right_point
    • low_center_point
    • low_left_point
    • low_right_point
    • outside_right_circle
    • inside_right_circle
    • high_slot
    • inside_left_circle
    • outside_left_circle
    • low_right
    • right_slot
    • slot
    • left_slot
    • low_left
    • low_slot
    • down_low

    Q: What are the names of the danger zones I can expect to see in the feeds?

    A: Here is a list of the danger zone names you can expect to see:

    • danger_high
    • danger_medium
    • danger_low

    Q: What are the penalty types found in the feeds?

    A: Here is a list of the currently valid penalty_type values:

    • Bench Penalty
    • Boarding
    • Charging
    • Check From Behind
    • Clipping
    • Closing Hand on the Puck
    • Cross Checking
    • Delay of Game
    • Diving
    • Elbowing
    • Faceoff Violation
    • Fighting
    • Goalie Interference
    • High Sticking
    • Holding
    • Holding Stick
    • Hooking
    • Illegal Check to Head
    • Illegal Equipment
    • Illegal substitution (Penalty Shot)
    • Instigator
    • Interference
    • Interference - Displacing net (Penalty Shot)
    • Interference - Throwing object (Penalty Shot)
    • Interference from bench (Penalty Shot)
    • Interference in crease (Penalty Shot)
    • Interference on breakaway (Penalty Shot)
    • Kneeing
    • Misconduct
    • Players leaving bench (Penalty Shot)
    • Roughing
    • Slashing
    • Spearing
    • Too Many Men on the Ice
    • Tripping
    • Unsportsmanlike Conduct

    Q: How is the on_ice data handled in the Game Play-by-Play feed?

    A: Most events contain on_ice team and player information. Though, this data is not guaranteed for every event within the Play-by-Play feed.

    Q. What are the valid transaction types and codes found in the feeds?

    A: Here is a list of the valid transaction_type and transaction_code values you can expect to see:

    • Activated: ACT
    • Assigned to Minors: MIN
    • Claimed: CL
    • Contract Expired: CEXP
    • Contract Extension: CEXT
    • Deceased: DEC
    • Declared Free Agency: FA
    • Drafted: DRA
    • League Suspension: SUS
    • Leave of Absence: ABS
    • Loaned to Non-League Team: LOAN
    • Not With Team: NWT
    • Other Transaction: TRAN
    • Placed on Injured Reserve: IR
    • Re-Signed: RSGN
    • Recalled from Minors: REC
    • Reinstated from Suspension: RSUS
    • Released: REL
    • Retired: RET
    • Selected in Expansion Draft: EDRA
    • Signed: SGN
    • Team Suspension: TSUS
    • Traded: TRD
    • Waived: WA

    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

    Note that, for select game-centric endpoints, the TTL may adjust when an event is live. This information is available for each endpoint on our developer portal.

    Return to top

    Docs Navigation