Using NHL Data

Update: I don't use or maintain this anymore. If you're comfortable getting going with Python, find my new code, plus some other back-end stuff and examples, at Github.

Instructions for getting started.

Mailing list.

List of updates

May 25, 2014: Fixed a bug in adding scores to TOI files and changed play-by-play season logs attribute specific teams instead of "home" or "road."

March 6, 2014: Fixed a bug in creating schedule files.

February 25, 2014: Fixed a bug in reading only TOI files.

January 11, 2014: Fixed some bugs related to identifying actor/recipient for shots and faceoffs in GetPbP. Also added an auto-update option. 

November 15, 2013: GetPbP now adds the score to each line of the TOI matrices.

August 16, 2013: Corrected for player name misspellings and changes in TOIComp.

August 12, 2013: Added first version of TOIComp program.

August 7, 2013: Fixed some problems in GetPbP. Added team season TOI logs. Added comments.

August 5, 2013: Added GetTOILogs into GetPbP.

July 5, 2013: Updated

July 10, 2013: Edited to add score to each line, add "@" to opponent's name if it's a road game (so you don't need to check the schedule to tell), and in each team's season play-by-play log, list team's players last, even on the road.

July 15, 2013: Edited and Added

July 21, 2013: Updated and to avoid shift start/end overlap by adding one second to the start time.


  1. Great website.

    Wish the NHL would at least release game sheet info from the pre-internet era. They must have these archived somewhere. These could be scraped to gather all sorts of interesting info from years/decades past. E.g. primary & secondary assists, who was on the ice for each goal for/against in various game states, shots-G-A-PTS by game state, whose penalties caused his team be the most short-handed, how many Phil Esposito goals were the result of assists by Orr :), etc.

  2. You can find all kinds of NHL data free here:

    Yahoo groups kind suck but this group is full of good files and info.

  3. Is there going to be an update to these scripts so they can be used for the playoffs? When I try to input playoff games, I get an Invalid String error.

  4. Love the site! Where's the link for the dropbox with the program to read shift data from

  5. Playoffs hopefully coming this summer.

    Shift data in GetPbP. Just run autoupdate—it'll take care of all the regular-season games.

  6. Love these utilities.
    FYI, the Arizona/Phoenix name switch has caused issues in GetPbP.