NHL Roster and Schedule Scraper avatar

NHL Roster and Schedule Scraper

Pricing

from $7.50 / 1,000 results

Go to Apify Store
NHL Roster and Schedule Scraper

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

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Share

ParseForge

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 itWhat they scrape NHL.com for
Sports analystsBuild historical player and game datasets for performance modeling.
Fantasy hockey developersPull current rosters and upcoming schedules for app integrations.
Media outletsAutomate game previews and roster updates for publishing.
Data engineersFeed 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 keyReads public NHL data directly, no registration or OAuth.
Full season historyPull rosters and schedules for any season, past or present.
Structured outputEvery player and game returns in a consistent, flat schema.
Bulk readyCollect 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 ScraperBuild it in-houseBy hand
SetupRun it now, zero configDays of engineeringNone, but hours per pull
When NHL.com changesMaintained for youYou fix itYou re-learn the page
Proxies, retries, anti-botBuilt inYour problemBrowser only
OutputFixed JSON schema, CSV/Excel exportWhatever you buildCopy-paste
CostPay per resultEngineering timeAnalyst 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 collectedApproximate 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

  1. Create a free Apify account with $5 in credit.
  2. Open the NHL Roster and Schedule Scraper.
  3. Set your inputs and any filters, then click Start.
  4. 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

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

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.