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
}
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"
},
]
}
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
}
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