Hockey Reference Scraper | NHL Stats and History
Pricing
from $19.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Share

🏒 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 media | Season 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
| Input | Type | Default | Behavior |
|---|---|---|---|
| season | string | "2024" | NHL season end year. Enter "2024" for the 2023-24 season, "2023" for 2022-23, etc. |
| playerType | string | "skaters" | "skaters" or "goalies". Controls which stat table is scraped. |
| maxItems | integer | 10 | Records 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: 50gives you the top 50 point producers for the season. For traded players, the scraper deduplicates by player ID and keeps only the totals row (labeled2TM,3TM, etc.), not the individual team splits.
📊 Output
🧾 Skater Schema
Each skater record contains 13 fields. Download as CSV, Excel, JSON, or XML.
| Field | Type | Example |
|---|---|---|
🏷️ playerName | string | "Nikita Kucherov" |
🆔 playerId | string | "kucheni01" |
🏒 team | string | "TBL" |
📍 position | string | "RW" |
🎮 gamesPlayed | integer | 81 |
🥅 goals | integer | 44 |
🎯 assists | integer | 100 |
⭐ points | integer | 144 |
➕ plusMinus | integer | 8 |
⏱️ penaltyMinutes | integer | 22 |
🎯 shots | integer | 306 |
📊 shootingPct | number | 14.4 |
🏆 gameWinningGoals | integer | 6 |
📅 season | string | "2024" |
🕒 scrapedAt | ISO 8601 | "2026-05-22T02:48:23.734Z" |
❌ error | string | null | null |
📦 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
| Approach | Cost | Coverage | Refresh | Setup |
|---|---|---|---|---|
| ⭐ Hockey Reference Scraper (this Actor) | $5 free credit, then pay-per-use | All 900+ players per season | Live per run | ⚡ 2 min |
| NHL API (official) | Free | Current season only | Real-time | 🐢 Hours to parse |
| Manual copy-paste from hockey-reference.com | Free | Full history | Manual | 🕒 Hours per table |
| Commercial sports data APIs | $200+/month | Licensed | Delayed feed | ⏳ Days |
🚀 How to use
- 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
- 🌐 Open the Actor. Go to the Hockey Reference NHL Stats Scraper page on the Apify Store.
- 🎯 Set input. Pick your season (e.g.
"2024"), player type ("skaters"or"goalies"), andmaxItems. - 🚀 Run it. Click Start and wait under 2 minutes.
- 📥 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
🔌 Automating Hockey Reference Scraper
Control the scraper programmatically for scheduled runs and pipeline integrations:
- 🟢 Node.js. Install the
apify-clientNPM package. - 🐍 Python. Use the
apify-clientPyPI 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.
🤖 Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- 💬 ChatGPT
- 🧠 Claude
- 🔍 Perplexity
- 🅒 Copilot
❓ 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.
🔗 Recommended Actors
| Actor | Description |
|---|---|
| ⚽ FBref Scraper | Soccer stats from the Sports Reference network |
| 🏟️ ESPN Sports Scraper | Standings and scores for NHL, NBA, NFL, MLB |
| 🏈 Dick's Sporting Goods Scraper | Sports equipment prices and availability |
| ♟️ Chess.com Scraper | Chess player profiles and game history |
| 🎮 RAWG Video Games Scraper | Game 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.