MENU navbar-image

🏒 Hockey (NHL)

The NHL API offers essential endpoints for retrieving hockey schedules, current standings, and live scores. These endpoints enable developers and fans to access up-to-date information about NHL games, team rankings, and ongoing match results, enhancing the experience of following hockey events and statistics.

General

General endpoints include essential features such as accessing the league schedule, current standings across teams, and live scores of ongoing games.

GET /v1/schedule

requires authentication

Get hockey schedule information.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/nhl/schedule'
params = {
  'date': '2024-01-25',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/nhl/schedule';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'date' => '2024-01-25',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/nhl/schedule"
);

const params = {
    "date": "2024-01-25",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/nhl/schedule?date=2024-01-25" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
  "meta": {
    "version": "v1.0",
    "status": 200,
    "copywrite": "https://steadyapi.com",
    "nextStartDate": "2024-02-01",
    "numberOfGames": 35,
    "playoffEndDate": "2024-06-18",
    "preSeasonStartDate": "2023-09-23",
    "previousStartDate": "2024-01-18",
    "regularSeasonEndDate": "2024-04-18",
    "regularSeasonStartDate": "2023-10-10"
  },
  "body": [
    {
      "date": "2024-01-25",
      "dayAbbrev": "THU",
      "numberOfGames": 9,
      "games": [
        {
          "id": 2023020747,
          "season": 20232024,
          "gameType": 2,
          "venue": {
            "default": "Little Caesars Arena"
          },
          "neutralSite": false,
          "startTimeUTC": "2024-01-26T00:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-05:00",
          "venueTimezone": "America/Detroit",
          "gameState": "FUT",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 287,
              "market": "N",
              "countryCode": "CA",
              "network": "SNE",
              "sequenceNumber": 26
            },
            {
              "id": 288,
              "market": "N",
              "countryCode": "CA",
              "network": "SNO",
              "sequenceNumber": 27
            },
            {
              "id": 290,
              "market": "N",
              "countryCode": "CA",
              "network": "SNP",
              "sequenceNumber": 29
            },
            {
              "id": 322,
              "market": "A",
              "countryCode": "US",
              "network": "NBCSP",
              "sequenceNumber": 59
            },
            {
              "id": 351,
              "market": "H",
              "countryCode": "US",
              "network": "BSDET",
              "sequenceNumber": 51
            }
          ],
          "awayTeam": {
            "id": 4,
            "placeName": {
              "default": "Philadelphia",
              "fr": "Philadelphie"
            },
            "abbrev": "PHI",
            "logo": "https://assets.nhle.com/logos/nhl/svg/PHI_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/PHI_dark.svg",
            "awaySplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/PHI/20232024/PHI-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "163.0000"
              },
              {
                "providerId": 3,
                "value": "4.1000"
              },
              {
                "providerId": 9,
                "value": "-105.0000"
              },
              {
                "providerId": 7,
                "value": "-102.0000"
              },
              {
                "providerId": 6,
                "value": "2.5400"
              }
            ]
          },
          "homeTeam": {
            "id": 17,
            "placeName": {
              "default": "Detroit"
            },
            "abbrev": "DET",
            "logo": "https://assets.nhle.com/logos/nhl/svg/DET_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/DET_dark.svg",
            "homeSplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/DET/20232024/DET-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "133.0000"
              },
              {
                "providerId": 3,
                "value": "4.1000"
              },
              {
                "providerId": 9,
                "value": "-115.0000"
              },
              {
                "providerId": 7,
                "value": "-118.0000"
              },
              {
                "providerId": 6,
                "value": "2.3200"
              }
            ]
          },
          "periodDescriptor": {
            "number": 1,
            "periodType": "REG"
          },
          "ticketsLink": "https://www.ticketmaster.com/event/08005ED5C3A83C6F?brand=nhl&wt.mc_id=NHL_LEAGUE_DET_SCHED_PAGE_LINK_GM25&utm_source=nhl.com&utm_medium=client&utm_campaign=NHL_LEAGUE_DET&utm_content=SCHED_PAGE_LINK_GM25",
          "gameCenterLink": "/gamecenter/phi-vs-det/2024/01/25/2023020747"
        },
        {
          "id": 2023020748,
          "season": 20232024,
          "gameType": 2,
          "venue": {
            "default": "Centre Bell"
          },
          "neutralSite": false,
          "startTimeUTC": "2024-01-26T00:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-05:00",
          "venueTimezone": "America/Montreal",
          "gameState": "FUT",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 33,
              "market": "H",
              "countryCode": "CA",
              "network": "RDS",
              "sequenceNumber": 66
            },
            {
              "id": 131,
              "market": "H",
              "countryCode": "CA",
              "network": "TSN2",
              "sequenceNumber": 50
            },
            {
              "id": 409,
              "market": "A",
              "countryCode": "US",
              "network": "MSGSN",
              "sequenceNumber": 88
            }
          ],
          "awayTeam": {
            "id": 2,
            "placeName": {
              "default": "Islanders"
            },
            "abbrev": "NYI",
            "logo": "https://assets.nhle.com/logos/nhl/svg/NYI_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/NYI_dark.svg",
            "awaySplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/NYI/20232024/NYI-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "107.0000"
              },
              {
                "providerId": 3,
                "value": "4.0100"
              },
              {
                "providerId": 9,
                "value": "-148.0000"
              },
              {
                "providerId": 7,
                "value": "-148.0000"
              },
              {
                "providerId": 6,
                "value": "2.0800"
              }
            ]
          },
          "homeTeam": {
            "id": 8,
            "placeName": {
              "default": "Montréal"
            },
            "abbrev": "MTL",
            "logo": "https://assets.nhle.com/logos/nhl/svg/MTL_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/MTL_dark.svg",
            "homeSplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/MTL/20232024/MTL-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "205.0000"
              },
              {
                "providerId": 3,
                "value": "4.0100"
              },
              {
                "providerId": 9,
                "value": "124.0000"
              },
              {
                "providerId": 7,
                "value": "125.0000"
              },
              {
                "providerId": 6,
                "value": "2.8800"
              }
            ]
          },
          "periodDescriptor": {
            "number": 1,
            "periodType": "REG"
          },
          "ticketsLink": "https://www.ticketmaster.ca/event/31005EF47A7D0EDA?lang=en-ca&brand=nhl&wt.mc_id=NHL_LEAGUE_MTL_SCHED_PAGE_LINK_GM25&utm_source=nhl.com&utm_medium=client&utm_campaign=NHL_LEAGUE_MTL&utm_content=SCHED_PAGE_LINK_GM25",
          "gameCenterLink": "/gamecenter/nyi-vs-mtl/2024/01/25/2023020748"
        },
        {
          "id": 2023020749,
          "season": 20232024,
          "gameType": 2,
          "venue": {
            "default": "Canadian Tire Centre",
            "fr": "Centre Canadian Tire"
          },
          "neutralSite": false,
          "startTimeUTC": "2024-01-26T00:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-05:00",
          "venueTimezone": "US/Eastern",
          "gameState": "FUT",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 31,
              "market": "A",
              "countryCode": "US",
              "network": "NESN",
              "sequenceNumber": 78
            },
            {
              "id": 230,
              "market": "H",
              "countryCode": "CA",
              "network": "RDS2",
              "sequenceNumber": 71
            },
            {
              "id": 294,
              "market": "H",
              "countryCode": "CA",
              "network": "TSN5",
              "sequenceNumber": 80
            }
          ],
          "awayTeam": {
            "id": 6,
            "placeName": {
              "default": "Boston"
            },
            "abbrev": "BOS",
            "logo": "https://assets.nhle.com/logos/nhl/svg/BOS_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/BOS_dark.svg",
            "awaySplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/BOS/20232024/BOS-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "112.0000"
              },
              {
                "providerId": 3,
                "value": "4.2900"
              },
              {
                "providerId": 9,
                "value": "-135.0000"
              },
              {
                "providerId": 7,
                "value": "-137.0000"
              },
              {
                "providerId": 6,
                "value": "2.0200"
              }
            ]
          },
          "homeTeam": {
            "id": 9,
            "placeName": {
              "default": "Ottawa"
            },
            "abbrev": "OTT",
            "logo": "https://assets.nhle.com/logos/nhl/svg/OTT_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/OTT_dark.svg",
            "homeSplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/OTT/20232024/OTT-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "188.0000"
              },
              {
                "providerId": 3,
                "value": "4.2900"
              },
              {
                "providerId": 9,
                "value": "114.0000"
              },
              {
                "providerId": 7,
                "value": "116.0000"
              },
              {
                "providerId": 6,
                "value": "2.7800"
              }
            ]
          },
          "periodDescriptor": {
            "number": 1,
            "periodType": "REG"
          },
          "ticketsLink": "https://www.nhl.com/senators/tickets/",
          "gameCenterLink": "/gamecenter/bos-vs-ott/2024/01/25/2023020749"
        },
        {
          "id": 2023020750,
          "season": 20232024,
          "gameType": 2,
          "venue": {
            "default": "Amalie Arena"
          },
          "neutralSite": false,
          "startTimeUTC": "2024-01-26T00:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-05:00",
          "venueTimezone": "US/Eastern",
          "gameState": "FUT",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 359,
              "market": "H",
              "countryCode": "US",
              "network": "BSSUN",
              "sequenceNumber": 86
            },
            {
              "id": 521,
              "market": "A",
              "countryCode": "US",
              "network": "SCRIPPS",
              "sequenceNumber": 87
            }
          ],
          "awayTeam": {
            "id": 53,
            "placeName": {
              "default": "Arizona"
            },
            "abbrev": "ARI",
            "logo": "https://assets.nhle.com/logos/nhl/svg/ARI_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/ARI_dark.svg",
            "awaySplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/ARI/20232024/ARI-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "300.0000"
              },
              {
                "providerId": 3,
                "value": "4.4700"
              },
              {
                "providerId": 9,
                "value": "180.0000"
              },
              {
                "providerId": 7,
                "value": "180.0000"
              },
              {
                "providerId": 6,
                "value": "3.7500"
              }
            ]
          },
          "homeTeam": {
            "id": 14,
            "placeName": {
              "default": "Tampa Bay"
            },
            "abbrev": "TBL",
            "logo": "https://assets.nhle.com/logos/nhl/svg/TBL_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/TBL_dark.svg",
            "homeSplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/TBL/20232024/TBL-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "-134.0000"
              },
              {
                "providerId": 3,
                "value": "4.4700"
              },
              {
                "providerId": 9,
                "value": "-218.0000"
              },
              {
                "providerId": 7,
                "value": "-221.0000"
              },
              {
                "providerId": 6,
                "value": "1.7200"
              }
            ]
          },
          "periodDescriptor": {
            "number": 1,
            "periodType": "REG"
          },
          "ticketsLink": "https://www.nhl.com/lightning/tickets/",
          "gameCenterLink": "/gamecenter/ari-vs-tbl/2024/01/25/2023020750"
        },
        {
          "id": 2023020746,
          "season": 20232024,
          "gameType": 2,
          "venue": {
            "default": "PNC Arena"
          },
          "neutralSite": false,
          "startTimeUTC": "2024-01-26T00:30:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-05:00",
          "venueTimezone": "US/Eastern",
          "gameState": "FUT",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 375,
              "market": "H",
              "countryCode": "US",
              "network": "BSSO",
              "sequenceNumber": 70
            },
            {
              "id": 410,
              "market": "A",
              "countryCode": "US",
              "network": "MSGSN2",
              "sequenceNumber": 79
            }
          ],
          "awayTeam": {
            "id": 1,
            "placeName": {
              "default": "New Jersey"
            },
            "abbrev": "NJD",
            "logo": "https://assets.nhle.com/logos/nhl/svg/NJD_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/NJD_dark.svg",
            "awaySplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/NJD/20232024/NJD-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "205.0000"
              },
              {
                "providerId": 3,
                "value": "4.1900"
              },
              {
                "providerId": 9,
                "value": "136.0000"
              },
              {
                "providerId": 7,
                "value": "136.0000"
              },
              {
                "providerId": 6,
                "value": "3.1500"
              }
            ]
          },
          "homeTeam": {
            "id": 12,
            "placeName": {
              "default": "Carolina",
              "fr": "Caroline"
            },
            "abbrev": "CAR",
            "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/CAR_dark.svg",
            "homeSplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/CAR/20232024/CAR-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "102.0000"
              },
              {
                "providerId": 3,
                "value": "4.1900"
              },
              {
                "providerId": 9,
                "value": "-162.0000"
              },
              {
                "providerId": 7,
                "value": "-162.0000"
              },
              {
                "providerId": 6,
                "value": "1.9200"
              }
            ]
          },
          "periodDescriptor": [],
          "ticketsLink": "https://www.ticketmaster.com/event/2D005EF4A0023F98?brand=nhl&wt.mc_id=NHL_LEAGUE_CAR_SCHED_PAGE_LINK_GM23&utm_source=nhl.com&utm_medium=client&utm_campaign=NHL_LEAGUE_CAR&utm_content=SCHED_PAGE_LINK_GM23",
          "gameCenterLink": "/gamecenter/njd-vs-car/2024/01/25/2023020746"
        },
        {
          "id": 2023020751,
          "season": 20232024,
          "gameType": 2,
          "venue": {
            "default": "American Airlines Center"
          },
          "neutralSite": false,
          "startTimeUTC": "2024-01-26T01:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-06:00",
          "venueTimezone": "US/Central",
          "gameState": "FUT",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 341,
              "market": "A",
              "countryCode": "US",
              "network": "BSSC",
              "sequenceNumber": 84
            },
            {
              "id": 349,
              "market": "H",
              "countryCode": "US",
              "network": "BSSW",
              "sequenceNumber": 61
            },
            {
              "id": 365,
              "market": "A",
              "countryCode": "US",
              "network": "BSSD",
              "sequenceNumber": 81
            }
          ],
          "awayTeam": {
            "id": 24,
            "placeName": {
              "default": "Anaheim"
            },
            "abbrev": "ANA",
            "logo": "https://assets.nhle.com/logos/nhl/svg/ANA_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/ANA_dark.svg",
            "awaySplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/ANA/20232024/ANA-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "390.0000"
              },
              {
                "providerId": 3,
                "value": "4.9100"
              },
              {
                "providerId": 9,
                "value": "275.0000"
              },
              {
                "providerId": 7,
                "value": "267.0000"
              },
              {
                "providerId": 6,
                "value": "5.0000"
              }
            ]
          },
          "homeTeam": {
            "id": 25,
            "placeName": {
              "default": "Dallas"
            },
            "abbrev": "DAL",
            "logo": "https://assets.nhle.com/logos/nhl/svg/DAL_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/DAL_dark.svg",
            "homeSplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/DAL/20232024/DAL-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "-190.0000"
              },
              {
                "providerId": 3,
                "value": "4.9100"
              },
              {
                "providerId": 9,
                "value": "-345.0000"
              },
              {
                "providerId": 7,
                "value": "-340.0000"
              },
              {
                "providerId": 6,
                "value": "1.4600"
              }
            ]
          },
          "periodDescriptor": [],
          "ticketsLink": "https://www.ticketmaster.com/event/0C005EDA97201D9D?brand=nhl&wt.mc_id=NHL_LEAGUE_DAL_SCHED_PAGE_LINK_GM25&utm_source=nhl.com&utm_medium=client&utm_campaign=NHL_LEAGUE_DAL&utm_content=SCHED_PAGE_LINK_GM25",
          "gameCenterLink": "/gamecenter/ana-vs-dal/2024/01/25/2023020751"
        },
        {
          "id": 2023020752,
          "season": 20232024,
          "gameType": 2,
          "venue": {
            "default": "Xcel Energy Center"
          },
          "neutralSite": false,
          "startTimeUTC": "2024-01-26T01:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-06:00",
          "venueTimezone": "US/Central",
          "gameState": "FUT",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 361,
              "market": "H",
              "countryCode": "US",
              "network": "BSN",
              "sequenceNumber": 77
            },
            {
              "id": 363,
              "market": "H",
              "countryCode": "US",
              "network": "BSWI",
              "sequenceNumber": 90
            },
            {
              "id": 375,
              "market": "A",
              "countryCode": "US",
              "network": "BSSO",
              "sequenceNumber": 70
            }
          ],
          "awayTeam": {
            "id": 18,
            "placeName": {
              "default": "Nashville"
            },
            "abbrev": "NSH",
            "logo": "https://assets.nhle.com/logos/nhl/svg/NSH_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/NSH_dark.svg",
            "awaySplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/NSH/20232024/NSH-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "165.0000"
              },
              {
                "providerId": 3,
                "value": "4.0800"
              },
              {
                "providerId": 9,
                "value": "-102.0000"
              },
              {
                "providerId": 7,
                "value": "102.0000"
              },
              {
                "providerId": 6,
                "value": "2.6600"
              }
            ]
          },
          "homeTeam": {
            "id": 30,
            "placeName": {
              "default": "Minnesota"
            },
            "abbrev": "MIN",
            "logo": "https://assets.nhle.com/logos/nhl/svg/MIN_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/MIN_dark.svg",
            "homeSplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/MIN/20232024/MIN-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "132.0000"
              },
              {
                "providerId": 3,
                "value": "4.0800"
              },
              {
                "providerId": 9,
                "value": "-118.0000"
              },
              {
                "providerId": 7,
                "value": "-122.0000"
              },
              {
                "providerId": 6,
                "value": "2.1800"
              }
            ]
          },
          "periodDescriptor": [],
          "ticketsLink": "https://www.ticketmaster.com/event/06005EDB2597862F?brand=nhl&wt.mc_id=NHL_LEAGUE_MIN_SCHED_PAGE_LINK_GM25&utm_source=nhl.com&utm_medium=client&utm_campaign=NHL_LEAGUE_MIN&utm_content=SCHED_PAGE_LINK_GM25",
          "gameCenterLink": "/gamecenter/nsh-vs-min/2024/01/25/2023020752"
        },
        {
          "id": 2023020753,
          "season": 20232024,
          "gameType": 2,
          "venue": {
            "default": "Scotiabank Saddledome"
          },
          "neutralSite": false,
          "startTimeUTC": "2024-01-26T02:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-07:00",
          "venueTimezone": "US/Mountain",
          "gameState": "FUT",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 289,
              "market": "H",
              "countryCode": "CA",
              "network": "SNW",
              "sequenceNumber": 30
            },
            {
              "id": 347,
              "market": "A",
              "countryCode": "US",
              "network": "BSOH",
              "sequenceNumber": 72
            }
          ],
          "awayTeam": {
            "id": 29,
            "placeName": {
              "default": "Columbus"
            },
            "abbrev": "CBJ",
            "logo": "https://assets.nhle.com/logos/nhl/svg/CBJ_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/CBJ_dark.svg",
            "awaySplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/CBJ/20232024/CBJ-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "265.0000"
              },
              {
                "providerId": 3,
                "value": "4.2400"
              },
              {
                "providerId": 9,
                "value": "160.0000"
              },
              {
                "providerId": 7,
                "value": "160.0000"
              },
              {
                "providerId": 6,
                "value": "3.5000"
              }
            ]
          },
          "homeTeam": {
            "id": 20,
            "placeName": {
              "default": "Calgary"
            },
            "abbrev": "CGY",
            "logo": "https://assets.nhle.com/logos/nhl/svg/CGY_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/CGY_dark.svg",
            "homeSplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/CGY/20232024/CGY-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "-120.0000"
              },
              {
                "providerId": 3,
                "value": "4.2400"
              },
              {
                "providerId": 9,
                "value": "-192.0000"
              },
              {
                "providerId": 7,
                "value": "-194.0000"
              },
              {
                "providerId": 6,
                "value": "1.8000"
              }
            ]
          },
          "periodDescriptor": [],
          "ticketsLink": "https://www.ticketmaster.com/event/11005EF4C06131DB?brand=nhl&wt.mc_id=NHL_LEAGUE_CGY_SCHED_PAGE_LINK_GM23&utm_source=nhl.com&utm_medium=client&utm_campaign=NHL_LEAGUE_CGY&utm_content=SCHED_PAGE_LINK_GM23",
          "gameCenterLink": "/gamecenter/cbj-vs-cgy/2024/01/25/2023020753"
        },
        {
          "id": 2023020754,
          "season": 20232024,
          "gameType": 2,
          "venue": {
            "default": "Rogers Place"
          },
          "neutralSite": false,
          "startTimeUTC": "2024-01-26T02:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-07:00",
          "venueTimezone": "America/Edmonton",
          "gameState": "FUT",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 281,
              "market": "N",
              "countryCode": "CA",
              "network": "TVAS",
              "sequenceNumber": 31
            },
            {
              "id": 284,
              "market": "N",
              "countryCode": "CA",
              "network": "SN1",
              "sequenceNumber": 22
            },
            {
              "id": 318,
              "market": "A",
              "countryCode": "US",
              "network": "NBCSCH",
              "sequenceNumber": 54
            }
          ],
          "awayTeam": {
            "id": 16,
            "placeName": {
              "default": "Chicago"
            },
            "abbrev": "CHI",
            "logo": "https://assets.nhle.com/logos/nhl/svg/CHI_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/CHI_dark.svg",
            "awaySplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/CHI/20232024/CHI-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "750.0000"
              },
              {
                "providerId": 3,
                "value": "6.3200"
              },
              {
                "providerId": 9,
                "value": "455.0000"
              },
              {
                "providerId": 7,
                "value": "458.0000"
              },
              {
                "providerId": 6,
                "value": "8.0000"
              }
            ]
          },
          "homeTeam": {
            "id": 22,
            "placeName": {
              "default": "Edmonton"
            },
            "abbrev": "EDM",
            "logo": "https://assets.nhle.com/logos/nhl/svg/EDM_light.svg",
            "darkLogo": "https://assets.nhle.com/logos/nhl/svg/EDM_dark.svg",
            "homeSplitSquad": false,
            "radioLink": "https://d2igy0yla8zi0u.cloudfront.net/EDM/20232024/EDM-radio.m3u8",
            "odds": [
              {
                "providerId": 2,
                "value": "-335.0000"
              },
              {
                "providerId": 3,
                "value": "6.3200"
              },
              {
                "providerId": 9,
                "value": "-625.0000"
              },
              {
                "providerId": 7,
                "value": "-640.0000"
              },
              {
                "providerId": 6,
                "value": "1.2800"
              }
            ]
          },
          "periodDescriptor": [],
          "ticketsLink": "https://www.ticketmaster.com/event/11005F17C68D48D0?brand=nhl&wt.mc_id=NHL_LEAGUE_EDM_SCHED_PAGE_LINK_GM22&utm_source=nhl.com&utm_medium=client&utm_campaign=NHL_LEAGUE_EDM&utm_content=SCHED_PAGE_LINK_GM22",
          "gameCenterLink": "/gamecenter/chi-vs-edm/2024/01/25/2023020754"
        }
      ]
    },
    ...
  ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (403, Unauthorized):


{
    "message": "This action is unauthorized."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/nhl/schedule

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
date optional string

Provide a date. Example: 2024-01-25

GET /v1/standings

requires authentication

Get standings data for each team broken up by divisions.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/nhl/standings'
params = {
  'date': '2024-01-25',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/nhl/standings';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'date' => '2024-01-25',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/nhl/standings"
);

const params = {
    "date": "2024-01-25",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/nhl/standings?date=2024-01-25" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
  "meta": {
    "version": "v1.0",
    "status": 200,
    "copywrite": "https://steadyapi.com"
  },
  "body": [
    {
      "conferenceAbbrev": "W",
      "conferenceHomeSequence": 3,
      "conferenceL10Sequence": 2,
      "conferenceName": "Western",
      "conferenceRoadSequence": 1,
      "conferenceSequence": 1,
      "date": "2024-01-25",
      "divisionAbbrev": "P",
      "divisionHomeSequence": 2,
      "divisionL10Sequence": 2,
      "divisionName": "Pacific",
      "divisionRoadSequence": 1,
      "divisionSequence": 1,
      "gameTypeId": 2,
      "gamesPlayed": 48,
      "goalDifferential": 58,
      "goalDifferentialPctg": 1.208333,
      "goalAgainst": 123,
      "goalFor": 181,
      "goalsForPctg": 3.770833,
      "homeGamesPlayed": 23,
      "homeGoalDifferential": 37,
      "homeGoalsAgainst": 52,
      "homeGoalsFor": 89,
      "homeLosses": 4,
      "homeOtLosses": 2,
      "homePoints": 36,
      "homeRegulationPlusOtWins": 17,
      "homeRegulationWins": 16,
      "homeTies": 0,
      "homeWins": 17,
      "l10GamesPlayed": 10,
      "l10GoalDifferential": 13,
      "l10GoalsAgainst": 25,
      "l10GoalsFor": 38,
      "l10Losses": 0,
      "l10OtLosses": 2,
      "l10Points": 18,
      "l10RegulationPlusOtWins": 8,
      "l10RegulationWins": 7,
      "l10Ties": 0,
      "l10Wins": 8,
      "leagueHomeSequence": 3,
      "leagueL10Sequence": 2,
      "leagueRoadSequence": 1,
      "leagueSequence": 1,
      "losses": 11,
      "otLosses": 5,
      "placeName": {
        "default": "Vancouver"
      },
      "pointPctg": 0.71875,
      "points": 69,
      "regulationPlusOtWinPctg": 0.666667,
      "regulationPlusOtWins": 32,
      "regulationWinPctg": 0.625,
      "regulationWins": 30,
      "roadGamesPlayed": 25,
      "roadGoalDifferential": 21,
      "roadGoalsAgainst": 71,
      "roadGoalsFor": 92,
      "roadLosses": 7,
      "roadOtLosses": 3,
      "roadPoints": 33,
      "roadRegulationPlusOtWins": 15,
      "roadRegulationWins": 14,
      "roadTies": 0,
      "roadWins": 15,
      "seasonId": 20232024,
      "shootoutLosses": 2,
      "shootoutWins": 0,
      "streakCode": "OT",
      "streakCount": 1,
      "teamName": {
        "default": "Vancouver Canucks",
        "fr": "Canucks de Vancouver"
      },
      "teamCommonName": {
        "default": "Canucks"
      },
      "teamAbbrev": {
        "default": "VAN"
      },
      "teamLogo": "https://assets.nhle.com/logos/nhl/svg/VAN_light.svg",
      "ties": 0,
      "waiversSequence": 32,
      "wildcardSequence": 0,
      "winPctg": 0.666667,
      "wins": 32
    },
    ...
  ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (403, Unauthorized):


{
    "message": "This action is unauthorized."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/nhl/standings

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
date optional string

Provide a date. Example: 2024-01-25

GET /v1/scores

requires authentication

Get live game scores for all hockey games.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/nhl/scores'
params = {
  'date': '2024-01-25',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/nhl/scores';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'date' => '2024-01-25',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/nhl/scores"
);

const params = {
    "date": "2024-01-25",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/nhl/scores?date=2024-01-25" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
  "meta": {
    "version": "v1.0",
    "status": 200,
    "copywrite": "https://steadyapi.com"
  },
  "body": {
    "currentDate": "2024-01-25",
    "gameWeek": [
      {
        "date": "2024-01-22",
        "dayAbbrev": "MON",
        "numberOfGames": 6
      },
      ...
    ],
    "oddsPartners": [
      {
        "partnerId": 2,
        "country": "SE",
        "name": "Unibet",
        "imageUrl": "https://assets.nhle.com/betting_partner/unibet.svg",
        "siteUrl": "https://www.unibet.se/betting/sports/filter/ice_hockey/nhl/all/matches",
        "bgColor": "#14805E",
        "textColor": "#FFFFFF",
        "accentColor": "#3AAA35"
      },
      ...
    ],
    "games": [
      {
        "id": 2023020747,
        "season": 20232024,
        "gameType": 2,
        "gameDate": "2024-01-25",
        "venue": {
          "default": "Little Caesars Arena"
        },
        "startTimeUTC": "2024-01-26T00:00:00Z",
        "easternUTCOffset": "-05:00",
        "venueUTCOffset": "-05:00",
        "tvBroadcasts": [
          {
            "id": 287,
            "market": "N",
            "countryCode": "CA",
            "network": "SNE",
            "sequenceNumber": 26
          },
          {
            "id": 288,
            "market": "N",
            "countryCode": "CA",
            "network": "SNO",
            "sequenceNumber": 27
          },
          {
            "id": 290,
            "market": "N",
            "countryCode": "CA",
            "network": "SNP",
            "sequenceNumber": 29
          },
          {
            "id": 322,
            "market": "A",
            "countryCode": "US",
            "network": "NBCSP",
            "sequenceNumber": 59
          },
          {
            "id": 351,
            "market": "H",
            "countryCode": "US",
            "network": "BSDET",
            "sequenceNumber": 51
          }
        ],
        "gameState": "PRE",
        "gameScheduleState": "OK",
        "awayTeam": {
          "id": 4,
          "name": {
            "default": "Flyers"
          },
          "abbrev": "PHI",
          "record": "25-17-6",
          "logo": "https://assets.nhle.com/logos/nhl/svg/PHI_light.svg",
          "odds": [
            {
              "providerId": 2,
              "value": "163.0000"
            },
            {
              "providerId": 3,
              "value": "4.1300"
            },
            {
              "providerId": 9,
              "value": "-105.0000"
            },
            {
              "providerId": 7,
              "value": "-103.0000"
            },
            {
              "providerId": 6,
              "value": "2.5400"
            }
          ]
        },
        "homeTeam": {
          "id": 17,
          "name": {
            "default": "Red Wings"
          },
          "abbrev": "DET",
          "record": "24-18-5",
          "logo": "https://assets.nhle.com/logos/nhl/svg/DET_light.svg",
          "odds": [
            {
              "providerId": 2,
              "value": "133.0000"
            },
            {
              "providerId": 3,
              "value": "4.1300"
            },
            {
              "providerId": 9,
              "value": "-115.0000"
            },
            {
              "providerId": 7,
              "value": "-117.0000"
            },
            {
              "providerId": 6,
              "value": "2.3200"
            }
          ]
        },
        "gameCenterLink": "/gamecenter/phi-vs-det/2024/01/25/2023020747",
        "neutralSite": false,
        "venueTimezone": "America/Detroit",
        "ticketsLink": "https://www.ticketmaster.com/event/08005ED5C3A83C6F?brand=nhl&wt.mc_id=NHL_LEAGUE_DET_SCORE_TAB_APP_GM25&utm_source=nhl.com&utm_medium=client&utm_campaign=NHL_LEAGUE_DET&utm_content=SCORE_TAB_APP_GM25",
        "teamLeaders": [
          {
            "id": 8478439,
            "name": {
              "default": "T. Konecny"
            },
            "headshot": "https://assets.nhle.com/mugs/nhl/20232024/PHI/8478439.png",
            "teamAbbrev": "PHI",
            "category": "goals",
            "value": 22
          },
          {
            "id": 8477946,
            "name": {
              "default": "D. Larkin"
            },
            "headshot": "https://assets.nhle.com/mugs/nhl/20232024/DET/8477946.png",
            "teamAbbrev": "DET",
            "category": "goals",
            "value": 19
          },
          {
            "id": 8476906,
            "name": {
              "default": "S. Gostisbehere"
            },
            "headshot": "https://assets.nhle.com/mugs/nhl/20232024/DET/8476906.png",
            "teamAbbrev": "DET",
            "category": "assists",
            "value": 25
          },
          {
            "id": 8480797,
            "name": {
              "default": "J. Farabee"
            },
            "headshot": "https://assets.nhle.com/mugs/nhl/20232024/PHI/8480797.png",
            "teamAbbrev": "PHI",
            "category": "assists",
            "value": 23
          },
          {
            "id": 8479394,
            "name": {
              "default": "C. Hart"
            },
            "headshot": "https://assets.nhle.com/mugs/nhl/20232024/PHI/8479394.png",
            "teamAbbrev": "PHI",
            "category": "wins",
            "value": 12
          },
          {
            "id": 8479312,
            "name": {
              "default": "A. Lyon"
            },
            "headshot": "https://assets.nhle.com/mugs/nhl/20232024/DET/8479312.png",
            "teamAbbrev": "DET",
            "category": "wins",
            "value": 11
          }
        ]
      },
      ...
    ]
  }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (403, Unauthorized):


{
    "message": "This action is unauthorized."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/nhl/scores

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
date optional string

Provide a date. Example: 2024-01-25

Teams

Teams section of the Hockey (NHL) API includes endpoints for retrieving various team-related data. These endpoints allow developers to access detailed statistics, game schedules, and current rosters for NHL teams.

GET /v1/teams

requires authentication

Get hockey teams information including their id, venue details, division, conference and franchise information.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/nhl/teams'
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/nhl/teams';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/nhl/teams"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/nhl/teams" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
  "meta": {
    "version": "v1.0",
    "status": 200,
    "copywrite": "https://steadyapi.com"
  },
  "body": [
    {
      "id": 1,
      "seasonId": 20232024,
      "commonName": {
        "default": "Devils"
      },
      "abbrev": "NJD",
      "name": {
        "default": "New Jersey Devils",
        "fr": "Devils du New Jersey"
      },
      "placeName": {
        "default": "New Jersey"
      },
      "logo": "https://assets.nhle.com/logos/nhl/svg/NJD_light.svg",
      "darkLogo": "https://assets.nhle.com/logos/nhl/svg/NJD_dark.svg",
      "isNhl": true,
      "french": false
    },
    {
      "id": 2,
      "seasonId": 20232024,
      "commonName": {
        "default": "Islanders"
      },
      "abbrev": "NYI",
      "name": {
        "default": "New York Islanders",
        "fr": "Islanders de New York"
      },
      "placeName": {
        "default": "NY Islanders"
      },
      "logo": "https://assets.nhle.com/logos/nhl/svg/NYI_light.svg",
      "darkLogo": "https://assets.nhle.com/logos/nhl/svg/NYI_dark.svg",
      "isNhl": true,
      "french": false
    },
    ...
  ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (403, Unauthorized):


{
    "message": "This action is unauthorized."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/nhl/teams

Headers

Authorization Bearer {YOUR_AUTH_KEY}

GET /v1/roster

requires authentication

Get hockey teams information including their id, venue details, division, conference and franchise information.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/nhl/teams-roster'
params = {
  'teamAbbrev': 'BOS',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/nhl/teams-roster';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'teamAbbrev' => 'BOS',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/nhl/teams-roster"
);

const params = {
    "teamAbbrev": "BOS",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/nhl/teams-roster?teamAbbrev=BOS" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
  "meta": {
    "version": "v1.0",
    "status": 200,
    "copywrite": "https://steadyapi.com"
  },
  "body": {
    "forwards": [
      {
        "id": 8480003,
        "headshot": "https://assets.nhle.com/mugs/nhl/20232024/BOS/8480003.png",
        "firstName": {
          "default": "Jesper"
        },
        "lastName": {
          "default": "Boqvist"
        },
        "sweaterNumber": 70,
        "positionCode": "C",
        "shootsCatches": "L",
        "heightInInches": 73,
        "weightInPounds": 184,
        "heightInCentimeters": 185,
        "weightInKilograms": 83,
        "birthDate": "1998-10-30",
        "birthCity": {
          "default": "Falun"
        },
        "birthCountry": "SWE"
      },
      ...
    ],
    "defensemen": [
      {
        "id": 8478443,
        "headshot": "https://assets.nhle.com/mugs/nhl/20232024/BOS/8478443.png",
        "firstName": {
          "default": "Brandon"
        },
        "lastName": {
          "default": "Carlo"
        },
        "sweaterNumber": 25,
        "positionCode": "D",
        "shootsCatches": "R",
        "heightInInches": 77,
        "weightInPounds": 217,
        "heightInCentimeters": 196,
        "weightInKilograms": 98,
        "birthDate": "1996-11-26",
        "birthCity": {
          "default": "Colorado Springs"
        },
        "birthCountry": "USA",
        "birthStateProvince": {
          "default": "Colorado"
        }
      },
      ...
    ],
    "goalies": [
      {
        "id": 8480280,
        "headshot": "https://assets.nhle.com/mugs/nhl/20232024/BOS/8480280.png",
        "firstName": {
          "default": "Jeremy"
        },
        "lastName": {
          "default": "Swayman"
        },
        "sweaterNumber": 1,
        "positionCode": "G",
        "shootsCatches": "L",
        "heightInInches": 75,
        "weightInPounds": 195,
        "heightInCentimeters": 191,
        "weightInKilograms": 88,
        "birthDate": "1998-11-24",
        "birthCity": {
          "default": "Anchorage"
        },
        "birthCountry": "USA",
        "birthStateProvince": {
          "default": "Alaska",
          "sk": "Aljaška"
        }
      },
      ...
    ]
  }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (403, Unauthorized):


{
    "message": "This action is unauthorized."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/nhl/teams-roster

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
teamAbbrev required string

Provide a teamAbbrev (located in standings endpoint). Example: BOS

GET /v1/team-games

requires authentication

Get a team's previous and upcoming game information.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/nhl/teams-games'
params = {
  'teamAbbrev': 'DAL',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/nhl/teams-games';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'teamAbbrev' => 'DAL',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/nhl/teams-games"
);

const params = {
    "teamAbbrev": "DAL",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/nhl/teams-games?teamAbbrev=DAL" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
  "meta": {
    "version": "v1.0",
    "status": 200,
    "copywrite": "https://steadyapi.com",
    "previousMonth": "2023-12",
    "currentMonth": "2024-01",
    "nextMonth": "2024-02",
    "clubTimezone": "US/Eastern",
    "clubUTCOffset": "-05:00"
  },
  "body": [
    {
      "id": 2023020574,
      "season": 20232024,
      "gameType": 2,
      "gameDate": "2024-01-02",
      "venue": {
        "default": "Nationwide Arena"
      },
      "neutralSite": false,
      "startTimeUTC": "2024-01-03T00:00:00Z",
      "easternUTCOffset": "-05:00",
      "venueUTCOffset": "-05:00",
      "venueTimezone": "US/Eastern",
      "gameState": "OFF",
      "gameScheduleState": "OK",
      "tvBroadcasts": [
        {
          "id": 31,
          "market": "A",
          "countryCode": "US",
          "network": "NESN",
          "sequenceNumber": 78
        },
        {
          "id": 347,
          "market": "H",
          "countryCode": "US",
          "network": "BSOH",
          "sequenceNumber": 72
        }
      ],
      "awayTeam": {
        "id": 6,
        "placeName": {
          "default": "Boston"
        },
        "abbrev": "BOS",
        "logo": "https://assets.nhle.com/logos/nhl/svg/BOS_light.svg",
        "darkLogo": "https://assets.nhle.com/logos/nhl/svg/BOS_dark.svg",
        "awaySplitSquad": false,
        "airlineLink": "https://www.jetblue.com/#/",
        "airlineDesc": "FLY WITH JETBLUE",
        "score": 4
      },
      "homeTeam": {
        "id": 29,
        "placeName": {
          "default": "Columbus"
        },
        "abbrev": "CBJ",
        "logo": "https://assets.nhle.com/logos/nhl/svg/CBJ_light.svg",
        "darkLogo": "https://assets.nhle.com/logos/nhl/svg/CBJ_dark.svg",
        "homeSplitSquad": false,
        "hotelLink": "https://www.sonesta.com/sonesta-hotels-resorts/oh/columbus/sonesta-columbus-downtown?isGroupCode=false&promoCode=CBJ&checkin=2022-09-09&checkout=2022-09-56",
        "hotelDesc": "BOOK SONESTA COLUMBUS",
        "score": 1
      },
      "periodDescriptor": {
        "number": 3,
        "periodType": "REG"
      },
      "gameOutcome": {
        "lastPeriodType": "REG"
      },
      "winningGoalie": {
        "playerId": 8476999,
        "firstInitial": {
          "default": "L."
        },
        "lastName": {
          "default": "Ullmark"
        }
      },
      "winningGoalScorer": {
        "playerId": 8474037,
        "firstInitial": {
          "default": "J."
        },
        "lastName": {
          "default": "van Riemsdyk"
        }
      },
      "gameCenterLink": "/gamecenter/bos-vs-cbj/2024/01/02/2023020574"
    },
    ...
  ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (403, Unauthorized):


{
    "message": "This action is unauthorized."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/nhl/teams-games

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
teamAbbrev required string

Provide a teamAbbrev (located in standings endpoint). Example: DAL

GET /v1/team-stats

requires authentication

Get the hockey team's stats information.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/nhl/teams-stats'
params = {
  'teamAbbrev': 'WPG',
}
headers = {
  'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}

response = requests.request('GET', url, headers=headers, params=params)
response.json()
$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/nhl/teams-stats';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'teamAbbrev' => 'WPG',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/nhl/teams-stats"
);

const params = {
    "teamAbbrev": "WPG",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
curl --request GET \
    --get "https://api.steadyapi.com/v1/nhl/teams-stats?teamAbbrev=WPG" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
  "meta": {
    "version": "v1.0",
    "status": 200,
    "copywrite": "https://steadyapi.com"
  },
  "body": {
    "season": "20232024",
    "skaters": [
      {
        "playerId": 8473419,
        "headshot": "https://assets.nhle.com/mugs/nhl/20232024/BOS/8473419.png",
        "firstName": {
          "default": "Brad"
        },
        "lastName": {
          "default": "Marchand"
        },
        "positionCode": "L",
        "gamesPlayed": 47,
        "goals": 23,
        "assists": 23,
        "points": 46,
        "plusMinus": 7,
        "penaltyMinutes": 49,
        "powerPlayGoals": 7,
        "shorthandedGoals": 1,
        "gameWinningGoals": 4,
        "overtimeGoals": 1,
        "shots": 128,
        "shootingPctg": 0.179688,
        "avgTimeOnIcePerGame": 1174.9574,
        "avgShiftsPerGame": 24.4468,
        "faceoffWinPctg": 0.439024
      },
      ...
    ],
    "goalies": [
      {
        "playerId": 8476999,
        "headshot": "https://assets.nhle.com/mugs/nhl/20232024/BOS/8476999.png",
        "firstName": {
          "default": "Linus"
        },
        "lastName": {
          "default": "Ullmark"
        },
        "gamesPlayed": 23,
        "gamesStarted": 22,
        "wins": 14,
        "losses": 6,
        "ties": 0,
        "overtimeLosses": 2,
        "goalsAgainstAverage": 2.817143,
        "savePercentage": 0.912983,
        "shotsAgainst": 724,
        "saves": 661,
        "goalsAgainst": 64,
        "shutouts": 0,
        "goals": 0,
        "assists": 0,
        "points": 0,
        "penaltyMinutes": 0,
        "timeOnIce": 81785
      },
      ...
    ]
  }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (403, Unauthorized):


{
    "message": "This action is unauthorized."
}
 

Example response (404, Not Found):


{
    "success": false,
    "message": "Resource Not Found"
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/nhl/teams-stats

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
teamAbbrev required string

Provide a teamAbbrev (located in standings endpoint). Example: WPG