Hockey Reference Scraper | NHL Stats and History avatar

Hockey Reference Scraper | NHL Stats and History

Pricing

from $19.00 / 1,000 results

Go to Apify Store
Hockey Reference Scraper | NHL Stats and History

Hockey Reference Scraper | NHL Stats and History

Pull NHL player, team, and game data from Hockey Reference including box scores, season stats, advanced metrics, standings, awards, and historical records. Built for hockey analytics, fantasy NHL tools, betting models, and sports journalism workflows requiring deep data.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Categories

Share

ParseForge Banner

🏒 Hockey Reference NHL Stats Scraper

🚀 Export NHL player statistics in seconds. Pull skater and goalie stats for any season from Hockey Reference - goals, assists, points, plus-minus, shooting percentage, game-winning goals, and more. No API key, no manual copy-paste, no stale CSVs.

🕒 Last updated: 2026-05-22 · 📊 13 fields per skater record · 🏒 900+ players per season · 🌎 All 32 NHL teams · 📅 Historical seasons available

The Hockey Reference NHL Stats Scraper extracts season statistics from hockey-reference.com - the most authoritative NHL historical database on the web, maintained by Sports Reference. Every record returns real-time data pulled directly from the source, including player identity, team, position, and the full statistical profile for skaters or goalies.

The scraper covers every skater and goalie who played in the NHL for any given season, sorted by points. Choose the 2023-24 season (enter 2024), the Stanley Cup-winning 2022 Avalanche era, or go back to any modern season. Results are available as CSV, Excel, JSON, or XML in under two minutes.

🎯 Target Audience💡 Primary Use Cases
Sports analysts, fantasy hockey managers, data journalists, hockey coaches, ML researchers, betting analysts, sports mediaSeason leaderboards, player ranking, fantasy draft prep, historical trend analysis, coaching analytics, ML model training

📋 What the Hockey Reference NHL Stats Scraper does

Two data workflows from a single run:

  • 🏒 Skater stats. All skaters for any NHL season - goals, assists, points, plus-minus, penalty minutes, shots, shooting percentage, and game-winning goals.
  • 🥅 Goalie stats. All goaltenders for any season - games played, wins, losses, OT losses, save percentage, goals against average, shutouts, shots against, and saves.

Each skater record includes the Hockey Reference player ID (e.g. mcdavco01) for cross-referencing with other Sports Reference databases, the team abbreviation, and the exact season year string.

💡 Why it matters: Hockey Reference is the gold standard for NHL statistics. Building your own scraper means fighting cookie banners, HTML comment blocks, and bot detection. This Actor handles all of that with residential proxy rotation and browser stealth, so you get clean structured data on the first click.


🎬 Full Demo

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


⚙️ Input

InputTypeDefaultBehavior
seasonstring"2024"NHL season end year. Enter "2024" for the 2023-24 season, "2023" for 2022-23, etc.
playerTypestring"skaters""skaters" or "goalies". Controls which stat table is scraped.
maxItemsinteger10Records to return. Free plan caps at 10, paid plan at 1,000,000.

Example: Top 50 skaters from the 2023-24 season.

{
"season": "2024",
"playerType": "skaters",
"maxItems": 50
}

Example: All goalies from the 2022-23 season.

{
"season": "2023",
"playerType": "goalies",
"maxItems": 100
}

⚠️ Good to Know: Hockey Reference sorts skaters by points (descending) by default, so the top scorers appear first. maxItems: 50 gives you the top 50 point producers for the season. For traded players, the scraper deduplicates by player ID and keeps only the totals row (labeled 2TM, 3TM, etc.), not the individual team splits.


📊 Output

🧾 Skater Schema

Each skater record contains 13 fields. Download as CSV, Excel, JSON, or XML.

FieldTypeExample
🏷️ playerNamestring"Nikita Kucherov"
🆔 playerIdstring"kucheni01"
🏒 teamstring"TBL"
📍 positionstring"RW"
🎮 gamesPlayedinteger81
🥅 goalsinteger44
🎯 assistsinteger100
pointsinteger144
plusMinusinteger8
⏱️ penaltyMinutesinteger22
🎯 shotsinteger306
📊 shootingPctnumber14.4
🏆 gameWinningGoalsinteger6
📅 seasonstring"2024"
🕒 scrapedAtISO 8601"2026-05-22T02:48:23.734Z"
errorstring | nullnull

📦 Sample skater records


✨ Why choose this Actor

Capability
🏒All 900+ skaters per season. Every player who dressed for an NHL game that year, not just stars.
🥅Goalie mode. Switch to goalies for GAA, save percentage, shutouts, and wins.
📅Any season, any year. Just change the season input - 1990s dynasties to the present.
🆔Sports Reference player IDs. Cross-reference with baseball-reference.com, fbref.com, and the full Sports Reference network.
Fast. 10 players in under 20 seconds, 900+ full season in under 2 minutes.
🛡️Stealth. Residential proxy + camoufox browser fingerprinting bypasses bot detection.
🔁Real-time. Every run pulls live data. No cached snapshots, no stale CSVs.

📊 Hockey Reference is cited by NHL front offices, national media, and betting models as the authoritative source for historical NHL statistics.


📈 How it compares to alternatives

ApproachCostCoverageRefreshSetup
⭐ Hockey Reference Scraper (this Actor)$5 free credit, then pay-per-useAll 900+ players per seasonLive per run⚡ 2 min
NHL API (official)FreeCurrent season onlyReal-time🐢 Hours to parse
Manual copy-paste from hockey-reference.comFreeFull historyManual🕒 Hours per table
Commercial sports data APIs$200+/monthLicensedDelayed feed⏳ Days

🚀 How to use

  1. 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
  2. 🌐 Open the Actor. Go to the Hockey Reference NHL Stats Scraper page on the Apify Store.
  3. 🎯 Set input. Pick your season (e.g. "2024"), player type ("skaters" or "goalies"), and maxItems.
  4. 🚀 Run it. Click Start and wait under 2 minutes.
  5. 📥 Download. Grab your results from 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

🏒 Fantasy Hockey & Sports Betting

  • Build pre-draft rankings with current shooting percentage and game-winning goals
  • Track plus-minus trends across multiple seasons for handicapping
  • Identify breakout candidates using shots and shooting percentage delta
  • Automate weekly stat refreshes for live fantasy leagues

📰 Sports Media & Journalism

  • Pull top-10 scorers lists for articles without manual table exports
  • Build season comparison graphics with consistent field names
  • Track milestone races (goal 50, point 100) with live data
  • Archive historical season leaders for longform features

🤖 Machine Learning & Analytics

  • Train player-performance prediction models with multi-season datasets
  • Build clustering models to identify player archetypes by stat profile
  • Cross-reference with salary data for efficiency models
  • Feature engineering pipelines for expected-goals projections

🏟️ Coaching & Front Office

  • Evaluate opponents' top threats by points and shooting percentage
  • Scout trade targets by position and plus-minus across recent seasons
  • Build internal dashboards with auto-refreshed season stats
  • Compare current roster to historical equivalents

🔌 Automating Hockey Reference 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 API documentation for full details.

The Apify Schedules feature lets you trigger this Actor on any cron interval. Set a weekly refresh at the start of each week during the NHL season to keep your database in sync with the latest stats.


🌟 Beyond business use cases

Structured NHL statistics power more than commercial workflows. The same dataset supports research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Hockey analytics research and peer-reviewed papers
  • Sports economics studies correlating salary and performance
  • Reproducible research with versioned season pulls
  • Network analysis of NHL player movement and team composition

🎨 Personal and creative

  • Side projects and indie hockey analytics apps
  • Personal fantasy hockey dashboards and draft tools
  • Content research for hockey bloggers, podcasters, and creators
  • Hobbyist stat databases and personal record-tracking

🤝 Non-profit and civic

  • Youth hockey program benchmarking against NHL benchmarks
  • Journalism on player demographics, salaries, and diversity
  • Open datasets for the hockey analytics community
  • Academic support for sports science programs

🧪 Experimentation

  • Train point-prediction or WAR-equivalent ML models
  • Validate new hockey metrics against official totals
  • Prototype agent pipelines for automated sports commentary
  • Test dashboard concepts with real season 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?

Enter a season year and player type, click Start, and the Actor loads the Hockey Reference stats page using a stealth browser with residential proxy rotation. The stats table is parsed with cheerio and each row is emitted as a clean structured record. No captchas, no rate limits in normal use.

📅 What seasons are available?

Any modern NHL season is available. Enter the end year of the season: "2024" for 2023-24, "2023" for 2022-23, and so on back to the early 1990s and beyond. Hockey Reference maintains records going back to the 1917-18 season.

🔄 How are traded players handled?

Hockey Reference shows a totals row (labeled with the number of teams, e.g. TBL+EDM shows as the first row for that player) plus per-team rows. This Actor keeps only the first occurrence of each player ID, which is always the totals row, so traded players appear once with their full-season combined stats.

🥅 Can I get goalie stats?

Yes. Set playerType to "goalies" and the Actor switches to the goalie stats table, returning wins, losses, OT losses, save percentage, GAA, shutouts, shots against, and saves.

⏰ Can I schedule regular season refreshes?

Yes. Use Apify Schedules to run this Actor weekly during the NHL season. Set maxItems high (e.g. 1000) and the full skater leaderboard refreshes on your chosen cadence.

💳 Do I need a paid Apify plan?

No. The free plan is enough to test (10 records per run). A paid plan lifts the limit, gives you scheduling, and lets you pull the full 900+ player roster per season.

🔁 What happens if a run fails?

Inspect the log in the Runs tab on Apify Console. The most common cause is a proxy timeout - re-running usually succeeds. The Actor logs the exact URL it attempted, making diagnosis straightforward.

📊 What fields are available for goalies?

Goalie records include: playerName, playerId, team, position, gamesPlayed, wins, losses, otLosses, savePercentage, goalsAgainstAvg, shutouts, shotsAgainst, saves, season, scrapedAt.

🏒 Why are skaters sorted by points?

Hockey Reference's default sort is points descending. The scraper preserves this order. Set maxItems to 50 to get the top 50 scorers, or set it to 1000 to get the full roster sorted the same way.

🆘 What if I need help?

Reach out via the contact form linked below. Include the season and player type that caused the issue, and attach the run log from Apify Console.


🔌 Integrate with any app

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

  • Make - Automate multi-step workflows with NHL data
  • Zapier - Connect with 5,000+ apps
  • Slack - Get run notifications in your channels
  • Airbyte - Pipe stats into your data warehouse
  • GitHub - Trigger runs from commits and releases
  • Google Drive - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh player stats into your product backend, or alert your fantasy hockey league in Slack.


ActorDescription
⚽ FBref ScraperSoccer stats from the Sports Reference network
🏟️ ESPN Sports ScraperStandings and scores for NHL, NBA, NFL, MLB
🏈 Dick's Sporting Goods ScraperSports equipment prices and availability
♟️ Chess.com ScraperChess player profiles and game history
🎮 RAWG Video Games ScraperGame data for sports titles and more

💡 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.


Data is sourced from hockey-reference.com for informational and research purposes. All statistics are the property of Sports Reference LLC. This Actor is not affiliated with, endorsed by, or sponsored by Sports Reference LLC or the NHL.