get_games
Query games by date range, team, season, game state, or type.
When to use it
You're building a dataset for analysis -- pull all games from a date range, all playoff games for a team, or all final scores from last season. This is the workhorse endpoint for model training data.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| date_from | string | no | Start date (YYYY-MM-DD) |
| date_to | string | no | End date (YYYY-MM-DD) |
| team | string | no | Team abbreviation |
| season | string | no | Season (e.g. "20252026") |
| game_state | string | no | FUT, LIVE, FINAL, or OFF |
| game_type | string | no | regular, playoff, or preseason |
| limit | integer | no | Max results (1-500, default 100) |
Request
curl -X POST https://mcp.puckapi.com/v1/get_games \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"team": "TOR",
"date_from": "2026-03-01",
"date_to": "2026-03-07",
"game_state": "FINAL"
}'Over MCP, ask for it in plain English and the client calls get_games itself. Point any MCP client at https://mcp.puckapi.com/mcp?key=YOUR_API_KEY.
Response
{
"games": [
{
"id": "2025020934",
"season": "20252026",
"gameDate": "2026-03-02",
"startTime": "19:00:00",
"homeTeam": "TOR",
"awayTeam": "BOS",
"homeScore": 4,
"awayScore": 2,
"gameState": "FINAL",
"gameType": "regular",
"venue": "Scotiabank Arena"
},
{
"id": "2025020958",
"season": "20252026",
"gameDate": "2026-03-05",
"startTime": "19:30:00",
"homeTeam": "MTL",
"awayTeam": "TOR",
"homeScore": 1,
"awayScore": 3,
"gameState": "FINAL",
"gameType": "regular",
"venue": "Bell Centre"
}
]
}Response fields
| Field | Type | Description |
|---|---|---|
| games[].id | string | Unique game ID |
| games[].season | string | Season code (e.g. "20252026") |
| games[].gameDate | string | Date (YYYY-MM-DD) |
| games[].startTime | string | Start time |
| games[].homeTeam | string | Home team abbreviation |
| games[].awayTeam | string | Away team abbreviation |
| games[].homeTeamName | string | Home team full name |
| games[].awayTeamName | string | Away team full name |
| games[].homeScore | integer | Home team score (FINAL only) |
| games[].awayScore | integer | Away team score (FINAL only) |
| games[].gameState | string | FUT, LIVE, FINAL, or OFF |
| games[].gameType | string | regular, playoff, or preseason |
| games[].venue | string | Arena name |
Related endpoints
Takes the game_id this one returns.
Odds for a specific game with optional bookmaker and snapshot type filters.
Takes the game_id this one returns.
Full game detail including odds snapshots and the goalies who started, with time on ice.
Returns the team this one takes.
All 32 active NHL teams with divisions, conferences, and arenas.
Returns the team this one takes.
Current standings with points, point pace, goal differential, and 5v5 possession: Corsi%, Fenwick% and expected goals.
Try it
500 credits free on signup — 100 calls to get_games — and no card.