Skip to content
NHL Data Hub

NHL play-by-play

Explore recorded game events, players, coordinates, and scores. Preview events or download a filtered CSV.

Reset

281 matching events across 1 games. Last source refresh: Oct 4, 2026 04:44.

50 events per page. CSV contains all matching rows and additional event fields.
Date / gamePeriod / elapsed timeEvent / teamPlayers / detailsScore (away-home)
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 00:00Period Start
Neutral event

—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 00:00Faceoff
Montréal Canadiens
winning player: Phillip Danault; losing player: Sean Monahan
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 00:16Hit
Montréal Canadiens
hitting player: Phillip Danault; hittee player: Chris Tanev
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 00:52Hit
Montréal Canadiens
hitting player: Paul Byron; hittee player: Rasmus Andersson
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 00:55Shot On Goal
Calgary Flames
goalie in net: Jake Allen; shooting player: Noah Hanifin
wrist
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 00:55Stoppage
Neutral event

goalie-stopped-after-sog
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 00:55Faceoff
Calgary Flames
winning player: Elias Lindholm; losing player: Nick Suzuki
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 01:16Shot On Goal
Calgary Flames
goalie in net: Jake Allen; shooting player: Matthew Tkachuk
wrist
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 01:19Giveaway
Montréal Canadiens
player: Tyler Toffoli
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 01:26Hit
Montréal Canadiens
hitting player: Joel Edmundson; hittee player: Michael Stone
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 01:58Missed Shot
Calgary Flames
goalie in net: Jake Allen; shooting player: Mark Giordano
wide-of-net; slap
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 02:16Hit
Montréal Canadiens
hitting player: Corey Perry; hittee player: Mark Giordano
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 02:29Takeaway
Calgary Flames
player: Milan Lucic
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 02:36Hit
Calgary Flames
hitting player: Brett Ritchie; hittee player: Jon Merrill
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:05Takeaway
Montréal Canadiens
player: Phillip Danault
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:20Shot On Goal
Montréal Canadiens
goalie in net: Jacob Markstrom; shooting player: Phillip Danault
wrist
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:21Takeaway
Montréal Canadiens
player: Josh Anderson
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:23Shot On Goal
Montréal Canadiens
goalie in net: Jacob Markstrom; shooting player: Tomas Tatar
wrist
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:23Stoppage
Neutral event

puck-in-netting
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:23Faceoff
Montréal Canadiens
winning player: Phillip Danault; losing player: Sean Monahan
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:46Stoppage
Neutral event

icing
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:46Faceoff
Calgary Flames
winning player: Sean Monahan; losing player: Jesperi Kotkaniemi
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:55Shot On Goal
Montréal Canadiens
goalie in net: Jacob Markstrom; shooting player: Shea Weber
slap
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 03:57Hit
Montréal Canadiens
hitting player: Paul Byron; hittee player: Andrew Mangiapane
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 04:02Stoppage
Neutral event

puck-in-crowd
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 04:02Faceoff
Calgary Flames
winning player: Mikael Backlund; losing player: Nick Suzuki
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 04:30Missed Shot
Montréal Canadiens
goalie in net: Jacob Markstrom; shooting player: Tyler Toffoli
wide-of-net; tip-in
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 04:40Giveaway
Montréal Canadiens
player: Joel Armia
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 05:23Giveaway
Montréal Canadiens
player: Jake Allen
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 05:31Missed Shot
Calgary Flames
goalie in net: Jake Allen; shooting player: Matthew Tkachuk
wide-of-net; wrist
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 05:56Giveaway
Montréal Canadiens
player: Jake Allen
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 06:04Giveaway
Montréal Canadiens
player: Tyler Toffoli
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 06:06Goal
Calgary Flames
goalie in net: Jake Allen; scoring player: Dillon Dube; assist1 player: Andrew Mangiapane; assist2 player: Derek Ryan
snap
0-1
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 06:06Faceoff
Calgary Flames
winning player: Mikael Backlund; losing player: Jesperi Kotkaniemi
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 06:37Giveaway
Calgary Flames
player: Joakim Nordstrom
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 06:46Hit
Montréal Canadiens
hitting player: Jesperi Kotkaniemi; hittee player: Michael Stone
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 06:55Hit
Calgary Flames
hitting player: Joakim Nordstrom; hittee player: Joel Edmundson
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 07:10Hit
Montréal Canadiens
hitting player: Alexander Romanov; hittee player: Brett Ritchie
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 07:41Missed Shot
Calgary Flames
goalie in net: Jake Allen; shooting player: Mark Giordano
wide-of-net; slap
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 08:20Hit
Montréal Canadiens
hitting player: Joel Edmundson; hittee player: Andrew Mangiapane
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 08:27Blocked Shot
Calgary Flames
shooting player: Noah Hanifin; blocking player: Phillip Danault
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 09:04Takeaway
Calgary Flames
player: Johnny Gaudreau
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 09:21Shot On Goal
Calgary Flames
goalie in net: Jake Allen; shooting player: Brett Ritchie
backhand
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 09:21Stoppage
Neutral event

goalie-stopped-after-sog; tv-timeout
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 09:21Faceoff
Calgary Flames
winning player: Mikael Backlund; losing player: Nick Suzuki
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 09:32Shot On Goal
Calgary Flames
goalie in net: Jake Allen; shooting player: Matthew Tkachuk
tip-in
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 09:39Stoppage
Neutral event

icing
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 09:39Faceoff
Montréal Canadiens
winning player: Nick Suzuki; losing player: Elias Lindholm
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 09:54Takeaway
Montréal Canadiens
player: Ben Chiarot
—
2021-04-23
Montréal Canadiens at Calgary Flames
1 REG / 10:09Shot On Goal
Calgary Flames
goalie in net: Jake Allen; shooting player: Elias Lindholm
wrist
—

About this dataset

Team filters select games involving that team, including opponent and neutral events. Only successfully parsed, current captures are published. Shootout events remain included and are identified by period type SO. Coverage reflects captured games, not every NHL game.

CSV field guide
Identifiers and ordering
game_id, event_id and sort_order identify events and their source sequence.
Clock
period, period_type, time_in_period (elapsed), and time_remaining are game-clock values, not wall-clock timestamps.
Teams and players
team_id identifies the event owner. Player IDs specify roles; participants provides names where available, otherwise an unknown-player label.
Locations and situation
x_coord and y_coord are original NHL rink coordinates, not normalized shot coordinates. situation_code is the original feed code.
Scores and missing fields
home_score and away_score are source event values. Blank fields mean unavailable or not applicable; scores are not inferred for events that omit them.
Source details
raw_event_json preserves the complete recorded event. Penalty, shot, and reason fields provide event-specific details.