Skip to content
Stats + aggregation5 credits

get_player_game_log

A player's game-by-game stat lines for a season: date, opponent, home/away, and the box score for each game.

When to use it

You want how a player did game by game -- a hot streak, a slump, a home/road split -- rather than a season total. Use get_player_stats or get_skater_season_stats/get_goalie_stats for the season line.

Parameters

NameTypeRequiredDescription
player_idintegeryesNHL player ID
seasonstringnoSeason (e.g. "20252026"). Defaults to the most recent season with stats for this player.
game_typestringnoregular, playoff, preseason, or all (default regular)
limitintegernoMax games to return (1-200, default 100)
offsetintegernoPagination offset

Request

bash
curl -X POST https://mcp.puckapi.com/v1/get_player_game_log \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
  "player_id": 8478402,
  "season": "20242025",
  "limit": 2
}'

Over MCP, ask for it in plain English and the client calls get_player_game_log itself. Point any MCP client at https://mcp.puckapi.com/mcp?key=YOUR_API_KEY.

Response

json
{
  "player": {
    "id": 8478402,
    "name": "Connor McDavid",
    "position": "C"
  },
  "games": [
    {
      "gameId": "2024020006",
      "gameDate": "2024-10-09",
      "gameType": "regular",
      "team": "EDM",
      "opponent": "CGY",
      "homeAway": "away",
      "goals": 0,
      "assists": 1,
      "points": 1,
      "shots": 3,
      "pim": 0,
      "ppPoints": 0,
      "plusMinus": null,
      "decision": null,
      "shotsAgainst": null,
      "saves": null,
      "goalsAgainst": null,
      "savePct": null,
      "timeOnIce": null
    },
    {
      "gameId": "2024020017",
      "gameDate": "2024-10-11",
      "gameType": "regular",
      "team": "EDM",
      "opponent": "VAN",
      "homeAway": "home",
      "goals": 1,
      "assists": 2,
      "points": 3,
      "shots": 4,
      "pim": 0,
      "ppPoints": 1,
      "plusMinus": null,
      "decision": null,
      "shotsAgainst": null,
      "saves": null,
      "goalsAgainst": null,
      "savePct": null,
      "timeOnIce": null
    }
  ],
  "count": 2,
  "season": "20242025",
  "game_type": "regular",
  "note": "plus_minus and time_on_ice are not available: this database has no shift-level or on-ice-personnel data to compute them, so both are always null. pp_points is inferred from the strength state recorded on each scoring play and may be off by a point or two from the official season total.",
  "next_offset": null
}

Response fields

FieldTypeDescription
playerobjectPlayer id, name and position
games[].gameIdstringNHL game ID
games[].gameDatestringDate the game was played
games[].gameTypestringregular, playoff or preseason
games[].teamstringThe player's team in that game
games[].opponentstringThe opposing team
games[].homeAwaystringhome or away
games[].goalsintegerSkaters only. Null for goalies
games[].assistsintegerSkaters only. Null for goalies
games[].pointsintegerSkaters only. Null for goalies
games[].shotsintegerShots on goal. Skaters only
games[].pimintegerPenalty minutes. Skaters only
games[].ppPointsintegerPower-play goals plus assists, inferred from strength state. Skaters only; null where strength state is not recorded (PWHL)
games[].plusMinusintegerAlways null -- not available from this database (no shift/on-ice data)
games[].decisionstringGoalies only: win or loss, reflecting the team's result in that game
games[].shotsAgainstintegerGoalies only
games[].savesintegerGoalies only
games[].goalsAgainstintegerGoalies only
games[].savePctnumberGoalies only, 0-1 scale
games[].timeOnIceintegerGoalies only, in seconds, and only for games they started. Always null for skaters
countintegerGames returned on this page
seasonstringThe season actually used
game_typestringThe game_type actually used
notestringWhat this tool cannot compute and why, in plain language
next_offsetintegerPass as offset for the next page, or null when done

Related endpoints

Try it

500 credits free on signup — 100 calls to get_player_game_log — and no card.