NHL API - Hockey Statistics avatar

NHL API - Hockey Statistics

Pricing

from $0.01 / 1,000 results

Go to Apify Store
NHL API - Hockey Statistics

NHL API - Hockey Statistics

Access NHL hockey statistics, schedules, standings, player stats & game results. Historical data & live updates for sports betting & analytics applications.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

The Howlers

The Howlers

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

0

Monthly active users

8 days ago

Last modified

Features

Limited permissions

Share

NHL API

Live NHL hockey data from the official NHL web API: standings, teams, rosters, team and league schedules, game box scores, player stats and league leaders. The injury report comes from ESPN's public hockey feed. No API key needed.

Each run executes one task and returns one dataset item with the result in data.


Quick start

{
"task": "standings"
}

More examples:

{ "task": "standings", "season": "20252026" }
{ "task": "teams" }
{ "task": "team_roster", "teamId": "TOR" }
{ "task": "team_schedule", "teamId": "BOS" }
{ "task": "schedule", "date": "2026-10-21" }
{ "task": "game_boxscore", "gameId": 2026020152 }
{ "task": "player_stats", "playerId": 8478402 }
{ "task": "leaders", "leaderCategory": "goals", "limit": 20 }
{ "task": "injury_report", "teamId": "EDM" }

Tasks

TaskWhat you get
standingsAll 32 teams grouped by division: GP, W, L, OTL, points, point %, goals for and against, differential, regulation wins, streak, last 10, league and wild-card rank
teamsAll 32 teams with abbreviation, name, conference and division
team_rosterForwards, defensemen and goalies with number, position, shoots/catches, height, weight, birth date and place
team_scheduleA team's full season (preseason, regular season, playoffs) with dates, venues, scores and broadcasts
scheduleAll games on a date (default today) with start times, status and scores
game_boxscoreFinal or live score, shots, and every skater and goalie line for both teams
player_statsBio, season stats (skater or goalie), career regular-season totals and last 5 games
leadersTop players in goals, assists, points, goalie wins, GAA or save %
injury_reportLeague-wide or one team's injuries with status, injury, expected return date and latest note (source: ESPN)

Input parameters

ParameterTypeDefaultDescription
taskstring"standings"Which data to fetch (see Tasks)
teamIdstring-Team abbreviation (TOR, BOS, EDM, NYR, VGK, UTA). Required for team_roster and team_schedule, optional filter for injury_report
playerIdinteger-NHL player id for player_stats: 8478402 = Connor McDavid, 8479318 = Auston Matthews, 8478048 = Igor Shesterkin
gameIdinteger-NHL game id for game_boxscore. Get ids from schedule or team_schedule
seasonstringcurrentSeason as 20252026 (also accepts 2025-26)
datestringtodayYYYY-MM-DD for schedule; also filters team_schedule
leaderCategorystring"points"goals, assists, points, wins, gaa, savePct
limitinteger-leaders: number of players (1-50, default 10). team_schedule: first N games
demoModebooleanfalseReturn a small fixed SAMPLE dataset instead of live data (free, labelled source: "sample")
webhookUrlstring-POST the result to this URL (Zapier, Make, n8n or your own endpoint)

Output

{
"task": "standings",
"success": true,
"source": "nhl",
"timestamp": "2026-10-22T19:49:19.524Z",
"data": {
"season": "20262027",
"asOf": "2026-10-22",
"count": 32,
"standings": [ { "division": "Metropolitan", "conference": "Eastern", "teams": [ ... ] } ]
}
}

source is nhl (official NHL API) or espn (injury report, or the standings/teams fallback used if the NHL API is down). If live data cannot be fetched, or the input is invalid (for example team_roster without teamId), the item has "success": false and an error message, and no task event is charged. Live runs never fall back to sample data.


Pricing

Pay per event. You pay only for what a run delivers.

EventWhen it is chargedPrice
Actor startOnce when the run starts, one event per GB of memory (minimum one). At the default 1 GB of memory that is $0.10 per run$0.10 per GB
Game FetchedPer game data fetched$0.01
Player FetchedPer player stats fetched$0.01
Standings FetchedPer standings fetched$0.02
Teams FetchedPer league team list fetched$0.02
Injuries FetchedPer injury report fetched$0.01
ResultEach item written to the default dataset$0.00001

An injury_report with no listed injuries carries no task charge. Demo mode and failed tasks carry no task charge. This actor needs very little memory, so you can lower the run memory (for example to 1 GB) to cut the start fee.


Troubleshooting

success: false with "has no data for that request": the id, season or date does not exist. Check playerId/gameId, or run team_roster/schedule to find valid ids.

Empty games for schedule: no games on that date (offseason, All-Star break).

"Live NHL data is unavailable right now": the data source did not respond after three tries. Run again in a minute.


Built by John Rippy | Actor Arsenal