image

NHL scores are one night of games. Standings are the table: points, wins, losses, overtime losses, and the conference and division for each club. You call it when you want the current order, or a snapshot on a date. The abbreviation on each row is the code the roster, team-games, and team-stats routes ask for.

Omit date to use the current day. Pass YYYY-MM-DD for another snapshot.

👉 To access this endpoint, you must obtain an API key: https://steadyapi.com/register


Authentication

Every call uses a Bearer token from your SteadyAPI dashboard.

Documentation:
https://docs.steadyapi.com/#authenticating-requests

headers = {
  'Authorization': 'Bearer YOUR_API_KEY'
}

Where this fits

Standings do not need a previous call. Scores are GET /v1/nhl/scores. The schedule is GET /v1/nhl/schedule. Both take an optional date and return games, not the table. After standings, GET /v1/nhl/teams-roster, GET /v1/nhl/teams-games, and GET /v1/nhl/teams-stats each require teamAbbrev. Use teamAbbrev.default from this list, for example VAN.


Standings for a date

Endpoint: GET /v1/nhl/standings

Documentation:
https://docs.steadyapi.com/#hockey-nhl-GETapi-v1-nhl-standings

Parameters

  • date — optional date, YYYY-MM-DD

The date chooses the snapshot. It does not filter to one conference. You still receive the full list, and you group it with conferenceName and divisionName. There is no team parameter on this route.

Python

import requests

url = "https://api.steadyapi.com/v1/nhl/standings"
headers = {"Authorization": "Bearer YOUR_API_KEY"}

response = requests.get(url, headers=headers, params={"date": "2024-01-25"})
response.raise_for_status()
rows = response.json().get("body", [])

for row in rows[:8]:
    print(
        row.get("teamAbbrev", {}).get("default"),
        row.get("teamName", {}).get("default"),
        row.get("points"),
        row.get("wins"),
        row.get("losses"),
        row.get("conferenceName"),
        row.get("divisionName"),
    )

Annotated sample

{
  "teamName": { "default": "Vancouver Canucks" },
  "teamCommonName": { "default": "Canucks" },
  "teamAbbrev": { "default": "VAN" },
  "placeName": { "default": "Vancouver" },
  "conferenceName": "Western",
  "divisionName": "Pacific",
  "points": 69,
  "wins": 32,
  "losses": 11,
  "otLosses": 5,
  "gamesPlayed": 48,
  "goalFor": 181,
  "goalAgainst": 123,
  "goalDifferential": 58
}

Store teamAbbrev.default with points, wins, losses, and otLosses. teamName.default is the full club name. teamCommonName.default is the short name. placeName.default is the city. conferenceName and divisionName are plain strings, not objects. The row also carries home, road, and last-10 splits (homeWins, roadPoints, l10Points, and similar keys). Ignore those splits until you need them. teamLogo is a logo URL.


Practical use

The list is not pre-sorted into a division table. Group by divisionName, then sort by points. divisionSequence is already on the row if you would rather use the league’s order than sort yourself.

Names are objects with a default key. row["teamAbbrev"] is not the string VAN. The string is row["teamAbbrev"]["default"]. Roster and team-stats expect that string as teamAbbrev.

A date on standings is a table snapshot. The same date on GET /v1/nhl/scores or GET /v1/nhl/schedule is a set of games. Do not read points from a scores response, and do not read a final score from this table.

👉 Get your API key and pull the table: https://steadyapi.com/register

How to Read a Tweet Using SteadyAPI Oct 13, 2026

How to Read a Tweet Using SteadyAPI

Read one tweet by id. The text and counts are on legacy. meta.reply_count is how many replies were included.

How to List MLB Teams Using SteadyAPI Oct 13, 2026

How to List MLB Teams Using SteadyAPI

List MLB clubs and store the numeric id. The roster call takes that id as teamIds.

How to Get an AliExpress Description Using SteadyAPI Oct 12, 2026

How to Get an AliExpress Description Using SteadyAPI

Turn a product-detail description token into ordered text modules. The product id alone is not enough.

How to Estimate Vehicle Depreciation Using SteadyAPI Oct 11, 2026

How to Estimate Vehicle Depreciation Using SteadyAPI

Project trade-in value across years from a vehicle id, mileage, and condition. Mileage here is an integer.