NHL Stats Scraper avatar

NHL Stats Scraper

Pricing

from $25.88 / 1,000 results

Go to Apify Store
NHL Stats Scraper

NHL Stats Scraper

Scrape NHL data from the official NHL Web API - standings, schedules, team stats, rosters, and player profiles. No API key required.

Pricing

from $25.88 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

ParseForge Banner

🏒 NHL Stats Scraper

🚀 Export official NHL data in seconds. Pull the current 32-team standings, full schedules, club season stats, current rosters, and player landing pages from the official NHL data feed. No sign-up, no manual scraping, no setup.

🕒 Last updated: 2026-05-15 · 📊 25+ fields per record · 🏒 All 32 NHL teams · 🏆 Regular / Preseason / Postseason · 🥅 Standings + Schedule + Rosters + Player landing

The NHL Stats Scraper exports official National Hockey League data and returns up to 25+ structured fields per record, including team abbreviation + name, conference + division, games played / wins / losses / OT losses, points and point percentage, regulation wins, goal differential, home / away / last-10 records, current streak, league sequence, official team logo, and a public deep-link to NHL.com.

The Actor covers all 32 NHL teams, the full season schedule by date, club season stats by team and season, current rosters with bio data, and individual player landing pages with career totals, featured stats, draft details, headshots, and hero images. Filter by team, season, or season type (Regular / Preseason / Postseason) to pull only what you need.

🎯 Target Audience💡 Primary Use Cases
Sports media, fantasy-hockey apps, betting analytics teams, fan-engagement platforms, indie sports devs, hockey researchersLive standings, schedule feeds, roster lookups, player profile dashboards, season-stat exports, content automation

📋 What the NHL Stats Scraper does

Five lookup modes in a single run:

  • 🏆 Standings. Current 32-team league standings with conference + division grouping, point totals, regulation wins, goal differential, home / away / last-10 records, and streaks.
  • 📅 Schedule. Games on a chosen date (defaults to today). Filter by season type: R (Regular), PR (Preseason), PO (Postseason).
  • 📊 Team Stats. Club season stats for one or many teams (skaters and goalies merged) for a chosen season code.
  • 👤 Player. Player landing page for one or many player IDs, with sweater number, position, height, weight, birth info, draft details, headshot, hero image, career totals, and featured stats.
  • 📋 Roster. Current roster for one or many teams, grouped by forward / defenseman / goalie with bio fields.

Each standings record includes the canonical NHL identifiers, team logo URL, official metrics from the live feed, and a direct link to the team page.

💡 Why it matters: hockey moves fast, and accurate standings and roster data underpin every fantasy product, betting model, and fan-facing dashboard. Building your own pipeline means juggling NHL's data feed, normalising IDs across season types, and refreshing for every game day.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.


⚙️ Input

InputTypeDefaultBehavior
modestring"standings"One of standings, schedule, teamStats, player, roster.
datestringtodayYYYY-MM-DD. Used in schedule mode.
teamAbbrevstringnoneThree-letter team code (32-team enum, e.g. EDM, TOR, NYR).
teamAbbrevsarray[]Batch lookup. Takes precedence over teamAbbrev.
seasonstring""Eight-digit season code (e.g. 20242025) for teamStats mode.
playerIdstring""NHL player ID for player mode (e.g. 8478402 = Connor McDavid).
playerIdsarray[]Batch player landing lookup.
seasonTypestring""Filter schedule: R = Regular, PR = Preseason, PO = Postseason.
maxItemsinteger10Free plan caps at 10, paid plan at 1,000,000.

Example: current 32-team standings.

{
"mode": "standings",
"maxItems": 32
}

Example: Connor McDavid landing page.

{
"mode": "player",
"playerId": "8478402"
}

⚠️ Good to Know: the season input uses the eight-digit NHL season code format. For the 2024-2025 season, use 20242025. Same goes for past seasons (20232024, 20222023, etc.).


📊 Output

Each standings record contains 25+ fields. Download the dataset as CSV, Excel, JSON, or XML.

🧾 Schema (standings mode)

FieldTypeExample
🏷️ teamAbbrevstring"EDM"
🏒 teamNamestring"Edmonton Oilers"
🌎 conferenceNamestring"Western"
🏆 divisionNamestring"Pacific"
🎮 gamesPlayednumber60
🏅 winsnumber38
lossesnumber18
⏱️ otLossesnumber4
📋 recordSummarystring"38-18-4"
🎯 pointsnumber80
📊 pointPctgnumber0.667
🥇 regulationWinsnumber30
⚖️ goalDifferentialnumber45
goalFornumber220
🥅 goalAgainstnumber175
🏠 homeRecordstring"22-7-2"
🛫 awayRecordstring"16-11-2"
🔟 last10Recordstring"7-2-1"
🔥 streakCodestring"W"
🔢 streakCountnumber3
🔢 leagueSequencenumber1
🖼️ logostring"https://assets.nhle.com/logos/nhl/svg/EDM_light.svg"
🔗 urlstring"https://www.nhl.com/edm"
🕒 scrapedAtISO 8601"2026-05-15T00:00:00.000Z"

📦 Sample record


✨ Why choose this Actor

Capability
🏒Full league. All 32 NHL teams across both conferences and four divisions, with logos and current standings.
📅Daily schedule. Every game on any date, filtered by Regular / Preseason / Postseason.
📊Club season stats. Skater and goalie stats merged with playerId, firstName, lastName, position, plus core counting stats.
👤Player landings. Bio + draft + headshot + hero image + career totals + featured stats per player.
📋Current rosters. Forward / defenseman / goalie groups with bio fields and headshots.
🔁Always fresh. Each run pulls live data, so standings and rosters reflect the current state.
🚫No sign-up. Works against the official NHL public feed. No login or token required.

📊 Reliable NHL data is the foundation of every fantasy product, betting model, and fan-facing dashboard.


📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ NHL Stats Scraper (this Actor)$5 free credit, then pay-per-use32 teams, 5 modes, all season typesLive per runmode, team, season, season type⚡ 2 min
Commercial sports data vendors$$$$/monthFull + extrasStreamingMany⏳ Weeks
Manual stats-page scrapingFreeInconsistentOn demandNone🐢 Days
Free hockey widgetsFreeDisplay-onlyLiveLimited🕒 No raw data

Pick this Actor when you want structured records, all 32 teams, and zero pipeline maintenance.


🚀 How to use

  1. 📝 Sign up. Create a free account w/ $5 credit (takes 2 minutes).
  2. 🌐 Open the Actor. Go to the NHL Stats Scraper page on the Apify Store.
  3. 🎯 Set input. Pick a mode, fill the relevant inputs (team abbreviation, season, or player ID), and set maxItems.
  4. 🚀 Run it. Click Start and let the Actor collect your data.
  5. 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.

⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.


💼 Business use cases

📺 Sports Media & Publishing

  • Daily NHL standings widgets on news sites
  • Auto-generated game previews with rosters
  • Postseason bracket dashboards with live results
  • Push breaking news on hat tricks and shutouts

🎲 Fantasy & Betting Analytics

  • Pre-game roster checks and injury watch
  • Live in-play model inputs from team stats
  • Backtest strategies against full schedule history
  • Postseason-only filters for derivatives markets

🏟️ Fan-Engagement Apps

  • "My team" alerts and push notifications
  • Player stat cards in fan apps and Discord bots
  • Standings leaderboards for fan communities
  • Headshot + hero image galleries for fan-customisation widgets

📊 Analytics & Research

  • Build advanced-metrics dashboards with raw stats
  • Train models on schedule + outcome metadata
  • Cross-reference player IDs across multiple feeds
  • Time-series studies on home / away / streak performance

🔌 Automating NHL Stats Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

  • 🟢 Node.js. Install the apify-client NPM package.
  • 🐍 Python. Use the apify-client PyPI package.
  • 📚 See the Apify documentation for full details.

The Apify Schedules feature lets you trigger this Actor on any cron interval. Refresh standings every minute, daily roster snapshots, or weekly season-stat pulls are all one click.


🌟 Beyond business use cases

Hockey data powers more than commercial products. The same records support research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Sport-analytics coursework with real season data
  • Statistical studies on home advantage and travel
  • Sport-history dissertations grounded in live records
  • Reproducible research pulls with cited timestamps

🎨 Personal and creative

  • Hobbyist team tracker dashboards
  • Discord bots for fan communities
  • Trading-card generators with current rosters
  • Side projects and fan portfolios

🤝 Non-profit and civic

  • Youth-hockey league dashboards
  • Sport-journalism for local newsrooms
  • Inclusion analyses across rosters and birth countries
  • Open-data hackathons on hockey culture

🧪 Experimentation

  • Train win-probability ML models with live standings
  • Prototype agent pipelines that resolve player IDs
  • Validate fan-product hypotheses with real fixture data
  • Test live-stream UX concepts with real game data

🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:


❓ Frequently Asked Questions

🧩 How does it work?

Pick a mode (standings, schedule, teamStats, player, or roster), supply the relevant inputs, and click Start. The Actor pulls fresh records from the official NHL feed and emits a clean structured row per team, game, or player.

🏒 Which teams are supported?

All 32 NHL teams across the Eastern and Western conferences and the four divisions (Atlantic, Metropolitan, Central, Pacific).

📅 Can I get postseason games only?

Yes. Set seasonType to PO (Postseason) and the Actor restricts the schedule to playoff games. PR covers Preseason and R covers the Regular Season.

📊 How do I look up team season stats?

Set mode to teamStats, supply teamAbbrev (or batch with teamAbbrevs), and set season to the eight-digit season code (e.g. 20242025). The Actor returns merged skater + goalie stats with positions and counting metrics.

👤 Can I pull individual player landing pages?

Yes. Set mode to player and supply playerId (e.g. 8478402 for Connor McDavid). Use playerIds for batch lookups (up to 100 per call).

🖼️ Do I get team logos and player headshots?

Yes. Standings include direct logo URLs and player landings include headshot and heroImage URLs ready to embed.

⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run this Actor every minute, hourly, or daily. The dataset always reflects the current state of the live feed.

Only publicly available scoreboard data is collected. Review the NHL's terms of use for your specific use case, particularly if you redistribute or commercialise the content.

💳 Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and unlocks scheduling and higher concurrency.

🔁 What happens if a run fails or gets interrupted?

Apify automatically retries transient errors. If a run still fails, you can inspect the log in the Runs tab, fix the input, and re-run. Partial datasets from failed runs are preserved so you never lose progress.

🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.


🔌 Integrate with any app

NHL Stats Scraper connects to any cloud service via Apify integrations:

  • Make - Automate multi-step workflows
  • Zapier - Connect with 5,000+ apps
  • Slack - Get score updates in your channels
  • n8n - Self-hosted workflow automation
  • Pipedream - Event-driven serverless workflows
  • Airbyte - Pipe hockey data into your warehouse
  • GitHub - Trigger runs from commits
  • Google Drive - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh standings into your product backend, or alert your fans in Slack when their team scores.


💡 Pro Tip: browse the complete ParseForge collection for more reference-data scrapers.


🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.


⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the National Hockey League or any of its clubs. All trademarks mentioned are the property of their respective owners. Only publicly available scoreboard data is collected.