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 SeasonIt'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 use2024
as the value for the season parameter.
Reference Update Frequencies and Data PointsTo 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.
- Call the League Hierarchy or Teams endpoints to access the list of team IDs (
team.id
) in our NHL database. - Call the Team Profile feed using your chosen team IDs.
- 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 LogosTo 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 astatus = 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.
- Call the Daily Transfer feed to capture information for all transfers added or edited during the league-defined day (
T04:00:00Z
toT03:59:59Z
) The feed returns details such as theplayer.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" } } ] },
- Use the
from_team.id
andto_team.id
values to call the Team Profile endpoint, allowing you to reference the updated rosters and refresh your season roster dataset. - 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.id
values (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.
- Request the Daily Transfers feed during the first two rounds of Draft Night.
- Parse your data for draft related outcomes by filtering for draft transactions (e.g.,
transaction_type = "Drafted"
ortransaction_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" } } ] },
- Update team rosters by calling the Team Profile feed with the
to_team.id
returned in each draft transaction. - 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" }
- Stop polling the Daily Transfers feed once you detect a
draft.round
value greater than2
in any Team Profile response. - 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.
- Use a Schedule feed to access a list of game IDs (
game.id
) for the games you want rosters for. - Call the Game Summary feed using the
game.id
. - 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.
- Call the League Hierarchy or Teams endpoints to access the list of team IDs (
team.id
) in our NHL database. - Call the Team Profile feed using your chosen team IDs.
- 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:
- Call the Free Agents feed to get detailed player information for all current free agents in the league.
- 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
.
Updated about 5 hours ago