Skip to content

get_standings

2 creditsBasic lookupPOST /v1/get_standings

Data refreshed · changelog

Current standings with points, point pace, goal differential, and 5v5 possession: Corsi%, Fenwick% and expected goals.

Use it when you want to see how teams rank in the league right now: points, win percentage, goal differential, goals for and against per game, and 5v5 possession. Corsi% and Fenwick% are shares of shot attempts; expected goals are summed from a shot-quality model and calibrated within the season. All four are 5v5 only, which is the convention for team possession.

Parameters

conferencestringoptional
"Eastern" or "Western"
divisionstringoptional
Division name (e.g. "Atlantic")
seasonstringoptional
Season (e.g. "20252026", default current)
leagueenum: nhl | pwhl | ohl | whl | qmjhl | echl | ahl | ushloptional
League. Defaults to nhl. One of: nhl, pwhl, ohl, whl, qmjhl, echl, ahl, ushl.

Notes

  • Over MCP, ask for it in plain English and the client calls get_standings itself. Point any MCP client at https://mcp.puckapi.com/mcp?key=YOUR_API_KEY.
  • Each call costs 2 credits, taken before it runs and refunded if the server errors.
  • Not the call you need? Find the right call by what you are trying to answer.

Request

curl -X POST https://mcp.puckapi.com/v1/get_standings \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY"

Response

json
{
  "standings": [
    {
      "rank": 1,
      "teamAbbrev": "COL",
      "teamName": "Colorado Avalanche",
      "points": 121,
      "gamesPlayed": 82,
      "wins": 55,
      "losses": 16,
      "otLosses": 11,
      "pointPct": 0.738,
      "goalDiff": 99,
      "goalsForPerGame": 3.68,
      "goalsAgainstPerGame": 2.48,
      "corsiPct": 56.7,
      "fenwickPct": 55.9,
      "expectedGoalsFor": 201.2,
      "expectedGoalsAgainst": 153.9
    },
    {
      "rank": 2,
      "teamAbbrev": "CAR",
      "teamName": "Carolina Hurricanes",
      "points": 113,
      "gamesPlayed": 82,
      "wins": 52,
      "losses": 22,
      "otLosses": 8,
      "pointPct": 0.689,
      "goalDiff": 62,
      "goalsForPerGame": 3.32,
      "goalsAgainstPerGame": 2.56,
      "corsiPct": 59.8,
      "fenwickPct": 58.9,
      "expectedGoalsFor": 203.5,
      "expectedGoalsAgainst": 161.4
    }
  ]
}

Response fields

standings[].rankinteger
League or division rank
standings[].teamAbbrevstring
Team abbreviation
standings[].teamNamestring
Full team name
standings[].pointsinteger
Total points
standings[].gamesPlayedinteger
Games played
standings[].winsinteger
Wins
standings[].lossesinteger
Losses
standings[].otLossesinteger
Overtime losses
standings[].pointPctnumber
Points percentage
standings[].goalDiffinteger
Goal differential
standings[].goalsForPerGamenumber
Goals for per game
standings[].goalsAgainstPerGamenumber
Goals against per game
standings[].corsiPctnumber
Corsi percentage, 5v5 shot attempts
standings[].fenwickPctnumber
Fenwick percentage, 5v5 unblocked attempts
standings[].expectedGoalsFornumber
Expected goals for
standings[].expectedGoalsAgainstnumber
Expected goals against

Related endpoints

Try it

500 free credits every month: 250 calls to get_standings, and no card.