NHL Roster and Schedule Scraper
Pricing
from $7.50 / 1,000 results
NHL Roster and Schedule Scraper
Scrapes NHL team rosters and schedules by tricode and season. Returns player details or game data as flat rows for export.
Pricing
from $7.50 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
NHL Roster and Schedule Scraper
Scrape NHL team rosters and schedules for any season, up to a million records per run. Pull player names, positions, jersey numbers, game dates, opponents, and results. No API key or login. Export to CSV, JSON, Excel, or XML.
The NHL's official API requires registration and rate limits that slow down bulk collection. This actor reads public roster and schedule data directly, filtered by team, season, and data type, and returns each match in one fixed schema. Get the exact player and game data you need without writing a single request.
| Who uses it | What they scrape NHL.com for |
|---|---|
| Sports analysts | Build historical player and game datasets for performance modeling. |
| Fantasy hockey developers | Pull current rosters and upcoming schedules for app integrations. |
| Media outlets | Automate game previews and roster updates for publishing. |
| Data engineers | Feed NHL data pipelines with clean, structured records. |
What it does
This Actor collects NHL roster and schedule data by team tricode and season, and returns each player or game as a flat row.
- ๐ Roster mode: player name, position, jersey number, and status for a given team and season.
- ๐ Schedule mode: game date, opponent, home/away, and final score for a given team and season.
- ๐ Combined mode: pull both rosters and schedules in a single run, delivered as separate datasets.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with NHL.com data
๐ Build historical performance datasets.
A sports analyst pulls ten years of rosters and schedules for the Boston Bruins to model player durability and team performance trends.
๐ฑ Power a fantasy hockey app.
A developer scrapes current rosters and the upcoming week's schedule for all Canadian teams to feed a lineup optimizer.
๐ฐ Automate game previews.
A media outlet pulls the next day's schedule and home-team rosters to generate automated pre-game articles.
๐ Scout player movement.
A recruiter scrapes rosters across multiple seasons for the Detroit Red Wings to track call-ups, trades, and roster churn.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Reads public NHL data directly, no registration or OAuth. |
| Full season history | Pull rosters and schedules for any season, past or present. |
| Structured output | Every player and game returns in a consistent, flat schema. |
| Bulk ready | Collect up to a million records per run for large-scale analysis. |
How it compares
No other Store actor targets NHL.com the same way, so the honest comparison is with the alternatives teams actually weigh.
| NHL Roster and Schedule Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When NHL.com changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor from a team tricode and optional season code, and choose to pull rosters, schedules, or both so only the data you need reaches your dataset. The Input tab lists every parameter.
A first run with the defaults:
{"team": "BOS","maxItems": 10,"mode": "both"}
A larger pull:
{"team": "BOS","maxItems": 200,"mode": "both"}
Pricing
Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the NHL Roster and Schedule Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to NHL.com through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/nhl-roster-schedule-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting an empty dataset?
Check that the team tricode and season code are valid. If the season hasn't started yet, schedule data may be empty. Try a past season to verify the actor works.
The actor returns fewer records than my maxItems setting.
The actor stops when it has collected all available data for the selected team, mode, and season. A roster typically has 20-30 players, and a schedule has 82 games, so the actual count may be lower than your limit.
I got an error about an invalid season code.
Season codes must be in the format YYYYYYYY, like 20252026. Make sure you entered eight digits with no spaces or dashes. If the season is in the future, some data may not be available yet.
The schedule shows 'TBD' for scores.
Games that haven't been played yet will have no final score. Run the actor again after the game date to collect completed results.
FAQ
| Question | Answer |
|---|---|
| What is a team tricode? | A tricode is the three-letter abbreviation the NHL uses for each team, like BOS for Boston Bruins or TOR for Toronto Maple Leafs. You select it from the dropdown in the input. |
| Can I scrape data for multiple teams at once? | This actor runs for one team per execution. To scrape multiple teams, run separate instances or use an Apify task with an array of team tricodes. |
| How do I specify a season? | Enter the season code in the optional field, like 20252026 for the 2025-26 season. If you leave it blank, the actor defaults to the current season. |
| What data comes back in roster mode? | Each row is a player and includes their full name, position, jersey number, and current roster status for the selected team and season. |
| What data comes back in schedule mode? | Each row is a game and includes the date, opponent team, home or away designation, and the final score if the game is complete. |
| Can I get both rosters and schedules in one run? | Yes, set the mode to 'Both' and the actor will collect roster and schedule data in the same execution, outputting them as separate datasets. |
| Does this work for past seasons? | Yes, you can pull rosters and schedules for any historical season by entering the correct season code, as far back as the NHL's public data allows. |
| Is there a rate limit? | The actor reads public feeds and is designed to stay within reasonable request rates. You can set a maximum record count to control the run size. |
| What export formats are supported? | You can export your results to CSV, JSON, Excel, or XML directly from the Apify dataset tab. |
| Do I need an NHL API key? | No, this actor scrapes publicly available NHL data and requires no registration, API key, or login. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by National Hockey League. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
