Skip to content
Stats + aggregation5 credits

get_goalie_stats

Goalie leaderboard sorted by save%, GAA, GSAX or wins, with high-danger save%, recent form and rest days.

When to use it

You want to rank goalies across the league or within a team. GSAX (goals saved above expected) is the advanced metric that tells you who's actually good versus who plays behind a strong defense.

Parameters

NameTypeRequiredDescription
teamstringnoFilter by team abbreviation
seasonstringnoSeason (e.g. "20252026")
min_gamesintegernoMinimum games played (default 10)
sort_bystringnosave_pct, gaa, gsax, or wins
limitintegernoMax results (1-50, default 20)

Request

bash
curl -X POST https://mcp.puckapi.com/v1/get_goalie_stats \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
  "sort_by": "gsax",
  "limit": 3
}'

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

Response

json
{
  "goalies": [
    {
      "playerId": 8480313,
      "playerName": "Logan Thompson",
      "team": "WSH",
      "gamesPlayed": 58,
      "wins": 35,
      "losses": 16,
      "savePct": 0.913,
      "gaa": 2.45,
      "gsax": 34.5,
      "shutouts": 4,
      "expectedGoalsAgainst": 175.1,
      "highDangerSavePct": 0.883,
      "rollingSavePct": 0.905,
      "rollingGsax": 2.1,
      "trend": "down",
      "restDays": 1
    },
    {
      "playerId": 8478009,
      "playerName": "Ilya Sorokin",
      "team": "NYI",
      "gamesPlayed": 55,
      "wins": 29,
      "losses": 24,
      "savePct": 0.906,
      "gaa": 2.68,
      "gsax": 28.5,
      "shutouts": 7,
      "expectedGoalsAgainst": 172.5,
      "highDangerSavePct": 0.894,
      "rollingSavePct": 0.922,
      "rollingGsax": -3.6,
      "trend": "down",
      "restDays": 1
    },
    {
      "playerId": 8480280,
      "playerName": "Jeremy Swayman",
      "team": "BOS",
      "gamesPlayed": 55,
      "wins": 31,
      "losses": 18,
      "savePct": 0.908,
      "gaa": 2.71,
      "gsax": 25,
      "shutouts": 2,
      "expectedGoalsAgainst": 171,
      "highDangerSavePct": 0.895,
      "rollingSavePct": 0.945,
      "rollingGsax": 7,
      "trend": "stable",
      "restDays": 3
    }
  ]
}

Response fields

FieldTypeDescription
goalies[].playerIdintegerPlayer ID
goalies[].playerNamestringGoalie name
goalies[].teamstringTeam abbreviation
goalies[].teamNamestringFull team name
goalies[].gamesPlayedintegerGames played
goalies[].winsintegerWins
goalies[].lossesintegerLosses
goalies[].otLossesintegerOvertime losses
goalies[].savePctnumberSave percentage
goalies[].gaanumberGoals against average
goalies[].gsaxnumberGoals saved above expected
goalies[].shutoutsintegerShutouts
goalies[].highDangerSavePctnumberSave percentage on shots inside the slot, about a quarter of all shots
goalies[].rollingSavePctnumberSave percentage over the last 10 appearances
goalies[].trendstringRecent form against the season: up, down or stable
goalies[].restDaysintegerDays since last start

Related endpoints

Try it

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