Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Roster and Player Details

Access data on NHL transactions, rosters, injuries, depth charts, players, and draft details.

Prerequisite: Confirm Season Availability and Coverage

Understanding which seasons are available, and what level of data coverage is provided, is essential for making reliable and accurate API calls.

  • Use the Seasons feed to view all available seasons in the API.
  • Reference the coverage node in a schedule or game endpoint before a game to determine its level of coverage.
πŸ“†

Starting Year for Each Season

It's important to note that the season parameter uses the starting year of the season; for example, to retrieve data for the 2024-25 NHL season, you would use 2024 as the value for the season parameter.

πŸ”

Reference Update Frequencies and Data Points

To make the best use of this guide:

  • Check the update frequencies page for data refresh timings and recommended call intervals for each endpoint.
  • Review the data points section of each referenced endpoint (e.g., Team Profile) to see the full set of values that the endpoint can return.

Seasonal Rosters

A seasonal roster is the official list of players a National Hockey League team has available for the season. It includes everyone associated with the team, whether they are active, scratched, injured, sent to the minor league, or in another status category.

You can pull this information using the Team Profile feed, which provides top-level team details along with the full season roster and each player’s status.

  1. Call the League Hierarchy or Teams endpoints to access the list of team IDs (team.id) in our NHL database.
  2. Call the Team Profile feed using your chosen team IDs.
  3. Monitor the Daily Change Log feed to capture any updates or corrections to player and team details.
Team Roster Sample
<players>
  <player id="03057f04-674c-11e2-9e6b-f4ce4684ea4c" status="ACT" full_name="Jonas Brodin" first_name="Jonas" last_name="Brodin" abbr_name="J.Brodin" height="74" weight="196" handedness="L" position="D" primary_position="D" jersey_number="25" experience="13" birth_place="Karlstad,, SWE" birthdate="1993-07-12" updated="2025-09-12T19:19:42Z" sr_id="sr:player:133684" reference="8476463" rookie_year="2012" salary="6000000">
    <references>
      <reference source_id="8476463" scope="NHL" id_type="external"/>
      <reference source_id="6d7ada08-4774-469c-ab2f-281a14a4d5e3" scope="hockey" id_type="sport_profile"/>
    </references>
    <draft team_id="4416091c-0f24-11e2-8525-18a905767e44" year="2011" round="1" pick="10"/>
    <injuries>
      <injury id="130333c0-e4de-4a9a-bbe5-346387c9d84a" status="Out" start_date="2025-06-28" update_date="2025-06-28" comment="The Wild announced on Saturday (Jun. 28) that Brodin underwent surgery a few weeks ago and is unlikely to be ready for the start of the 2025-26 season, per Michael Russo of The Athletic." desc="Upper-body"/>
    </injuries>
  </player>
  <player id="2afe3d22-7825-4549-a60f-083abcb438d2" status="ACT" full_name="Tyler Pitlick" first_name="Tyler" last_name="Pitlick" abbr_name="T.Pitlick" height="74" weight="200" handedness="R" position="F" primary_position="C" college="Minnesota State" experience="10" birth_place="Minneapolis, MN, USA" birthdate="1991-11-01" updated="2025-09-12T19:26:22Z" sr_id="sr:player:353830" reference="8475752" rookie_year="2013">
    <references>
      <reference source_id="8475752" scope="NHL" id_type="external"/>
      <reference source_id="4c64b96f-6af3-443c-9381-d8bc58f20249" scope="hockey" id_type="sport_profile"/>
    </references>
    <draft team_id="4415ea6c-0f24-11e2-8525-18a905767e44" year="2010" round="2" pick="31"/>
  </player>
  <player id="2f11e3a8-a8d2-444a-aebb-647641adf8ea" status="UDP" full_name="Justin Kipkie" first_name="Justin" last_name="Kipkie" abbr_name="J.Kipkie" height="76" weight="207" handedness="L" position="D" primary_position="D" experience="0" birth_place="North Vancouver, BC, CAN" birthdate="2005-07-28" updated="2025-09-12T19:27:02Z" sr_id="sr:player:2413123" reference="8484434">
    <references>
      <reference source_id="8484434" scope="NHL" id_type="external"/>
      <reference source_id="44508403-5c4c-42b7-b2a0-f6b12dfe2acf" scope="hockey" id_type="sport_profile"/>
      <reference source_id="c47389e6-4e17-4878-a18e-d279ba63f207" scope="NCAAMH" id_type="league_profile"/>
    </references>
    <draft team_id="4416091c-0f24-11e2-8525-18a905767e44" year="2025" round="5" pick="141"/>
  </player>
  <player id="371333ea-0157-4c17-9d08-58de23433cfd" status="ACT" full_name="Nicolas Aube-Kubel" first_name="Nicolas" last_name="Aube-Kubel" abbr_name="N.Aube-Kubel" height="72" weight="213" handedness="R" position="F" primary_position="RW" experience="7" birth_place="Slave Lake, AB, CAN" birthdate="1996-05-10" updated="2025-09-12T19:27:28Z" sr_id="sr:player:899402" reference="8477979" rookie_year="2018" salary="775000">
    <references>
      <reference source_id="8477979" scope="NHL" id_type="external"/>
      <reference source_id="d678e8d1-f409-4271-986c-1f16fd670589" scope="hockey" id_type="sport_profile"/>
    </references>
    <draft team_id="44179d47-0f24-11e2-8525-18a905767e44" year="2014" round="2" pick="48"/>
  </player>
  "players": [
    {
      "id": "03057f04-674c-11e2-9e6b-f4ce4684ea4c",
      "status": "ACT",
      "full_name": "Jonas Brodin",
      "first_name": "Jonas",
      "last_name": "Brodin",
      "abbr_name": "J.Brodin",
      "height": 74,
      "weight": 196,
      "handedness": "L",
      "position": "D",
      "primary_position": "D",
      "jersey_number": "25",
      "experience": "13",
      "birth_place": "Karlstad,, SWE",
      "birthdate": "1993-07-12",
      "updated": "2025-09-12T19:19:42Z",
      "sr_id": "sr:player:133684",
      "reference": "8476463",
      "rookie_year": 2012,
      "salary": 6000000,
      "references": [
        {
          "source_id": "8476463",
          "scope": "NHL",
          "id_type": "external"
        },
        {
          "source_id": "6d7ada08-4774-469c-ab2f-281a14a4d5e3",
          "scope": "hockey",
          "id_type": "sport_profile"
        }
      ],
      "draft": {
        "team_id": "4416091c-0f24-11e2-8525-18a905767e44",
        "year": 2011,
        "round": "1",
        "pick": "10"
      },
      "injuries": [
        {
          "id": "130333c0-e4de-4a9a-bbe5-346387c9d84a",
          "status": "Out",
          "start_date": "2025-06-28",
          "update_date": "2025-06-28",
          "comment": "The Wild announced on Saturday (Jun. 28) that Brodin underwent surgery a few weeks ago and is unlikely to be ready for the start of the 2025-26 season, per Michael Russo of The Athletic.",
          "desc": "Upper-body"
        }
      ]
    },
    {
      "id": "2afe3d22-7825-4549-a60f-083abcb438d2",
      "status": "ACT",
      "full_name": "Tyler Pitlick",
      "first_name": "Tyler",
      "last_name": "Pitlick",
      "abbr_name": "T.Pitlick",
      "height": 74,
      "weight": 200,
      "handedness": "R",
      "position": "F",
      "primary_position": "C",
      "college": "Minnesota State",
      "experience": "10",
      "birth_place": "Minneapolis, MN, USA",
      "birthdate": "1991-11-01",
      "updated": "2025-09-12T19:26:22Z",
      "sr_id": "sr:player:353830",
      "reference": "8475752",
      "rookie_year": 2013,
      "references": [
        {
          "source_id": "8475752",
          "scope": "NHL",
          "id_type": "external"
        },
        {
          "source_id": "4c64b96f-6af3-443c-9381-d8bc58f20249",
          "scope": "hockey",
          "id_type": "sport_profile"
        }
      ],
      "draft": {
        "team_id": "4415ea6c-0f24-11e2-8525-18a905767e44",
        "year": 2010,
        "round": "2",
        "pick": "31"
      }
    },
    {
      "id": "2f11e3a8-a8d2-444a-aebb-647641adf8ea",
      "status": "UDP",
      "full_name": "Justin Kipkie",
      "first_name": "Justin",
      "last_name": "Kipkie",
      "abbr_name": "J.Kipkie",
      "height": 76,
      "weight": 207,
      "handedness": "L",
      "position": "D",
      "primary_position": "D",
      "experience": "0",
      "birth_place": "North Vancouver, BC, CAN",
      "birthdate": "2005-07-28",
      "updated": "2025-09-12T19:27:02Z",
      "sr_id": "sr:player:2413123",
      "reference": "8484434",
      "references": [
        {
          "source_id": "8484434",
          "scope": "NHL",
          "id_type": "external"
        },
        {
          "source_id": "44508403-5c4c-42b7-b2a0-f6b12dfe2acf",
          "scope": "hockey",
          "id_type": "sport_profile"
        },
        {
          "source_id": "c47389e6-4e17-4878-a18e-d279ba63f207",
          "scope": "NCAAMH",
          "id_type": "league_profile"
        }
      ],
      "draft": {
        "team_id": "4416091c-0f24-11e2-8525-18a905767e44",
        "year": 2025,
        "round": "5",
        "pick": "141"
      }
    },
    {
      "id": "371333ea-0157-4c17-9d08-58de23433cfd",
      "status": "ACT",
      "full_name": "Nicolas Aube-Kubel",
      "first_name": "Nicolas",
      "last_name": "Aube-Kubel",
      "abbr_name": "N.Aube-Kubel",
      "height": 72,
      "weight": 213,
      "handedness": "R",
      "position": "F",
      "primary_position": "RW",
      "experience": "7",
      "birth_place": "Slave Lake, AB, CAN",
      "birthdate": "1996-05-10",
      "updated": "2025-09-12T19:27:28Z",
      "sr_id": "sr:player:899402",
      "reference": "8477979",
      "rookie_year": 2018,
      "salary": 775000,
      "references": [
        {
          "source_id": "8477979",
          "scope": "NHL",
          "id_type": "external"
        },
        {
          "source_id": "d678e8d1-f409-4271-986c-1f16fd670589",
          "scope": "hockey",
          "id_type": "sport_profile"
        }
      ],
      "draft": {
        "team_id": "44179d47-0f24-11e2-8525-18a905767e44",
        "year": 2014,
        "round": "2",
        "pick": "48"
      }
    },

The sample above shows part of the Minnesota Wild seasonal roster. This data can be used to track player details for a specific team, including position, experience, injury status, and more, helping you monitor overall team and player activity.

You can use this data to build seasonal roster tables for each NHL team on your platform, displaying details such as a player’s birthdate, height, weight, experience, and handedness. These rosters can also be organized by position, including forwards (F), defense (D), and goalies (G).

πŸ“Έ

Accessing Headshots and Team Logos

To access team logos and player headshots, use the Images API .


Player Status and Position

The Team Profile endpoint returns player-level attributes, including:

  • status – Indicates the player’s current roster status (e.g., ACT for Active, UDP for Undrafted Prospect). Players with a status = ACT are considered active and therefore eligible to appear on that team’s game roster for upcoming matches.
  • position – The general category of the player’s position (F = Forward, D = Defense, G = Goalie).
  • primary_position – The player’s specific on-ice role (e.g., C = Center, RW = Right Wing, LW = Left Wing).

See our NHL FAQs page for the full list of statuses and positions.


Seasonal Roster Updates

Seasonal rosters are supported by Sportradar and updated throughout the season. You can track seasonal roster updates using the Daily Transfers and Team Profile endpoints.

  1. Call the Daily Transfer feed to capture information for all transfers added or edited during the league-defined day (T04:00:00Z to T03:59:59Z) The feed returns details such as the player.id, effective_date, transaction_type, transaction_code, and team information (e.g., from_team.id, to_team.id), which you can use to identify each transaction.
    <transfers start_time="2024-03-07T05:00:00Z" end_time="2024-03-08T04:59:59Z">
        <player id="1abfba51-895e-408f-8ff9-83eb301e38c7" full_name="Brandon Duhaime" first_name="Brandon" last_name="Duhaime" position="F" primary_position="RW" sr_id="sr:player:1004631" reference="8479520">
          <transfer id="030c9cc6-66a8-4d66-a075-b172f5e27bba" effective_date="2024-03-07" last_modified="2024-03-07T20:18:41Z" transaction_type="Traded" transaction_code="TRD" desc="The Colorado Avalanche acquired F Brandon Duhaime in trade with Minnesota.">
            <from_team id="4416091c-0f24-11e2-8525-18a905767e44" name="Wild" market="Minnesota" sr_id="sr:team:3689" reference="30"/>
            <to_team id="4415ce44-0f24-11e2-8525-18a905767e44" name="Avalanche" market="Colorado" sr_id="sr:team:3682" reference="21"/>
    "start_time": "2024-03-07T05:00:00Z",
      "end_time": "2024-03-08T04:59:59Z",
      "players": [
        {
          "id": "1abfba51-895e-408f-8ff9-83eb301e38c7",
          "full_name": "Brandon Duhaime",
          "first_name": "Brandon",
          "last_name": "Duhaime",
          "position": "F",
          "primary_position": "RW",
          "sr_id": "sr:player:1004631",
          "reference": "8479520",
          "transfers": [
            {
              "id": "030c9cc6-66a8-4d66-a075-b172f5e27bba",
              "effective_date": "2024-03-07",
              "last_modified": "2024-03-07T20:18:41Z",
              "transaction_type": "Traded",
              "transaction_code": "TRD",
              "desc": "The Colorado Avalanche acquired F Brandon Duhaime in trade with Minnesota.",
              "from_team": {
                "id": "4416091c-0f24-11e2-8525-18a905767e44",
                "name": "Wild",
                "market": "Minnesota",
                "sr_id": "sr:team:3689",
                "reference": "30"
              },
              "to_team": {
                "id": "4415ce44-0f24-11e2-8525-18a905767e44",
                "name": "Avalanche",
                "market": "Colorado",
                "sr_id": "sr:team:3682",
                "reference": "21"
              }
            }
          ]
        },
  2. Use the from_team.id and to_team.id values to call the Team Profile endpoint, allowing you to reference the updated rosters and refresh your season roster dataset.
  3. Monitor the Daily Change Log feed to capture any updates or corrections to player and team details.

You can also use the Daily Transfers feed to render a transaction log similar to the example below, displaying player movements such as signings, trades, and assignments. By filtering on specific team.idvalues (from_team and to_team), you can present all transactions related to a single team, giving users a clear, team-focused transaction history on your platform.


NHL Draft

During the NHL Draft, Sportradar provides coverage of the first two rounds on Draft Night, updating profiles for the selected players and their new teams. The remaining drafted players are added within the following week.

The NHL draft typically occurs at the end of June.

Although the NHL API does not include dedicated draft feeds like the NFL or NBA, you can still track the first two rounds of Draft Night and the rest the following week after using the Daily Transfers and Team Profile endpoints.

  1. Request the Daily Transfers feed during the first two rounds of Draft Night.
  2. Parse your data for draft related outcomes by filtering for draft transactions (e.g., transaction_type = "Drafted" or transaction_code = DRA)
    <league xmlns="http://feed.elasticstats.com/schema/hockey/transfers-v7.0.xsd" id="fd560107-a85b-4388-ab0d-655ad022aff7" name="NHL" alias="NHL">
      <transfers start_time="2025-06-27T04:00:00Z" end_time="2025-06-28T03:59:59Z">
        <player id="8794fc69-da31-48b1-9297-c21e616fe5be" full_name="Jake O'Brien" first_name="Jake" last_name="O'Brien" position="F" primary_position="C">
          <transfer id="088d14f0-6538-4342-b485-8d0dae3c7bd3" effective_date="2025-06-27" last_modified="2025-06-28T00:15:23Z" transaction_type="Drafted" transaction_code="DRA" desc="The Seattle Kraken drafted F Jake O'Brien.">
            <to_team id="1fb48e65-9688-4084-8868-02173525c3e1" name="Kraken" market="Seattle" sr_id="sr:team:794340" reference="55"/>
          </transfer>
        </player>
        <player id="bdef38e3-130e-4dcd-8697-1f7e9520a827" full_name="Henry Brzustewicz" first_name="Henry" last_name="Brzustewicz" position="D" primary_position="D">
          <transfer id="123cf1bf-76d1-47d7-936c-9ff4f44ce79d" effective_date="2025-06-27" last_modified="2025-06-28T03:23:35Z" transaction_type="Drafted" transaction_code="DRA" desc="The Los Angeles Kings drafted D Henry Brzustewicz.">
            <to_team id="44151f7a-0f24-11e2-8525-18a905767e44" name="Kings" market="Los Angeles" sr_id="sr:team:3688" reference="26"/>
          </transfer>
        </player>
        <player id="72d7253c-0dac-412d-a3c7-c78450d4c688" full_name="Carter Bear" first_name="Carter" last_name="Bear" position="F" primary_position="LW">
          <transfer id="15ccb2fd-fb96-4e8b-8524-cb0191eba1bf" effective_date="2025-06-27" last_modified="2025-06-28T00:58:14Z" transaction_type="Drafted" transaction_code="DRA" desc="The Detroit Red Wings drafted F Carter Bear.">
            <to_team id="44169bb9-0f24-11e2-8525-18a905767e44" name="Red Wings" market="Detroit" sr_id="sr:team:3685" reference="17"/>
          </transfer>
        </player>
    {
      "league": {
        "id": "fd560107-a85b-4388-ab0d-655ad022aff7",
        "name": "NHL",
        "alias": "NHL"
      },
      "start_time": "2025-06-27T04:00:00Z",
      "end_time": "2025-06-28T03:59:59Z",
      "players": [
        {
          "id": "8794fc69-da31-48b1-9297-c21e616fe5be",
          "full_name": "Jake O'Brien",
          "first_name": "Jake",
          "last_name": "O'Brien",
          "position": "F",
          "primary_position": "C",
          "transfers": [
            {
              "id": "088d14f0-6538-4342-b485-8d0dae3c7bd3",
              "effective_date": "2025-06-27",
              "last_modified": "2025-06-28T00:15:23Z",
              "transaction_type": "Drafted",
              "transaction_code": "DRA",
              "desc": "The Seattle Kraken drafted F Jake O'Brien.",
              "to_team": {
                "id": "1fb48e65-9688-4084-8868-02173525c3e1",
                "name": "Kraken",
                "market": "Seattle",
                "sr_id": "sr:team:794340",
                "reference": "55"
              }
            }
          ]
        },
        {
          "id": "bdef38e3-130e-4dcd-8697-1f7e9520a827",
          "full_name": "Henry Brzustewicz",
          "first_name": "Henry",
          "last_name": "Brzustewicz",
          "position": "D",
          "primary_position": "D",
          "transfers": [
            {
              "id": "123cf1bf-76d1-47d7-936c-9ff4f44ce79d",
              "effective_date": "2025-06-27",
              "last_modified": "2025-06-28T03:23:35Z",
              "transaction_type": "Drafted",
              "transaction_code": "DRA",
              "desc": "The Los Angeles Kings drafted D Henry Brzustewicz.",
              "to_team": {
                "id": "44151f7a-0f24-11e2-8525-18a905767e44",
                "name": "Kings",
                "market": "Los Angeles",
                "sr_id": "sr:team:3688",
                "reference": "26"
              }
            }
          ]
        },
        {
          "id": "72d7253c-0dac-412d-a3c7-c78450d4c688",
          "full_name": "Carter Bear",
          "first_name": "Carter",
          "last_name": "Bear",
          "position": "F",
          "primary_position": "LW",
          "transfers": [
            {
              "id": "15ccb2fd-fb96-4e8b-8524-cb0191eba1bf",
              "effective_date": "2025-06-27",
              "last_modified": "2025-06-28T00:58:14Z",
              "transaction_type": "Drafted",
              "transaction_code": "DRA",
              "desc": "The Detroit Red Wings drafted F Carter Bear.",
              "to_team": {
                "id": "44169bb9-0f24-11e2-8525-18a905767e44",
                "name": "Red Wings",
                "market": "Detroit",
                "sr_id": "sr:team:3685",
                "reference": "17"
              }
            }
          ]
        },
  3. Update team rosters by calling the Team Profile feed with the to_team.id returned in each draft transaction.
  4. Monitor draft nodes in the Team Profile response to confirm the draft round.
    <draft team_id="1fb48e65-9688-4084-8868-02173525c3e1" year="2025" round="2" pick="36"/>
          "draft": {
            "team_id": "1fb48e65-9688-4084-8868-02173525c3e1",
            "year": 2025,
            "round": "2",
            "pick": "36"
          }
  5. Stop polling the Daily Transfers feed once you detect a draft.round value greater than 2 in any Team Profile response.
  6. Run a post-draft sync job during the week after Draft Night, using the Team Profile feed to refresh rosters.

Note: You can also reference a player’s draft history through the draft node in the Player Profile endpoint by calling it with the player.id obtained from the Daily Transfers or Team Profile feeds.


NHL Drafted Player Status in the API Team Profile (Off-Season)

  • Unlike other leagues, NHL draft picks are not automatically signed when selected. For example, teams can hold their signing rights for 2 years after the draft. However, many first-rounders sign within days or weeks of being drafted, but others may continue playing junior or college hockey before signing.
  • When a player is drafted, their status is set to NWT (Not With Team). This indicates the player has been drafted but not yet signed. They may still appear in off-season team activities and will be included in the team profile for that year.
  • If the drafted player signs with the team during the off-season, their status changes to ACT (Active).
  • To track signings, transaction_type = "Signed", pull the Daily Transfers endpoint.

Game Rosters

A Game Roster is the list of players a team designates as eligible to participate in a specific game. Game Rosters are available a few hours prior to the game. Starters are typically known 30 minutes before a game but there are scenarios where it's delayed or updated right before puck drop as a coach's decision.

You can pull game rosters using the Game Summary feed. This feed also provides top-level boxscore information with detailed team and player levels game stats.

  1. Use a Schedule feed to access a list of game IDs (game.id) for the games you want rosters for.
  2. Call the Game Summary feed using the game.id.
  3. Collect the list of player IDs (player.id) returned.

Player Participation Status

To track a player’s participation status in a game, whether they started, played, or were scratched, use the played, starter, and scratched data points from the Game Summary feed.

      <player id="61eae331-7558-4f3d-a3d0-886a9f422c91" full_name="Dylan Larkin" first_name="Dylan" last_name="Larkin" handedness="L" position="F" primary_position="C" jersey_number="71" captain="C" played="true" sr_id="sr:player:834045" reference="8477946">
        <statistics goals="0" assists="2" penalties="0" penalty_minutes="0" shots="1" blocked_att="2" missed_shots="1" hits="1" giveaways="2" takeaways="1" blocked_shots="1" faceoffs_won="7" faceoffs_lost="10" plus_minus="0" shooting_pct="0.0" faceoff_win_pct="41.2" faceoffs="17" points="2" emptynet_goals="0" first_star="0" overtime_assists="0" overtime_goals="0" overtime_shots="0" penalties_major="0" penalties_match="0" penalties_minor="0" penalty_minutes_additional="0" penalties_misconduct="0" second_star="0" third_star="0">
          <powerplay shots="0" goals="0" missed_shots="0" assists="1" faceoffs="4" faceoffs_won="2" faceoffs_lost="2" faceoff_win_pct="50.0"/>
          <shorthanded shots="0" goals="0" missed_shots="0" assists="0" faceoffs="3" faceoffs_won="2" faceoffs_lost="1" faceoff_win_pct="66.7"/>
          <evenstrength shots="1" goals="0" missed_shots="1" assists="1" faceoffs="10" faceoffs_won="3" faceoffs_lost="7" faceoff_win_pct="30.0"/>
          <penalty shots="0" goals="0" missed_shots="0"/>
          <shootout shots="0" goals="0" missed_shots="0"/>
      <player id="42b48e9a-0f24-11e2-8525-18a905767e44" full_name="Jeff Petry" first_name="Jeff" last_name="Petry" handedness="R" position="D" primary_position="D" jersey_number="46" captain="N" starter="true" played="true" sr_id="sr:player:144157" reference="8473507">
        <statistics goals="0" assists="0" penalties="1" penalty_minutes="2" shots="2" blocked_att="0" missed_shots="0" hits="2" giveaways="4" takeaways="0" blocked_shots="0" faceoffs_won="0" faceoffs_lost="0" plus_minus="-1" shooting_pct="0.0" faceoff_win_pct="0.0" faceoffs="0" points="0" emptynet_goals="0" first_star="0" overtime_assists="0" overtime_goals="0" overtime_shots="0" penalties_major="0" penalties_match="0" penalties_minor="1" penalty_minutes_additional="0" penalties_misconduct="0" second_star="0" third_star="0">
          <powerplay shots="0" goals="0" missed_shots="0" assists="0" faceoffs="0" faceoffs_won="0" faceoffs_lost="0" faceoff_win_pct="0.0"/>
          <shorthanded shots="0" goals="0" missed_shots="0" assists="0" faceoffs="0" faceoffs_won="0" faceoffs_lost="0" faceoff_win_pct="0.0"/>
          <evenstrength shots="2" goals="0" missed_shots="0" assists="0" faceoffs="0" faceoffs_won="0" faceoffs_lost="0" faceoff_win_pct="0.0"/>
          <penalty shots="0" goals="0" missed_shots="0"/>
          <shootout shots="0" goals="0" missed_shots="0"/>
      <player id="9a17c57c-69ce-429f-9899-b67b0ab38e87" full_name="Alex Lyon" first_name="Alex" last_name="Lyon" handedness="L" position="G" primary_position="G" jersey_number="34" captain="N" scratched="true" sr_id="sr:player:834029" reference="8479312">
        <statistics goals="0" assists="0" penalties="0" penalty_minutes="0" shots="0" blocked_att="0" missed_shots="0" hits="0" giveaways="0" takeaways="0" blocked_shots="0" faceoffs_won="0" faceoffs_lost="0" plus_minus="0" shooting_pct="0.0" faceoff_win_pct="0.0" faceoffs="0" points="0" emptynet_goals="0" first_star="0" overtime_assists="0" overtime_goals="0" overtime_shots="0" penalties_major="0" penalties_match="0" penalties_minor="0" penalty_minutes_additional="0" penalties_misconduct="0" second_star="0" third_star="0">
          <powerplay shots="0" goals="0" missed_shots="0" assists="0" faceoffs="0" faceoffs_won="0" faceoffs_lost="0" faceoff_win_pct="0.0"/>
          <shorthanded shots="0" goals="0" missed_shots="0" assists="0" faceoffs="0" faceoffs_won="0" faceoffs_lost="0" faceoff_win_pct="0.0"/>
          <evenstrength shots="0" goals="0" missed_shots="0" assists="0" faceoffs="0" faceoffs_won="0" faceoffs_lost="0" faceoff_win_pct="0.0"/>
          <penalty shots="0" goals="0" missed_shots="0"/>
          <shootout shots="0" goals="0" missed_shots="0"/>

Note: If any of these data points are false (e.g., played = false), they will be omitted from the response.


Depth Charts

In hockey, depth charts outline which players are first-choice at each position (e.g., top-line center, second-line left wing, starting goalie) and how substitutes are slotted in behind them, giving a clear view of team lineup strength and player hierarchy.

You can access depth chart data, using the Depth Charts feed.

    <position id="a57b3dad-b262-4a9c-bd15-b05691bb1612" name="LW" desc="Left Wing">
      <players>
        <player id="561ebae2-f93e-414e-a269-94b712ce63f8" full_name="Kirill Kaprizov" primary_position="LW" position="F" jersey_number="97" reference="8478864" experience="5" status="ACT" handedness="L" depth="1" sr_id="sr:player:612400"/>
        <player id="9c3cd0d9-87bb-4000-8830-927325358ed0" full_name="Matt Boldy" primary_position="LW" position="F" jersey_number="12" reference="8481557" experience="4" status="ACT" handedness="L" depth="2" sr_id="sr:player:1650155"/>
        <player id="8cf85c4a-56c9-4899-a248-718a3ae96f5c" full_name="Liam Ohgren" primary_position="LW" position="F" jersey_number="28" reference="8483499" experience="2" status="ACT" handedness="L" depth="3" sr_id="sr:player:2230874"/>
        <player id="436ad49d-0f24-11e2-8525-18a905767e44" full_name="Marcus Foligno" primary_position="LW" position="F" jersey_number="17" reference="8475220" experience="14" status="ACT" handedness="L" depth="4" sr_id="sr:player:225138"/>
      </players>
  "positions": {
    "LW": {
      "id": "a57b3dad-b262-4a9c-bd15-b05691bb1612",
      "name": "LW",
      "desc": "Left Wing",
      "players": [
        {
          "id": "561ebae2-f93e-414e-a269-94b712ce63f8",
          "full_name": "Kirill Kaprizov",
          "primary_position": "LW",
          "position": "F",
          "jersey_number": "97",
          "reference": "8478864",
          "experience": "5",
          "status": "ACT",
          "handedness": "L",
          "depth": 1,
          "sr_id": "sr:player:612400"
        },
        {
          "id": "9c3cd0d9-87bb-4000-8830-927325358ed0",
          "full_name": "Matt Boldy",
          "primary_position": "LW",
          "position": "F",
          "jersey_number": "12",
          "reference": "8481557",
          "experience": "4",
          "status": "ACT",
          "handedness": "L",
          "depth": 2,
          "sr_id": "sr:player:1650155"
        },
        {
          "id": "8cf85c4a-56c9-4899-a248-718a3ae96f5c",
          "full_name": "Liam Ohgren",
          "primary_position": "LW",
          "position": "F",
          "jersey_number": "28",
          "reference": "8483499",
          "experience": "2",
          "status": "ACT",
          "handedness": "L",
          "depth": 3,
          "sr_id": "sr:player:2230874"
        },
        {
          "id": "436ad49d-0f24-11e2-8525-18a905767e44",
          "full_name": "Marcus Foligno",
          "primary_position": "LW",
          "position": "F",
          "jersey_number": "17",
          "reference": "8475220",
          "experience": "14",
          "status": "ACT",
          "handedness": "L",
          "depth": 4,
          "sr_id": "sr:player:225138"
        }
      ]
    },

You can render a depth chart table like the one shown by using the position element and ordering players by their depth value, which indicates whether they are the starter (depth=1), first backup (depth=2), second backup (depth=3), and so on.


Player Details

The Team Profile and Player Profile feeds each provide top level information for a player such as the college, birth_place, salary , draft.year and rookie_year.

If you also want to give them context on these charts or roster tables like past teams played on or past seasons statistics, the Player Profile is ideal.

  1. Call the League Hierarchy or Teams endpoints to access the list of team IDs (team.id) in our NHL database.
  2. Call the Team Profile feed using your chosen team IDs.
  3. Drill down further by calling the Player Profile feed with the returned Player IDs (player.id).

Free Agents

To access player profile details for free agents:

  1. Call the Free Agents feed to get detailed player information for all current free agents in the league.
  2. Drill down further by calling the Player Profile feed with the returned Player IDs (player.id) to see past season stats and draft details.

Injuries

Although injury data is available in the injuries node of the Team Profile endpoint, the dedicated Injuries endpoint provides league-wide coverage of all active player injuries across every team.

<injuries>
    <team id="4415ce44-0f24-11e2-8525-18a905767e44" name="Avalanche" market="Colorado" sr_id="sr:team:3682" reference="21">
      <player id="d00af4ae-deb3-487c-a65e-33d62c9bc833" full_name="Samuel Girard" first_name="Samuel" last_name="Girard" position="D" primary_position="D" jersey_number="49" sr_id="sr:player:983613" reference="8479398">
        <injury id="02a37f3f-7026-43ad-9c87-3b10dee2d4e2" start_date="2025-09-12" update_date="2025-09-12" comment="The Avalanche said on Friday (Sept. 12) that Girard was seen skating gingerly in a non-contact jersey after missing all of the team's previous informal skates, per Brennan Vogt of Hockey Mountain High." desc="Lower-body" status="Day To Day"/>
      </player>
      <player id="f56821c8-856e-4c72-affd-3dbbba69b379" full_name="Mackenzie Blackwood" first_name="Mackenzie" last_name="Blackwood" position="G" primary_position="G" jersey_number="39" sr_id="sr:player:945910" reference="8478406">
        <injury id="8e25efac-e6df-4e29-9fee-31a4db675ef3" start_date="2025-09-12" update_date="2025-09-12" comment="The Avalanche said on Friday (Sept. 12) that Blackwood has not taken shots during the team's informal skates and appears to be bothered by a lower-body injury, per Brennan Vogt of Hockey Mountain High." desc="Lower-body" status="Day To Day"/>
      </player>
      <player id="1cb1b41a-02ec-47dc-9252-9e779c677390" full_name="Logan O'Connor" first_name="Logan" last_name="O'Connor" position="F" primary_position="RW" jersey_number="25" sr_id="sr:player:1546011" reference="8481186">
        <injury id="eeb08703-b8fa-405d-b050-e9add68fd79d" start_date="2025-06-06" update_date="2025-06-06" comment="The Avalanche announced on Friday (Jun. 6) that O'Connor underwent hip surgery and is expected to miss the next 5 to 6 months." desc="Hip" status="Out"/>
      </player>
    </team>
{
  "league": {
    "id": "fd560107-a85b-4388-ab0d-655ad022aff7",
    "name": "NHL",
    "alias": "NHL"
  },
  "teams": [
    {
      "id": "4415ce44-0f24-11e2-8525-18a905767e44",
      "name": "Avalanche",
      "market": "Colorado",
      "sr_id": "sr:team:3682",
      "reference": "21",
      "players": [
        {
          "id": "d00af4ae-deb3-487c-a65e-33d62c9bc833",
          "full_name": "Samuel Girard",
          "first_name": "Samuel",
          "last_name": "Girard",
          "position": "D",
          "primary_position": "D",
          "jersey_number": "49",
          "sr_id": "sr:player:983613",
          "reference": "8479398",
          "injuries": [
            {
              "id": "02a37f3f-7026-43ad-9c87-3b10dee2d4e2",
              "start_date": "2025-09-12",
              "update_date": "2025-09-12",
              "comment": "The Avalanche said on Friday (Sept. 12) that Girard was seen skating gingerly in a non-contact jersey after missing all of the team's previous informal skates, per Brennan Vogt of Hockey Mountain High.",
              "desc": "Lower-body",
              "status": "Day To Day"
            }
          ]
        },
        {
          "id": "f56821c8-856e-4c72-affd-3dbbba69b379",
          "full_name": "Mackenzie Blackwood",
          "first_name": "Mackenzie",
          "last_name": "Blackwood",
          "position": "G",
          "primary_position": "G",
          "jersey_number": "39",
          "sr_id": "sr:player:945910",
          "reference": "8478406",
          "injuries": [
            {
              "id": "8e25efac-e6df-4e29-9fee-31a4db675ef3",
              "start_date": "2025-09-12",
              "update_date": "2025-09-12",
              "comment": "The Avalanche said on Friday (Sept. 12) that Blackwood has not taken shots during the team's informal skates and appears to be bothered by a lower-body injury, per Brennan Vogt of Hockey Mountain High.",
              "desc": "Lower-body",
              "status": "Day To Day"
            }
          ]
        },
        {
          "id": "1cb1b41a-02ec-47dc-9252-9e779c677390",
          "full_name": "Logan O'Connor",
          "first_name": "Logan",
          "last_name": "O'Connor",
          "position": "F",
          "primary_position": "RW",
          "jersey_number": "25",
          "sr_id": "sr:player:1546011",
          "reference": "8481186",
          "injuries": [
            {
              "id": "eeb08703-b8fa-405d-b050-e9add68fd79d",
              "start_date": "2025-06-06",
              "update_date": "2025-06-06",
              "comment": "The Avalanche announced on Friday (Jun. 6) that O'Connor underwent hip surgery and is expected to miss the next 5 to 6 months.",
              "desc": "Hip",
              "status": "Out"
            }
          ]
        }
      ]
    },

You can use this data to build league-wide injury tables on your platform, displaying key details such as a player’s position, the injury date (injury.start_date), injury description (desc, e.g., "Hip"), current injury.status, and any additional notes from the comment field.

Note: A player’s injury.status in the Injuries endpoint does not change their roster status in feeds like Team Profile or Player Profile. For example, a player may have injury.status = "Out" while their roster status still shows as ACT.