NHL API - Hockey Statistics
Pricing
from $0.01 / 1,000 results
NHL API - Hockey Statistics
Access NHL hockey statistics, schedules, standings, player stats & game results. Historical data & live updates for sports betting & analytics applications.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer

John Rippy
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
NHL API
"Live NHL Data Without the Hassle" by John Rippy | johnrippy.link
Free Access to Official NHL Stats
The NHL API is free but undocumented and complex. Endpoints change, authentication is confusing, and data structures are nested 10 levels deep.
What if you could get clean, simple NHL data with one API call?
The NHL API actor wraps the official NHL Stats API and returns clean, structured data:
- All 32 NHL teams with details
- Full team rosters with player info
- Live and historical standings
- Complete game schedules
- Individual player statistics
- Box scores with game events
- League leaders by category
No API key required. No authentication needed. Just simple JSON responses.
Why Use This Instead of Direct API Access
1. Clean Data Structure
Raw NHL API returns deeply nested JSON. We flatten and normalize everything.
Raw NHL API:
{"teams": [{"id": 1,"name": "New Jersey Devils","teamStats": [{"splits": [{"stat": {"gamesPlayed": 82,"wins": 52,"losses": 22}}]}]}]}
Our API:
{"team": "New Jersey Devils","teamId": 1,"gamesPlayed": 82,"wins": 52,"losses": 22}
2. No Authentication Needed
We handle all the complexity. You just make requests.
3. Stable Endpoints
NHL changes their API frequently. We maintain compatibility.
4. Webhook Support
Get data delivered to your endpoint automatically.
Available Tasks
| Task | Description | Required Params |
|---|---|---|
teams | All 32 NHL teams with basic info | None |
team_roster | Full team roster with players | teamId |
team_schedule | Team's season schedule | teamId |
standings | Current division standings | None |
player_stats | Individual player statistics | playerId |
game_boxscore | Full game box score | gameId |
schedule | League schedule by date | date |
leaders | League leaders by category | leaderCategory |
Quick Start Examples
Example 1: Get Current Standings
{"task": "standings"}
Example 2: Get Team Roster
{"task": "team_roster","teamId": 24}
Example 3: Get Player Stats
{"task": "player_stats","playerId": 8478402,"season": "20242025"}
Example 4: Today's Schedule
{"task": "schedule","date": "2025-12-23"}
Team IDs Reference
| Division | Teams (Abbreviation → ID) |
|---|---|
| Atlantic | BOS→6, BUF→7, DET→17, FLA→13, MTL→8, OTT→9, TBL→14, TOR→10 |
| Metropolitan | CAR→12, CBJ→29, NJD→1, NYI→2, NYR→3, PHI→4, PIT→5, WSH→15 |
| Central | ARI→53, CHI→16, COL→21, DAL→25, MIN→30, NSH→18, STL→19, WPG→52 |
| Pacific | ANA→24, CGY→20, EDM→22, LAK→26, SEA→55, SJS→28, VAN→23, VGK→54 |
Output Examples
Standings Response
{"task": "standings","success": true,"data": {"season": "2024-25","standings": [{"division": "Atlantic","teams": [{"rank": 1,"team": "Florida Panthers","teamId": 13,"gamesPlayed": 40,"wins": 25,"losses": 12,"otLosses": 3,"points": 53,"goalsFor": 120,"goalsAgainst": 95,"goalDifferential": 25,"streakType": "W","streakCount": 3}]}]}}
Player Stats Response
{"task": "player_stats","success": true,"data": {"player": {"id": 8478402,"name": "Connor McDavid","team": "Edmonton Oilers","position": "C","jerseyNumber": 97,"age": 27,"stats": {"gamesPlayed": 40,"goals": 28,"assists": 52,"points": 80,"plusMinus": 18,"pim": 12,"powerPlayGoals": 8,"gameWinningGoals": 5,"shots": 142,"shootingPct": 19.7,"timeOnIcePerGame": "22:15"}}}}
Pay-Per-Event Pricing
You only pay for what you use. No API key costs. No rate limit fees.
| Event | Description | Price |
|---|---|---|
api_request | Each task executed | $0.01 |
Cost Examples
| Usage | Monthly Cost |
|---|---|
| 100 requests | $1 |
| 1,000 requests | $10 |
| 10,000 requests | $100 |
Free tier available for testing.
Use Cases
Fantasy Hockey
- Player tracking: Monitor stats for your roster
- Injury updates: Check player status
- Lineup optimization: Get recent performance data
- Trade analysis: Compare player statistics
Sports Analytics
- Team performance: Analyze wins, losses, goal differentials
- Player comparisons: Compare stats across players
- Trend analysis: Track performance over time
- Predictive models: Feed data into ML models
Apps & Websites
- Live scores: Display current standings
- Schedule displays: Show upcoming games
- Stats pages: Build player stat cards
- Team pages: Roster and team info
Media & Content
- Article research: Get accurate stats for articles
- Broadcast support: Quick stats lookup
- Social content: Stats for posts and graphics
API Integration
Using the Apify API (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('localhowl/nhl-api').call({task: 'player_stats',playerId: 8478402});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].data.player);
Using cURL
curl -X POST "https://api.apify.com/v2/acts/localhowl~nhl-api/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"task": "standings"}'
Webhook Integration
Webhook Payload Format
{"event": "task_completed","timestamp": "2025-12-23T12:00:00.000Z","actor": "nhl-api","task": "standings","success": true,"data": { ... }}
Automation Ideas
- Daily standings: Update your database every morning
- Game alerts: Trigger when your team plays
- Stat tracking: Log player stats to Google Sheets
- Discord bot: Post updates to your server
Limitations
- Historical data: Limited to current and recent seasons
- Real-time: Not truly live (refresh every few minutes)
- Rate limits: Built-in delays to respect NHL servers
- Season gaps: Some data unavailable during offseason
Support
- Email: john@johnrippy.link
- GitHub: Report issues on the repository
Built by John Rippy | johnrippy.link
Keywords
nhl api, hockey api, nhl stats, hockey statistics, nhl standings, nhl scores, hockey data, nhl player stats, fantasy hockey api, sports data api, nhl schedule, hockey scraper, nhl data feed, sports analytics