nhlapi/new-api.md

20 KiB

New API Documentation

The NHL has surprised us all with a new API, so that means a new file to track all the parts of it people have discovered so far.

https://api-web.nhle.com/v1/

Notes

TEAM_ABBR is shorthand for the team abbreviation, using the 3 letter ones (WSH, CGY, LAK, etc)

GAME_ID has so far remained the same as before, a combination of season year and a unique id element

Endpoint Tables

Schedule endpoints

GET https://api-web.nhle.com/v1/schedule/now | Gets schedule of games for today (redirects to the corret YYYY-MM-DD format)

click for example (truncated)
// GET https://api-web.nhle.com/v1/schedule/now 

{
  "nextStartDate": "2023-09-30",
  "previousStartDate": "2023-06-10",
  "gameWeek": [
    {
      "date": "2023-09-23",
      "dayAbbrev": "SAT",
      "numberOfGames": 3,
      "games": [
        {
          "id": 2023010001,
          "season": 20232024,
          "gameType": 1,
          "venue": "Rod Laver Arena",
          "neutralSite": true,
          "startTimeUTC": "2023-09-23T04:05:00Z",
          "easternUTCOffset": "-04:00",
          "venueUTCOffset": "+10:00",
          "venueTimezone": "Australia/Melbourne",
          "gameState": "FINAL",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 282,
              "market": "N",
              "countryCode": "CA",
              "network": "SN"
            },
            {
              "id": 324,
              "market": "N",
              "countryCode": "US",
              "network": "NHLN"
            },
            {
              "id": 329,
              "market": "N",
              "countryCode": "US",
              "network": "ESPN+"
            }
          ],
          "awayTeam": {
            "id": 26,
            "city": "Los Angeles",
            "abbrev": "LAK",
            "logo": "https://assets.nhle.com/logos/nhl/svg/LAK_light.svg",
            "awaySplitSquad": true,
            "score": 3
          },
          "homeTeam": {
            "id": 53,
            "city": "Arizona",
            "abbrev": "ARI",
            "logo": "https://assets.nhle.com/logos/nhl/svg/ARI_light.svg",
            "homeSplitSquad": true,
            "score": 5
          },
          "gameOutcome": {
            "lastPeriodType": "REG"
          },
          "winningGoalie": {
            "playerId": 8478971,
            "firstInitial": "C.",
            "lastName": "Ingram"
          },
          "winningGoalScorer": {
            "playerId": 8483431,
            "firstInitial": "L.",
            "lastName": "Cooley"
          },
          "specialEvent": "Global Series",
          "gameCenterLink": "/gamecenter/lak-vs-ari/2023/09/23/2023010001"
        },
      ]
    }
  ],
  "oddsPartners": [
    {
      "partnerId": 1,
      "country": "CA",
      "name": "BET365",
      "imageUrl": "https://assets.nhle.com/betting_partner/bet365.svg",
      "siteUrl": "https://www.on.bet365.ca/olp/nhl",
      "bgColor": "#086D51",
      "textColor": "#FFFFFF",
      "accentColor": "#FDDE14"
    },
    {
      "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": "#000000",
      "textColor": "#FFFFFF",
      "accentColor": "#3AAA35"
    },
    {
      "partnerId": 3,
      "country": "CZ",
      "name": "Tipsport",
      "imageUrl": "https://assets.nhle.com/betting_partner/tipsport.svg",
      "siteUrl": "https://www.tipsport.cz/PartnerRedirectAction.do?pid=16961&sid=20360&bid=34954&tid=11268",
      "bgColor": "#2497F2",
      "textColor": "#FFFFFF",
      "accentColor": "#FFFFFF"
    },
    {
      "partnerId": 3,
      "country": "SK",
      "name": "Tipsport",
      "imageUrl": "https://assets.nhle.com/betting_partner/tipsport.svg",
      "siteUrl": "https://www.tipsport.sk/PartnerRedirectAction.do?pid=6823&sid=9018&bid=23079&tid=8475",
      "bgColor": "#2497F2",
      "textColor": "#FFFFFF",
      "accentColor": "#FFFFFF"
    },
    {
      "partnerId": 4,
      "country": "DE",
      "name": "Interwetten",
      "imageUrl": "https://assets.nhle.com/betting_partner/interwetten.svg",
      "siteUrl": "https://www.interwetten.de/de/content/sportsbook/promotions/nhlbonus?utm_source=coop&utm_medium=9111_NHL_de&utm_campaign=NHL_NKB&utm_content=lang_de&utm_term=skin)",
      "bgColor": "#FFD200",
      "textColor": "#121212",
      "accentColor": "#000000"
    },
    {
      "partnerId": 5,
      "country": "RU",
      "name": "Liga Stavok",
      "imageUrl": "https://assets.nhle.com/betting_partner/ligastavok.svg",
      "bgColor": "#007354",
      "textColor": "#FFFFFF",
      "accentColor": "#FFEB00"
    },
    {
      "partnerId": 6,
      "country": "FI",
      "name": "Veikkaus",
      "imageUrl": "https://assets.nhle.com/betting_partner/veikkaus.svg",
      "siteUrl": "https://www.veikkaus.fi/fi/vedonlyonti/pitkaveto?t=3-2-1_NHL",
      "bgColor": "#0025F5",
      "textColor": "#FFFFFF",
      "accentColor": "#FFFFFF"
    },
    {
      "partnerId": 8,
      "country": "US",
      "name": "Sportradar",
      "imageUrl": "https://assets.nhle.com/betting_partner/sportsradar.svg",
      "siteUrl": "https://sportradar.com",
      "bgColor": "#000000",
      "textColor": "#FFFFFF",
      "accentColor": "#E6E6E6"
    }
  ],
  "preSeasonStartDate": "2023-09-23",
  "regularSeasonStartDate": "2023-10-10",
  "regularSeasonEndDate": "2024-04-18",
  "playoffEndDate": "2024-06-18",
  "numberOfGames": 55
}


back to top

GET https://api-web.nhle.com/v1/schedule/2023-09-23 | Gets schedule of games for specified date

click for example
// GET https://api-web.nhle.com/v1/schedule/2018-09-01

{
  "nextStartDate": "2018-09-15",
  "previousStartDate": "2018-06-02",
  "gameWeek": [
    {
      "date": "2018-09-01",
      "dayAbbrev": "SAT",
      "numberOfGames": 0,
      "games": []
    },
    {
      "date": "2018-09-02",
      "dayAbbrev": "SUN",
      "numberOfGames": 0,
      "games": []
    },
    {
      "date": "2018-09-03",
      "dayAbbrev": "MON",
      "numberOfGames": 0,
      "games": []
    },
    {
      "date": "2018-09-04",
      "dayAbbrev": "TUE",
      "numberOfGames": 0,
      "games": []
    },
    {
      "date": "2018-09-05",
      "dayAbbrev": "WED",
      "numberOfGames": 0,
      "games": []
    },
    {
      "date": "2018-09-06",
      "dayAbbrev": "THU",
      "numberOfGames": 0,
      "games": []
    },
    {
      "date": "2018-09-07",
      "dayAbbrev": "FRI",
      "numberOfGames": 0,
      "games": []
    }
  ],
  "preSeasonStartDate": "2018-09-15",
  "regularSeasonStartDate": "2018-10-03",
  "regularSeasonEndDate": "2019-04-06",
  "playoffEndDate": "2019-06-12",
  "numberOfGames": 0
}

GET https://api-web.nhle.com/v1/club-schedule-season/TEAM_ABBR/now | gets the full season schedule for the specified team

click for example (truncated)
// GET https://api-web.nhle.com/v1/club-schedule-season/WSH/now

{
  "previousSeason": 20222023,
  "currentSeason": 20232024,
  "clubTimezone": "US/Eastern",
  "clubUTCOffset": "-04:00",
  "games": [
    {
      "id": 2023010006,
      "season": 20232024,
      "gameType": 1,
      "gameDate": "2023-09-24",
      "venue": "Capital One Arena",
      "neutralSite": false,
      "startTimeUTC": "2023-09-24T18:00:00Z",
      "easternUTCOffset": "-04:00",
      "venueUTCOffset": "-04:00",
      "venueTimezone": "US/Eastern",
      "gameState": "FUT",
      "gameScheduleState": "OK",
      "tvBroadcasts": [
        {
          "id": 324,
          "market": "N",
          "countryCode": "US",
          "network": "NHLN"
        },
        {
          "id": 517,
          "market": "H",
          "countryCode": "US",
          "network": "MNMT"
        }
      ],
      "awayTeam": {
        "id": 7,
        "city": "Buffalo",
        "abbrev": "BUF",
        "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
        "awaySplitSquad": false
      },
      "homeTeam": {
        "id": 15,
        "city": "Washington",
        "abbrev": "WSH",
        "logo": "https://assets.nhle.com/logos/nhl/svg/WSH_light.svg",
        "homeSplitSquad": false,
        "hotelLink": "https://www.hilton.com/en/?WT.mc_id=zJWDM0US1MB2OLQ3LocalPartner4DM_Sports_Jun5Coop_Monumental_Capitals_Schedule6MULTIBR7NEHub8i85535",
        "hotelDesc": "Stay With Hilton"
      },
      "ticketsLink": "https://www.ticketmaster.com/event/15005EDCF19B50DD?brand=capitals&artistid=806039&wt.mc_id=NHL_TEAM_WSH_SINGLE_GAME_TICKETS_PAGE_PR1&utm_source=NHL.com&utm_medium=client&utm_campaign=NHL_TEAM_WSH&utm_content=SINGLE_GAME_TICKETS_PAGE_PR1",
      "gameCenterLink": "/gamecenter/buf-vs-wsh/2023/09/24/2023010006"
    },
    {
      "id": 2023010042,
      "season": 20232024,
      "gameType": 1,
      "gameDate": "2023-09-28",
      "venue": "Capital One Arena",
      "neutralSite": false,
      "startTimeUTC": "2023-09-28T23:00:00Z",
      "easternUTCOffset": "-04:00",
      "venueUTCOffset": "-04:00",
      "venueTimezone": "US/Eastern",
      "gameState": "FUT",
      "gameScheduleState": "OK",
      "tvBroadcasts": [
        {
          "id": 324,
          "market": "N",
          "countryCode": "US",
          "network": "NHLN"
        },
        {
          "id": 517,
          "market": "H",
          "countryCode": "US",
          "network": "MNMT"
        }
      ],
      "awayTeam": {
        "id": 17,
        "city": "Detroit",
        "abbrev": "DET",
        "logo": "https://assets.nhle.com/logos/nhl/svg/DET_light.svg",
        "awaySplitSquad": false
      },
      "homeTeam": {
        "id": 15,
        "city": "Washington",
        "abbrev": "WSH",
        "logo": "https://assets.nhle.com/logos/nhl/svg/WSH_light.svg",
        "homeSplitSquad": false,
        "hotelLink": "https://www.hilton.com/en/?WT.mc_id=zJWDM0US1MB2OLQ3LocalPartner4DM_Sports_Jun5Coop_Monumental_Capitals_Schedule6MULTIBR7NEHub8i85536",
        "hotelDesc": "Stay With Hilton"
      },
      "ticketsLink": "https://www.ticketmaster.com/event/15005EDCF19C50DF?brand=capitals&artistid=806039&wt.mc_id=NHL_TEAM_WSH_SINGLE_GAME_TICKETS_PAGE_PR2&utm_source=NHL.com&utm_medium=client&utm_campaign=NHL_TEAM_WSH&utm_content=SINGLE_GAME_TICKETS_PAGE_PR2",
      "gameCenterLink": "/gamecenter/det-vs-wsh/2023/09/28/2023010042"
    },
    
  ]
}

back to top

GET https://api-web.nhle.com/v1/club-schedule/TEAM_ABBR/week/now | ADD description

click for example
// GET https://api-web.nhle.com/v1/schedule/2018-01-01

{
  "nextStartDate": "2018-01-08",
  "previousStartDate": "2017-12-25",
  "gameWeek": [
    {
      "date": "2018-01-01",
      "dayAbbrev": "MON",
      "numberOfGames": 1,
      "games": [
        {
          "id": 2017020601,
          "season": 20172018,
          "gameType": 2,
          "venue": "Citi Field",
          "neutralSite": true,
          "startTimeUTC": "2018-01-01T18:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-05:00",
          "venueTimezone": "America/New_York",
          "gameState": "OFF",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 29,
              "market": "N",
              "countryCode": "US",
              "network": "NBC"
            },
            {
              "id": 281,
              "market": "N",
              "countryCode": "CA",
              "network": "TVAS"
            },
            {
              "id": 282,
              "market": "N",
              "countryCode": "CA",
              "network": "SN"
            }
          ],
          "awayTeam": {
            "id": 3,
            "city": "New York",
            "abbrev": "NYR",
            "logo": "https://assets.nhle.com/logos/nhl/svg/NYR_light.svg",
            "awaySplitSquad": false,
            "score": 3
          },
          "homeTeam": {
            "id": 7,
            "city": "Buffalo",
            "abbrev": "BUF",
            "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_20102011-20192020_light.svg",
            "homeSplitSquad": false,
            "score": 2
          },
          "gameOutcome": {
            "lastPeriodType": "OT"
          },
          "specialEvent": "Winter Classic",
          "gameCenterLink": "/gamecenter/nyr-vs-buf/2018/01/01/2017020601"
        }
      ]
    },
    {
      "date": "2018-01-02",
      "dayAbbrev": "TUE",
      "numberOfGames": 12,
      "games": [
        {
          "id": 2017020602,
          "season": 20172018,
          "gameType": 2,
          "venue": "Air Canada Centre",
          "neutralSite": false,
          "startTimeUTC": "2018-01-03T00:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-05:00",
          "venueTimezone": "America/Toronto",
          "gameState": "OFF",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 38,
              "market": "A",
              "countryCode": "US",
              "network": "SUN"
            },
            {
              "id": 281,
              "market": "N",
              "countryCode": "CA",
              "network": "TVAS"
            },
            {
              "id": 288,
              "market": "H",
              "countryCode": "CA",
              "network": "SNO"
            }
          ],
          "awayTeam": {
            "id": 14,
            "city": "Tampa Bay",
            "abbrev": "TBL",
            "logo": "https://assets.nhle.com/logos/nhl/svg/TBL_light.svg",
            "awaySplitSquad": false,
            "score": 2
          },
          "homeTeam": {
            "id": 10,
            "city": "Toronto",
            "abbrev": "TOR",
            "logo": "https://assets.nhle.com/logos/nhl/svg/TOR_light.svg",
            "homeSplitSquad": false,
            "score": 0
          },
          "gameOutcome": {
            "lastPeriodType": "REG"
          },
          "gameCenterLink": "/gamecenter/tbl-vs-tor/2018/01/02/2017020602"
        },
        {
          "id": 2017020603,
          "season": 20172018,
          "gameType": 2,
          "venue": "Barclays Center",
          "neutralSite": false,
          "startTimeUTC": "2018-01-03T00:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-05:00",
          "venueTimezone": "America/New_York",
          "gameState": "OFF",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 31,
              "market": "A",
              "countryCode": "US",
              "network": "NESN"
            },
            {
              "id": 282,
              "market": "N",
              "countryCode": "CA",
              "network": "SN"
            },
            {
              "id": 299,
              "market": "H",
              "countryCode": "US",
              "network": "MSG+"
            }
          ],
          "awayTeam": {
            "id": 6,
            "city": "Boston",
            "abbrev": "BOS",
            "logo": "https://assets.nhle.com/logos/nhl/svg/BOS_20082009-20222023_light.svg",
            "awaySplitSquad": false,
            "score": 5
          },
          "homeTeam": {
            "id": 2,
            "city": "New York",
            "abbrev": "NYI",
            "logo": "https://assets.nhle.com/logos/nhl/svg/NYI_light.svg",
            "homeSplitSquad": false,
            "score": 1
          },
          "gameOutcome": {
            "lastPeriodType": "REG"
          },
          "gameCenterLink": "/gamecenter/bos-vs-nyi/2018/01/02/2017020603"
        },
        {
          "id": 2017020604,
          "season": 20172018,
          "gameType": 2,
          "venue": "Wells Fargo Center",
          "neutralSite": false,
          "startTimeUTC": "2018-01-03T00:00:00Z",
          "easternUTCOffset": "-05:00",
          "venueUTCOffset": "-05:00",
          "venueTimezone": "US/Eastern",
          "gameState": "OFF",
          "gameScheduleState": "OK",
          "tvBroadcasts": [
            {
              "id": 241,
              "market": "N",
              "countryCode": "US",
              "network": "NBCSN"
            }
          ],
          "awayTeam": {
            "id": 5,
            "city": "Pittsburgh",
            "abbrev": "PIT",
            "logo": "https://assets.nhle.com/logos/nhl/svg/PIT_light.svg",
            "awaySplitSquad": false,
            "score": 5
          },
          "homeTeam": {
            "id": 4,
            "city": "Philadelphia",
            "abbrev": "PHI",
            "logo": "https://assets.nhle.com/logos/nhl/svg/PHI_19992000-20222023_light.svg",
            "homeSplitSquad": false,
            "score": 1
          },
          "gameOutcome": {
            "lastPeriodType": "REG"
          },
          "gameCenterLink": "/gamecenter/pit-vs-phi/2018/01/02/2017020604"
        },
      ]
    }
  ],
  "preSeasonStartDate": "2017-09-16",
  "regularSeasonStartDate": "2017-10-04",
  "regularSeasonEndDate": "2018-04-08",
  "playoffEndDate": "2018-06-07",
  "numberOfGames": 50
}

back to top

GET https://api-web.nhle.com/v1/club-schedule/TEAM_ABBR/month/now | ADD description

Standings

GET https://api-web.nhle.com/v1/standings/now | Gets standings as of the current date

GET https://api-web.nhle.com/v1/standings-season | ADD description

Stats

GET https://api-web.nhle.com/v1/club-stats-season/TEAM_ABBR | Team stats by season

GET https://api-web.nhle.com/v1/player/PLAYER_ID/landing | Player specific stats

GET https://api.nhle.com/stats/rest/en/ | Base stats URL

/config | Stats configuration options. For each stat option and report type, this endpoint describes the default configuration of the columns, filters and sorting.
/franchise? | Franchise info
/country? | Country info
/season? | Season info
/draft? | Draft info

Skater Stats

GET https://api.nhle.com/stats/rest/en/skater | Base end point

Report types:

/summary?
/bios?
/faceoffpercentages?
/faceoffwins?
/goalsForAgainst?
/realtime?
/penalties?
/penaltykill?
/penaltyShots?
/powerplay?
/puckPossessions?
/summaryshooting?
/percentages?
/scoringRates?
/scoringpergame?
/shootout?
/shottype?
/timeonice?

Goalie Stats

GET https://api.nhle.com/stats/rest/en/goalie | Base end point

Report types:

/summary?
/advanced?
/bios?
/daysrest?
/penaltyShots?
/savesByStrength?
/shootout?
/startedVsRelieved?

Team Stats

GET https://api.nhle.com/stats/rest/en/team | Base end point

Report types:

/summary?
/faceoffpercentages?
/daysbetweengames?
/faceoffwins?
/goalsagainstbystrength?
/goalsbyperiod?
/goalsforbystrength?
/leadingtrailing?
/realtime?
/outshootoutshotby?
/penalties?
/penaltykill?
/penaltykilltime?
/powerplay?
/powerplaytime?
/summaryshooting?
/percentages?
/scoretrailfirst?
/shootout?
/shottype?
/goalgames?

Rosters

GET https://api-web.nhle.com/v1/roster/TEAM_ABBR/now | ADD description

GET https://api-web.nhle.com/v1/roster-season/TEAM_ABBR | ADD description

Game details

GET https://api-web.nhle.com/v1/score/now | Linescore details

GET https://api-web.nhle.com/v1/gamecenter/GAME_ID/boxscore | Boxscore details