get_game_detail
Full game detail including odds snapshots and the goalies who started, with time on ice.
When to use it
You want everything about a single game in one call -- scores, odds from multiple bookmakers, and confirmed goalie starts. Saves you from making separate get_odds and search_players calls.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| game_id | string | yes | Game ID (e.g. "2025020887") |
Request
curl -X POST https://mcp.puckapi.com/v1/get_game_detail \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"game_id": "2025020887"
}'Over MCP, ask for it in plain English and the client calls get_game_detail itself. Point any MCP client at https://mcp.puckapi.com/mcp?key=YOUR_API_KEY.
Response
{
"game": {
"id": "2025020887",
"season": "20252026",
"gameDate": "2026-03-15",
"startTime": "19:00:00",
"homeTeam": "BUF",
"awayTeam": "TOR",
"homeScore": 5,
"awayScore": 3,
"gameState": "FINAL",
"gameType": "regular",
"venue": "KeyBank Center"
},
"home_team": {
"abbrev": "BUF",
"fullName": "Buffalo Sabres",
"conference": "Eastern",
"division": "Atlantic",
"arena": "KeyBank Center"
},
"away_team": {
"abbrev": "TOR",
"fullName": "Toronto Maple Leafs",
"conference": "Eastern",
"division": "Atlantic",
"arena": "Scotiabank Arena"
},
"odds": [
{
"bookmaker": "draftkings",
"snapshotType": "closing",
"mlHome": -125,
"mlAway": 105,
"mlHomeProb": 0.556,
"mlAwayProb": 0.488,
"spreadHome": -1.5,
"total": 6.5,
"totalOverOdds": -110,
"totalUnderOdds": -110
},
{
"bookmaker": "fanduel",
"snapshotType": "closing",
"mlHome": -130,
"mlAway": 110,
"mlHomeProb": 0.565,
"mlAwayProb": 0.476,
"spreadHome": -1.5,
"total": 6.5,
"totalOverOdds": -108,
"totalUnderOdds": -112
}
],
"goalie_starts": {
"homeGoalieId": 8480045,
"homeGoalieName": "Ukko-Pekka Luukkonen",
"homeGoalieToi": 3600,
"awayGoalieId": 8479361,
"awayGoalieName": "Joseph Woll",
"awayGoalieToi": 3600,
"confirmed": false,
"source": "play-by-play"
}
}Response fields
| Field | Type | Description |
|---|---|---|
| game.id | string | Game ID |
| game.gameDate | string | Date |
| game.homeScore | integer | Home team score |
| game.awayScore | integer | Away team score |
| game.gameState | string | FUT, LIVE, FINAL, or OFF |
| home_team.abbrev | string | Home team abbreviation |
| home_team.fullName | string | Full team name |
| away_team.abbrev | string | Away team abbreviation |
| away_team.fullName | string | Full team name |
| odds[] | array | Odds snapshots from all bookmakers |
| goalie_starts | object|null | Starting goalies with time on ice, derived from play-by-play. Null for games that have not been played |
| goalie_starts.homeGoalieName | string | Home starting goalie |
| goalie_starts.awayGoalieName | string | Away starting goalie |
Related endpoints
Takes the team this one returns.
One team's record, league rank, and 5v5 possession: Corsi%, Fenwick% and expected goals for and against.
Takes the game_id this one returns.
Odds for a specific game with optional bookmaker and snapshot type filters.
Returns the game_id this one takes.
Matchup history between two teams with win/loss records.
Takes the team this one returns.
Skater leaderboard sorted by points, goals, assists, plus/minus, or shots.
Try it
500 credits free on signup — 50 calls to get_game_detail — and no card.