Docs
Coverage MatrixDocumentationRelease LogLog InContact Us

NHL FAQs

Frequently asked questions for NHL v7

Click on the categories below or browse questions on the right panel.


Categories

.


Coverage


How is each NHL game covered?

Coverage information for the NHL can be found here.



Integration


What format are date fields presented in?

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


What format are the date/time fields presented in?

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


How do I locate the TTL (Time to Live)/cache on an API endpoint?

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



Game & Series Statuses


What the valid game statuses?

  • 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.

What are the valid series statuses?

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


Player Statuses


What are the valid player statuses?

  • 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
  • UPD – Unsigned Draft Pick


Data Workflow


How can I find timings for data entry updates?

Our NHL Data Entry Workflow section covers data availability updates. This includes updates for transactions, rankings, stat validation, and more.



Schedules


How do I pull in schedule data for future games in which teams are not yet known?

This API features a TBD team used for every entry in to-be-determined matchups. This virtual team will have its own unique ID specific to this API.

Find the TBD team in the Teams endpoint.

  • <team id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" name="TBD" alias="TBD" market="Team"/>

The matchups will appear as below in the Schedule endpoints.

<series id="0f81bb4d-1d0c-4a3b-82de-507534154095" title="NBA Finals - TBD vs TBD" round="4" start_date="2024-06-06" status="scheduled">
  <games>
  <game id="342f103b-0fd7-47ac-a84d-1391e3605e96" status="time-tbd" title="Game 1" coverage="full" scheduled="2024-06-06T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
    <time_zones/>
    <home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
      </home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  </away>
</game>
<game id="71d8d5fc-6836-43c1-85a0-61a828296a06" status="time-tbd" title="Game 2" coverage="full" scheduled="2024-06-09T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  <time_zones/>
  <home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
    </home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  </away>
</game>
<game id="50b170b9-37e2-47d0-b517-e56ebb960cba" status="time-tbd" title="Game 3" coverage="full" scheduled="2024-06-12T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  <time_zones/>
  <home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
    </home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  </away>
</game>
<game id="8e94445c-c223-4a49-a759-0b651e440b95" status="time-tbd" title="Game 4" coverage="full" scheduled="2024-06-14T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  <time_zones/>
  <home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
    </home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  </away>
</game>
<game id="aaa3ddb3-dd1b-459e-a686-d2bfc4408881" status="if-necessary" title="Game 5 (if necessary)" coverage="full" scheduled="2024-06-17T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  <time_zones/>
  <home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
    </home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  </away>
</game>
<game id="7c16f1ec-6629-4675-aaaa-2a31835862a6" status="if-necessary" title="Game 6 (if necessary)" coverage="full" scheduled="2024-06-20T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  <time_zones/>
  <home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
    </home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  </away>
</game>
<game id="09129676-2320-4151-976d-713ea785d97b" status="if-necessary" title="Game 7 (if necessary)" coverage="full" scheduled="2024-06-23T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  <time_zones/>
  <home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
    </home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
  </away>
</game>
</games>
</series>

"series": [
  {
    "id": "0f81bb4d-1d0c-4a3b-82de-507534154095",
    "title": "NBA Finals - TBD vs TBD",
    "round": 4,
    "start_date": "2024-06-06",
    "status": "scheduled",
    "participants": [],
    "games": [
      {
        "id": "342f103b-0fd7-47ac-a84d-1391e3605e96",
        "status": "time-tbd",
        "title": "Game 1",
        "coverage": "full",
        "scheduled": "2024-06-06T17:00:00+00:00",
        "neutral_site": false,
        "track_on_court": true,
        "home": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        },
        "away": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        }
      },
      {
        "id": "71d8d5fc-6836-43c1-85a0-61a828296a06",
        "status": "time-tbd",
        "title": "Game 2",
        "coverage": "full",
        "scheduled": "2024-06-09T17:00:00+00:00",
        "neutral_site": false,
        "track_on_court": true,
        "home": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        },
        "away": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        }
      },
      {
        "id": "50b170b9-37e2-47d0-b517-e56ebb960cba",
        "status": "time-tbd",
        "title": "Game 3",
        "coverage": "full",
        "scheduled": "2024-06-12T17:00:00+00:00",
        "neutral_site": false,
        "track_on_court": true,
        "home": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        },
        "away": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        }
      },
      {
        "id": "8e94445c-c223-4a49-a759-0b651e440b95",
        "status": "time-tbd",
        "title": "Game 4",
        "coverage": "full",
        "scheduled": "2024-06-14T17:00:00+00:00",
        "neutral_site": false,
        "track_on_court": true,
        "home": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        },
        "away": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        }
      },
      {
        "id": "aaa3ddb3-dd1b-459e-a686-d2bfc4408881",
        "status": "if-necessary",
        "title": "Game 5 (if necessary)",
        "coverage": "full",
        "scheduled": "2024-06-17T17:00:00+00:00",
        "neutral_site": false,
        "track_on_court": true,
        "home": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        },
        "away": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        }
      },
      {
        "id": "7c16f1ec-6629-4675-aaaa-2a31835862a6",
        "status": "if-necessary",
        "title": "Game 6 (if necessary)",
        "coverage": "full",
        "scheduled": "2024-06-20T17:00:00+00:00",
        "neutral_site": false,
        "track_on_court": true,
        "home": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        },
        "away": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        }
      },
      {
        "id": "09129676-2320-4151-976d-713ea785d97b",
        "status": "if-necessary",
        "title": "Game 7 (if necessary)",
        "coverage": "full",
        "scheduled": "2024-06-23T17:00:00+00:00",
        "neutral_site": false,
        "track_on_court": true,
        "home": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        },
        "away": {
          "name": "Team TBD",
          "alias": "TBD",
          "id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
        }
      }
    ]
  },

Make note of the status attribute to determine whether the time of the game is known. A status of time-tbd indicates the game has been scheduled, but a time has yet to be announced. A status of scheduled indicates the game time is known.



Player Positions


What are the valid player positions?

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

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

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


Event Types


What are the valid event types tracked in the Play-by-Play endpoint?

  • 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
  • TV timeout
<event id="48ed8125-ed65-407e-aacc-7f214796a6e9" clock="19:14" official="true" updated="2022-12-06T17:08:30Z" 
wall_clock="2022-12-06T03:39:47Z" clock_decimal="19:14" sequence="1670297987365" zone="offensive" 
event_type="shotsaved">
{
    "id": "7d00ab9a-a612-4c26-a385-9d21445517be",
    "clock": "9:56",
    "official": true,
    "updated": "2023-11-16T07:21:44Z",
    "wall_clock": "2023-11-16T00:54:03Z",
    "description": "Shot on goal by Jesperi Kotkaniemi saved by Carter Hart",
    "clock_decimal": "9:56",
    "sequence": 1700096043241,
    "strength": "even",
    "zone": "offensive",
    "event_type": "shotsaved",
    "attribution": {
        "id": "44182a9d-0f24-11e2-8525-18a905767e44",
        "name": "Hurricanes",
        "market": "Carolina",
        "team_goal": "right",
        "sr_id": "sr:team:3680",
        "reference": "12"
    },
<event id="0d2b0300-9ee7-41fa-bbbe-c7b22f0af47b" clock="5:23" official="true" updated="2023-11-16T07:28:37Z" wall_clock="2023-11-16T03:00:26Z" clock_decimal="5:23" sequence="1700103626120" event_type="stoppage">
    <description>Stoppage - Goalie Stopped (after SOG) - TV timeout</description>
    <details stoppage_type="Goalie Stopped (after SOG)" reason="TV timeout"/>
{
    "id": "94ad6314-b7d6-44d0-a437-3d8088c22bb3",
    "clock": "11:57",
    "official": true,
    "updated": "2023-11-16T07:21:21Z",
    "wall_clock": "2023-11-16T00:49:11Z",
    "description": "Stoppage - Puck in Netting - TV timeout",
    "clock_decimal": "11:57",
    "sequence": 1700095751940,
    "stoppage_type": "Puck in Netting",
    "event_type": "stoppage",
    "details": {
        "stoppage_type": "Puck in Netting",
        "reason": "TV timeout"
    },

What are the valid stoppage types and reasons?

Valid stoppage types (stoppage_type):

  • Offside
  • Icing
  • Clock Problem
  • Puck Frozen
  • Puck in Crowd
  • Goalie Stopped (after SOG)
  • Referee or Linesperson
  • High Stick
  • Objects on Ice
  • Hand Pass
  • Premature Substitution
  • Puck in Netting
  • Puck in Benches
  • Net Dislodged Offensive Skater
  • Puck Frzn-Goalie-Bynd Ctr
  • Skater Puck Frozen

Valid stoppage type reasons (reason):

  • TV timeout
  • Home Timeout
  • Visitor Timeout
  • Player Injury
  • Official Injury
  • Rink Repair
  • Ice problem
  • Player Equipment
  • Video Review
  • Chlg Hm - off-side
  • Chlg Vis - off-side
  • Chlg Hm - goal interference
  • Chlg Vis - goal interference
  • Chlg League - off-side
  • Chlg League - goal interference
  • Switch sides
  • Chlg Hm - Missed stoppage
  • Chlg Vis - Missed stoppage
  • Chlg League - Missed stoppage
<event id="efeb60bb-a4ef-47f9-bcc9-8ba9509a5341" clock="5:05" official="true" updated="2024-02-27T16:02:45Z" wall_clock="2024-02-13T01:28:19Z" clock_decimal="5:05" sequence="1707787699495" event_type="stoppage">
    <description>Stoppage - Puck Frozen - TV timeout</description>
    <details stoppage_type="Puck Frozen" reason="TV timeout"/>
<event id="4032e5a1-1bcf-440c-9aaa-b8ab8604980c" clock="18:53" official="true" updated="2024-02-27T16:02:07Z" wall_clock="2024-02-13T00:09:23Z" clock_decimal="18:53" sequence="1707782963576" event_type="stoppage">
    <description>Stoppage - Goalie Stopped (after SOG)</description>
    <details stoppage_type="Goalie Stopped (after SOG)"/>
<event id="29827936-b9aa-42fe-9c5b-371072ccb427" clock="7:29" official="true" updated="2024-02-28T02:57:37Z" wall_clock="2024-02-28T01:26:58Z" clock_decimal="7:29" sequence="1709083618325" event_type="stoppage">
    <description>Stoppage - Goalie Stopped (after SOG) - Rink Repair</description>
    <details stoppage_type="Goalie Stopped (after SOG)" reason="Rink Repair"/>


Shot Types


What are the valid shot_typetype values?

Below is a list of the valid shot_typetype values. 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


Shot Zones


What are the names of the shot zones and where are they situated on the rink?

Below is a list of the shot zone names, 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



What are the names of the danger zones?

  • danger_high
  • danger_medium
  • danger_low
<danger_zones>
    <danger_zone goals="0" shots="0" missed_shots="1" blocked_att="0" shooting_pct="0.0" shot_att="1" name="danger_high"/>
    <danger_zone goals="1" shots="2" missed_shots="1" blocked_att="0" shooting_pct="50.0" shot_att="3" name="danger_medium"/>
    <danger_zone goals="0" shots="1" missed_shots="0" blocked_att="0" shooting_pct="0.0" shot_att="1" name="danger_low"/>
</danger_zones>


Penalty Types


What are the valid penalty types?

  • 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
<event id="1de52554-0088-4458-b903-dafc41597df1" clock="11:00" official="true" updated="2023-11-16T07:27:40Z" wall_clock="2023-11-16T02:47:49Z" clock_decimal="11:00" sequence="1700102869494" event_type="penalty">
    <description>Penalty to Andrei Svechnikov 2 minutes for High Sticking (Drawn by Travis Sanheim)</description>
    <attribution id="44182a9d-0f24-11e2-8525-18a905767e44" name="Hurricanes" market="Carolina" team_goal="right" sr_id="sr:team:3680" reference="12"/>
    <location coord_x="264" coord_y="12" action_area="lowright"/>
    <details penalty_type="High Sticking" penalty_code="29" duration="2"/>
{
    "id": "1de52554-0088-4458-b903-dafc41597df1",
    "clock": "11:00",
    "official": true,
    "updated": "2023-11-16T07:27:40Z",
    "wall_clock": "2023-11-16T02:47:49Z",
    "duration": 2,
    "description": "Penalty to Andrei Svechnikov 2 minutes for High Sticking (Drawn by Travis Sanheim)",
    "clock_decimal": "11:00",
    "sequence": 1700102869494,
    "strength": "even",
    "penalty_type": "High Sticking",
    "event_type": "penalty",
    "attribution": {
        "id": "44182a9d-0f24-11e2-8525-18a905767e44",
        "name": "Hurricanes",
        "market": "Carolina",
        "team_goal": "right",
        "sr_id": "sr:team:3680",
        "reference": "12"
    },
    "location": {
        "coord_x": 264,
        "coord_y": 12,
        "action_area": "lowright"
    },
    "details": {
        "penalty_type": "High Sticking",
        "penalty_code": "29",
        "duration": 2
    },


Transactions


What are the valid transaction types and codes?

  • 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
<player id="9786d7ed-73de-11e2-a3e0-f4ce4684ea4c" full_name="Alex Killorn" first_name="Alex" last_name="Killorn" position="F" primary_position="LW" jersey_number="17" sr_id="sr:player:311622" reference="8473986">
    <transfer id="1ae80f16-9ee4-4cd2-81d6-3767e0c72fa7" effective_date="2023-11-05" last_modified="2023-11-05T23:25:27Z" transaction_type="Activated" transaction_code="ACT" desc="The Anaheim Ducks activated F Alex Killorn.">
        <from_team id="441862de-0f24-11e2-8525-18a905767e44" name="Ducks" market="Anaheim" sr_id="sr:team:3675" reference="24"/>
        <to_team id="441862de-0f24-11e2-8525-18a905767e44" name="Ducks" market="Anaheim" sr_id="sr:team:3675" reference="24"/>
    </transfer>
{
    "id": "9786d7ed-73de-11e2-a3e0-f4ce4684ea4c",
    "full_name": "Alex Killorn",
    "first_name": "Alex",
    "last_name": "Killorn",
    "position": "F",
    "primary_position": "LW",
    "jersey_number": "17",
    "sr_id": "sr:player:311622",
    "reference": "8473986",
    "transfers": [
        {
            "id": "1ae80f16-9ee4-4cd2-81d6-3767e0c72fa7",
            "effective_date": "2023-11-05",
            "last_modified": "2023-11-05T23:25:27Z",
            "transaction_type": "Activated",
            "transaction_code": "ACT",
            "desc": "The Anaheim Ducks activated F Alex Killorn.",
            "from_team": {
                "id": "441862de-0f24-11e2-8525-18a905767e44",
                "name": "Ducks",
                "market": "Anaheim",
                "sr_id": "sr:team:3675",
                "reference": "24"
            },
            "to_team": {
                "id": "441862de-0f24-11e2-8525-18a905767e44",
                "name": "Ducks",
                "market": "Anaheim",
                "sr_id": "sr:team:3675",
                "reference": "24"
            }
        }
    ]
},


Standings


What are the valid playoff statuses?

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


Injuries


What are the valid player injury statuses?

  • Unknown
  • Day To Day
  • Out
  • Out For Season
  • Out Indefinitely
<injury id="0081cbd8-9309-4346-9e43-9b305040d260" start_date="2023-11-12" update_date="2023-11-12" 
comment="Lindgren has an injury to his upper body. The expected duration is unknown, per CapFriendly." 
desc="Upper Body" status="Day To Day"/>
"players": [
    {
        "id": "b6595de6-11a5-4020-889f-13bce84c0fe2",
        "full_name": "Ryan Lindgren",
        "first_name": "Ryan",
        "last_name": "Lindgren",
        "position": "D",
        "primary_position": "D",
        "jersey_number": "55",
        "sr_id": "sr:player:983729",
        "reference": "8479324",
        "injuries": [
            {
                "id": "0081cbd8-9309-4346-9e43-9b305040d260",
                "start_date": "2023-11-12",
                "update_date": "2023-11-12",
                "comment": "Lindgren has an injury to his upper body. The expected duration is unknown, per CapFriendly.",
                "desc": "Upper Body",
                "status": "Day To Day"
            }
        ]
    },


On-Ice Data


How is the on_ice data handled in the Game Play-by-Play endpoint?

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

<on_ice>
    <team sr_id="sr:team:3699" id="44179d47-0f24-11e2-8525-18a905767e44" name="Flyers" market="Philadelphia" reference="4">
        <players>
            <player sr_id="sr:player:180841" position="F" primary_position="C" id="4334ad68-0f24-11e2-8525-18a905767e44" full_name="Sean Couturier" jersey_number="14" reference="8476461"/>
            <player sr_id="sr:player:899388" position="D" primary_position="D" id="1e7bc5f5-2f34-4940-abab-8bc1f90ea86e" full_name="Travis Sanheim" jersey_number="6" reference="8477948"/>
            <player sr_id="sr:player:983671" position="G" primary_position="G" id="104295a8-ec3a-46c2-bd03-b252d119a5b7" full_name="Carter Hart" jersey_number="79" reference="8479394"/>
            <player sr_id="sr:player:2072747" position="F" primary_position="C" id="344733e3-9173-4945-81cd-857dad5e227c" full_name="Tyson Foerster" jersey_number="71" reference="8482159"/>
            <player sr_id="sr:player:181157" position="F" primary_position="RW" id="436d74ac-0f24-11e2-8525-18a905767e44" full_name="Cam Atkinson" jersey_number="89" reference="8474715"/>
            <player sr_id="sr:player:1650163" position="D" primary_position="D" id="3b669b2c-d152-4114-9bf1-8f68577a7110" full_name="Cam York" jersey_number="8" reference="8481546"/>
        </players>
    </team>
    <team sr_id="sr:team:3680" id="44182a9d-0f24-11e2-8525-18a905767e44" name="Hurricanes" market="Carolina" reference="12">
        <players>
            <player sr_id="sr:player:899408" position="D" primary_position="D" id="03548fbd-cba9-4287-b585-1cedf431f008" full_name="Brady Skjei" jersey_number="76" reference="8476869"/>
            <player sr_id="sr:player:606988" position="F" primary_position="LW" id="21050a80-e999-47ee-825d-074608dae259" full_name="Jordan Martinook" jersey_number="48" reference="8476921"/>
            <player sr_id="sr:player:914036" position="D" primary_position="D" id="2944b06b-c6ba-4797-a21e-901a404b6124" full_name="Brett Pesce" jersey_number="22" reference="8477488"/>
            <player sr_id="sr:player:31015" position="F" primary_position="C" id="433ee768-0f24-11e2-8525-18a905767e44" full_name="Jordan Staal" jersey_number="11" reference="8473533"/>
            <player sr_id="sr:player:1606552" position="G" primary_position="G" id="73f0991a-46b7-4ccc-895a-5ca4251effc3" full_name="Pyotr Kochetkov" jersey_number="52" reference="8481611"/>
            <player sr_id="sr:player:190785" position="F" primary_position="LW" id="8274d1f8-c050-451d-bd75-dd15bd381481" full_name="Teuvo Teravainen" jersey_number="86" reference="8476882"/>
        </players>
    </team>
</on_ice>
"on_ice": [
    {
        "team": {
            "sr_id": "sr:team:3680",
            "id": "44182a9d-0f24-11e2-8525-18a905767e44",
            "name": "Hurricanes",
            "market": "Carolina",
            "reference": "12",
            "players": [
                {
                    "sr_id": "sr:player:899408",
                    "position": "D",
                    "primary_position": "D",
                    "id": "03548fbd-cba9-4287-b585-1cedf431f008",
                    "full_name": "Brady Skjei",
                    "jersey_number": "76",
                    "reference": "8476869"
                },
                {
                    "sr_id": "sr:player:1040189",
                    "position": "F",
                    "primary_position": "C",
                    "id": "cf8683b6-a0bd-4acd-88bb-de9178ac0444",
                    "full_name": "Martin Necas",
                    "jersey_number": "88",
                    "reference": "8480039"
                },
                {
                    "sr_id": "sr:player:1283448",
                    "position": "F",
                    "primary_position": "C",
                    "id": "cf33c0f3-ee06-4a98-90bc-11279dbdd042",
                    "full_name": "Jesperi Kotkaniemi",
                    "jersey_number": "82",
                    "reference": "8480829"
                },
                {
                    "sr_id": "sr:player:1383323",
                    "position": "F",
                    "primary_position": "RW",
                    "id": "75630a9f-1e79-4caf-afd8-ddae4e87ad6b",
                    "full_name": "Andrei Svechnikov",
                    "jersey_number": "37",
                    "reference": "8480830"
                },
                {
                    "sr_id": "sr:player:914036",
                    "position": "D",
                    "primary_position": "D",
                    "id": "2944b06b-c6ba-4797-a21e-901a404b6124",
                    "full_name": "Brett Pesce",
                    "jersey_number": "22",
                    "reference": "8477488"
                },
                {
                    "sr_id": "sr:player:1606552",
                    "position": "G",
                    "primary_position": "G",
                    "id": "73f0991a-46b7-4ccc-895a-5ca4251effc3",
                    "full_name": "Pyotr Kochetkov",
                    "jersey_number": "52",
                    "reference": "8481611"
                }
            ]
        }
    },
    {
        "team": {
            "sr_id": "sr:team:3699",
            "id": "44179d47-0f24-11e2-8525-18a905767e44",
            "name": "Flyers",
            "market": "Philadelphia",
            "reference": "4",
            "players": [
                {
                    "sr_id": "sr:player:308014",
                    "position": "F",
                    "primary_position": "C",
                    "id": "516869ed-618c-11e2-9e6b-f4ce4684ea4c",
                    "full_name": "Scott Laughton",
                    "jersey_number": "21",
                    "reference": "8476872"
                },
                {
                    "sr_id": "sr:player:1117731",
                    "position": "F",
                    "primary_position": "C",
                    "id": "158053c4-d6db-4d3b-b859-267f6bcfa863",
                    "full_name": "Ryan Poehling",
                    "jersey_number": "25",
                    "reference": "8480068"
                },
                {
                    "sr_id": "sr:player:899388",
                    "position": "D",
                    "primary_position": "D",
                    "id": "1e7bc5f5-2f34-4940-abab-8bc1f90ea86e",
                    "full_name": "Travis Sanheim",
                    "jersey_number": "6",
                    "reference": "8477948"
                },
                {
                    "sr_id": "sr:player:983671",
                    "position": "G",
                    "primary_position": "G",
                    "id": "104295a8-ec3a-46c2-bd03-b252d119a5b7",
                    "full_name": "Carter Hart",
                    "jersey_number": "79",
                    "reference": "8479394"
                },
                {
                    "sr_id": "sr:player:1401453",
                    "position": "F",
                    "primary_position": "LW",
                    "id": "ef53d8d0-cf69-4546-b515-a3d0854e154d",
                    "full_name": "Joel Farabee",
                    "jersey_number": "86",
                    "reference": "8480797"
                },
                {
                    "sr_id": "sr:player:1650163",
                    "position": "D",
                    "primary_position": "D",
                    "id": "3b669b2c-d152-4114-9bf1-8f68577a7110",
                    "full_name": "Cam York",
                    "jersey_number": "8",
                    "reference": "8481546"
                }
            ]
        }
    }
],


Languages


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

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.



Rink Dimensions


What is the scale of the X/Y coordinates?

The rink we use is 2400(x) by 1020(y). The scale is in inches.



All-Star Game


How do you cover the NHL All-Star Game?

Please see our dedicated All-Star FAQ for questions and sample data.



🙋

More questions?

Reach out to [email protected] for further assistance.