Overview: Each arena transmits a data file to the NHL and SportsTicker every time a goal, shot or penalty is scored. In the absence of these events, data is transmitted every two minutes. The data is transmitted in one file, containing the following seven record types: Game Information, Roster, Event, Goal, Goalie Shift, Summary and Final. The records in this file are cumulative, with new records appended at the bottom of the file. Records are never deleted or changed. Instead a record version number is either incremented to indicate a change to a prior record or set to –1 to denote a deletion.
All records are comma separated. Text fields do not have quotations around it.
| Record Definition | ||
| Record Type | Name of Record | Description |
| I | Game Information | One record defining the teams, game time, arena and on-ice officials |
| R | Roster | Defines roster data for each player |
| E | Event | Contains each event, except for goals |
| G | Goal | Denotes each goal scored |
| T | Goalie Shift | Defines each shift for a goalie. There will be a minimum of 3 goalie records (1 for each period) for each team |
| F | Final | Contains post-game information such as 3 stars, winning/losing goalie & attendance |
| S | Summary | Summarized statistics for each player including time on ice, number of shifts, goals, shots by period, hits, faceoffs, penalties, etc. |
| Game Information - Field Definition | ||||
| Name | Description | Type | Max Size | Contents |
| RECTYP | Record type | char | 1 | "I" = Game info record |
| DATE | Game date | char | 10 | MM/DD/YYYY |
| GAME_TYPE | Preseason, Regular season or Playoffs | integer | 1 | 1=Preseason, 2=Regular Season, 3=Playoffs |
| GAME_NUM | Game number | integer | 4 | Range: 1 to 9999 |
| GAME_RECORD_VER | Game Record Version | integer | 4 | Range: 0 to 9999 (Incremented if change; -1 if delete) |
| VIS_TEAM_ABBREV | Visiting team abbreviation | char | 3 | ex: N.J |
| VIS_TEAM_NAME | Full name of visiting team | char | 30 | ex: NEW JERSEY DEVILS |
| HOME_TEAM_ABBREV | Home team abbreviation | char | 3 | ex: NYR |
| HOME_TEAM_NAME | Full name of home team | char | 30 | ex: NEW YORK RANGERS |
| SCHEDULED_TIME | Scheduled start time (local time) | char | 8 | HH:MM:SS |
| TIME_ZONE | Time zone | char | 2 | ET, CT, MT, PT |
| ARENA | Arena | char | 50 | ex: Madison Square Garden |
| REFEREE1 | Name of 1st referee | char | 30 | Upper and lower case |
| REFEREE2 | Name of 2nd referee (if any) | char | 30 | Upper and lower case |
| LINESMAN1 | Name of 1st linesman | char | 30 | Upper and lower case |
| LINESMAN2 | Name of 2nd linesman | char | 30 | Upper and lower case |
| RECEND | End of record indicator | char | 1 | "^" ( ASCII 94) |
| Roster - Field Defintion | ||||
| Name | Description | Type | Max Size | Contents |
| RECTYP | Record type | char | 1 | "R" = Roster Info record |
| DATE | Game date | char | 10 | MM/DD/YYYY |
| GAME_TYPE | Preseason, Regular season or Playoffs | integer | 1 | 1=Preseason, 2=Regular Season, 3=Playoffs |
| GAME_NUM | Game number | integer | 4 | Ranges 1 to 9999 |
| PLAYER_TEAM | Player Team abbreviation | char | 3 | NHL team abbreviation code |
| PLAYER_NUM | Player jersey number | char | 2 | Ranges 00 to 99 |
| ROSTER_RECORD_VER | Roster Record Version | integer | 4 | Range: 0 to 9999 (Incremented if change; -1 if delete) |
| PLAYER_FNAME | Player first name | char | 30 | Upper case |
| PLAYER_LNAME | Player last name | char | 30 | Upper case |
| PLAYER_POS | Player's position | integer | 2 | 1=goalie, 2=defenseman, 3=forward, 4=left wing, 5=right wing, 6=center, 7=alternate, 8=unknown |
| CAPTAIN | Captain or Alternate Captain | char | 1 | C=Captain, A=Alternate, N=Neither |
| STARTER | Started game on ice | char | 1 | Y=Yes, N=No |
| SCRATCHED | Scratched? | char | 1 | Y=Scratched, N=Not |
| YTD_GOALS | Year-to-date goals (prior to current game) – not updated during game | integer | 3 | -1 to 999 (-1 indicates number unknown) |
| YTD_ASSISTS | Year-to-date assists (prior to current game) – not updated during game | integer | 3 | -1 to 999 (-1 indicates number unknown) |
| RECEND | End of record indicator | char | 1 | "^" ( ASCII 94) |
| Event - Field Definition | ||||
| Name | Description | Type | Max Size | Contents |
| RECTYP | Record type | char | 1 | "E" = Event record |
| DATE | Game date | char | 10 | MM/DD/YYYY |
| GAME_TYPE | Preseason, Regular season or Playoffs | integer | 1 | 1=Preseason, 2=Regular Season, 3=Playoffs |
| GAME_NUM | Game number | integer | 4 | Ranges 1 to 9999 |
| PERIOD | Current Period | integer | 1 | Ranges 0 to 9 |
| GAME_TIME | Time in period (as opposed to time remaining on clock) | char | 5 | MM:SS |
| VIS_SCORE | Visiting team score | integer | 2 | Ranges 0 to 99 |
| HOME_SCORE | Home team score | integer | 2 | Ranges 0 to 99 |
| EVENT_NUMBER | Unique event number (not sequential) | char | 10 | Format XXX1234567 (XXX=Home Team) |
| EVENT_NUMBER_VER | Event number version | integer | 4 | Range: 0 to 9999 (to accommodate changes) |
| LOCAL_TIME | Wall clock time (local) | char | 8 | HH:MM:SS |
| EVENT_GAME CODE | Event Game code | integer | 4 | Range: 501 to 599
502=Faceoff, 503=Hit, 504=Turnover, 506=Shot, 507=Miss, 508=Block, 509=Penalty, 516=Stoppage |
| REASON_TYPE | Reason or Type | integer | 4 | Ranges 0 (not applicable) or 601 to1102
See Reason Type table (6??=Stoppage reason: 8??=shot type, 10??=missed shot reason, 11??=blocked shot type), 1401=takeaway, 1402=giveaway. If event_game_code = 509 (penalty), use penaltycodes table |
| X_COOR | X-Coordinate of play (feet from center ice based on PLAYER_1_TEAM) | integer | 3 | Ranges -100 to +100 |
| Y_COOR | Y-Coordinate of play (feet from center ice based on PLAYER_1_TEAM) | integer | 3 | Ranges -100 to +100 |
| STRENGTH | Strength of PLAYER_1 team | integer | 3 | Ranges 701-703 (701=Even, 702=PP, 703=SH) |
| PLAYER_1_TEAM | Player 1 Team abbreviation | char | 3 | NHL team abbreviation code |
| PLAYER_1 | Player 1 Jersey number
Player who shot, missed shot, blocked shot, won face-off, hit a player, gave puck away, took puck away or was assessed a penalty | char | 2 | 00 to 99 |
| PLAYER_2_TEAM | Player 2 Team abbreviation | char | 3 | NHL team abbreviation code if applicable |
| PLAYER_2 | Player 2 Jersey number
Player who loses faceoff or drew penalty | char | 2 | 00 to 99; -1 if no reactor; blank if N/A |
| PLAYER_SERVED | Player who served penalty Jersey number if assessed player is not serving | char | 2 | 00 to 99; -1 if player assessed is serving |
| SPECIAL_SHOT_INFO | Special shot type | integer | 4 | Ranges 901 to 902
901=Regular Shot, 902=Penalty Shot |
| SHOT_LENGTH | Length of Shot in feet | integer | 3 | 0 to 240 |
| GOALIE | Goalie in net at time of shot | char | 2 | 00 to 99 |
| RECEND | End of record indicator | char | 1 | "^" ( ASCII 94) |
| Goal – Field Definition | ||||
| Name | Description | Type | Max Size | Contents |
| RECTYP | Record type | char | 1 | "G" = Goal record |
| DATE | Game date | char | 10 | MM/DD/YYYY |
| GAME_TYPE | Preseason, Regular season or Playoffs | integer | 1 | 1=Preseason, 2=Regular Season, 3=Playoffs |
| GAME_NUM | Game number | integer | 4 | Ranges 1 to 9999 |
| PERIOD | Current Period | integer | 1 | Ranges 0 to 9 |
| GAME_TIME | Time in period (as opposed to time remaining on clock) | char | 5 | MM:SS |
| VIS_SCORE | Visiting team score | integer | 2 | Ranges 0 to 99 |
| HOME_SCORE | Home team score | integer | 2 | Ranges 0 to 99 |
| EVENT_NUMBER | Unique event number (not sequential) | char | 10 | Format XXX1234567 (XXX=Home Team) |
| EVENT_NUMBER_VER | Event number version | integer | 4 | Range: 0 to 9999 (to accommodate changes) |
| LOCAL_TIME | Wall clock time (local) | char | 8 | HH:MM:SS |
| EVENT_GAME CODE | Event Game code | integer | 4 | 505 (Goal) |
| SHOT_TYPE | Shot type | integer | 4 | Ranges 801 to 806
801=Slap, 802=Snap, 803=Wrist, 804=Wrap, 805=Tip-In, 806=Backhand |
| X_COOR | X-Coordinate of play (feet from center ice based on PLAYER_1_TEAM) | integer | 3 | Ranges -100 to +100 |
| Y_COOR | Y-Coordinate of play (feet from center ice based on PLAYER_1_TEAM) | integer | 3 | Ranges -100 to +100 |
| STRENGTH | Strength of PLAYER_1 team | integer | 3 | Ranges 701-703
701=Even, 702=PP, 703=SH |
| SPECIAL_SHOT_INFO | Special shot type | integer | 4 | Ranges 901 to 903
901=Regular, 902=Penalty Shot, 903=Empty Net |
| SCORING_TEAM | Goal Scorer Team abbreviation | char | 3 | NHL team abbreviation code |
| GOAL_SCORER | Goal Scorer Jersey number | char | 2 | 00 to 99 |
| ASSIST_1 | 1st Assist Jersey number | char | 2 | 00 to 99 (-1 if no first assist) |
| ASSIST_2 | 2nd Assist Jersey number | Char | 2 | 00 to 99 (-1 if no second assist) |
| GOALIE | Opposing goalie Jersey number | char | 2 | 00 to 99 |
| VIS_PLAYERS_ON_ICE | Visiting players on ice when goal was scored (separated by colons)
ex: ,33:3:23:2:5, | string | 20 | Players jersey numbers |
| HOME_PLAYERS_ON_ICE | Home players on ice when goal was scored (separated by colons)
ex: ,33:3:23:2:5, | string | 20 | Players jersey numbers |
| SHOT_LENGTH | Length of Shot in feet | integer | 3 | 0 to 240 |
| RECEND | End of record indicator | char | 1 | "^" ( ASCII 94) |
| Goalie TOI Shift - Field Definition | ||||
| Name | Description | Type | Max Size | Contents |
| RECTYP | Record type | char | 1 | "T" = Goalie TOI/shift record |
| DATE | Game date | char | 10 | MM/DD/YYYY |
| GAME_TYPE | Preseason, Regular season or Playoffs | integer | 1 | 1=Preseason, 2=Regular Season, 3=Playoffs |
| GAME_NUM | Game number | integer | 4 | Ranges 1 to 9999 |
| PERIOD | Current Period | integer | 1 | Ranges 0 to 9 |
| VIS_SCORE | Visiting team score | integer | 2 | Ranges 0 to 99 |
| HOME_SCORE | Home team score | integer | 2 | Ranges 0 to 99 |
| EVENT_NUMBER | Unique event number | char | 10 | Format XXX1234567 (XXX=Home Team) |
| PLAYER_SHIFT_VER | Player Shift Version Number | integer | 4 | Range: 0 to 9999 (to accommodate changes) |
| PLAYER_TEAM | Player Team abbreviation | char | 3 | NHL team abbreviation code |
| PLAYER_NUM | Goalie sweater number | char | 2 | 00 to 99 |
| LOCAL_TIME | Wall clock time (local0 | char | 8 | HH:MM:SS |
| SHIFT_START_TIME | Time in period shift started | char | 5 | MM:SS |
| SHIFT_END_TIME | Time in period shift ended | char | 5 | MM:SS |
| RECEND | End of record indicator | char | 1 | "^" ( ASCII 94) |
| Final Record Field Definition | ||||
| Name | Description | Type | Max Size | Contents |
| RECTYP | Record type | char | 1 | "F" = Final record |
| DATE | Game date | char | 10 | MM/DD/YYYY |
| GAME_TYPE | Preseason, Regular season or Playoffs | integer | 1 | 1=Preseason, 2=Regular Season, 3=Playoffs |
| GAME_NUM | Game number | integer | 4 | Ranges 1 to 9999 |
| FINAL_RECORD_VER | Final Record Version | integer | 4 | Range: 0 to 9999 (to accommodate changes) |
| PERIOD | Total periods for the game | integer | 1 | Ranges 0 to 9 |
| VIS_SCORE | Visiting team score | integer | 2 | Ranges 0 to 99 |
| HOME_SCORE | Home team score | integer | 2 | Ranges 0 to 99 |
| ATTENDANCE | Total Attendance | integer | 5 | Ranges 0 to 99999 |
| START_TIME | Time game started (local time) | char | 5 | HH:MM |
| END_TIME | Time game ended (local time) | char | 5 | HH:MM |
| 1ST_STAR_TEAM | 1st Star - Team abbreviation | char | 3 | NHL team abbreviation code |
| 1ST_STAR | 1st Star Player Jersey number | char | 2 | 00 to 99 |
| 2ND_STAR_TEAM | 2nd Star - Team abbreviation | char | 3 | NHL team abbreviation code |
| 2ND_STAR | 2nd Star Player Jersey number | char | 2 | 00 to 99 |
| 3RD_STAR_TEAM | 3rd Star - Team abbreviation | char | 3 | NHL team abbreviation code |
| 3RD_STAR | 3rd Star Player Jersey number | char | 2 | 00 to 99 |
| WINNING_TYING_TEAM | Winning/Tying Team Abbreviation | char | 3 | NHL team abbreviation code |
| WINNING_TYING_GOALIE | Winning/Tying teams Goalie in net when winning/tying goal is scored | char | 2 | 00 to 99 |
| LOSING_TYING_TEAM | Losing/Tying Team Abbreviation | char | 3 | NHL team abbreviation code |
| LOSING_TYING_GOALIE | Opposing goalie in net when winning/tying goal is scored | char | 2 | 00 to 99 |
| RECEND | End of record indicator | char | 1 | "^" ( ASCII 94) |
| Summary Statistics Record Field Definition | ||||
| Name | Description | Type | Max Size | Contents |
| RECTYP | Record type | char | 1 | "S" = Summary Stats record |
| DATE | Game date | char | 10 | MM/DD/YYYY |
| GAME_TYPE | Preseason, Regular season or Playoffs | integer | 1 | 1=Preseason, 2=Regular Season, 3=Playoffs |
| GAME_NUM | Game number | integer | 4 | Ranges 1 to 9999 |
| PERIOD | Current Period | integer | 1 | Ranges 0 to 9 |
| GAME_TIME | Game time (time into period) | char | 5 | MM:SS or FINAL |
| VIS_SCORE | Visiting team score | integer | 2 | Ranges 0 to 99 |
| HOME_SCORE | Home team score | integer | 2 | Ranges 0 to 99 |
| PLAYER_TEAM | Player Team abbreviation | char | 3 | NHL team abbreviation code |
| PLAYER_NUM | Player jersey number | char | 2 | Ranges 00 to 99 |
| PLUS_MINUS | Plus/minus | integer | 3 | Range -99 to +99, 0=Even |
| TOTAL_TOI | Total Time On Ice | char | 5 | MMM:SS |
| PP_TOI | Total Time on ice on powerplay | char | 5 | MMM:SS |
| SH_TOI | Total Time on ice short handed | char | 5 | MMM:SS |
| EV_TOI | Total Time on ice even strength | char | 5 | MMM:SS |
| NUM_SHIFTS | Number of shifts | integer | 3 | Range 0 to 99 |
| NUM_GOALS | Number of goals | integer | 2 | Range 0 to 99 |
| YTD_GOALS | Number of goals to date (including this game) | integer | 3 | -1 to 999 (-1 indicates number unknown) |