NHL Web API
Free NHL API with no key: live scores, standings, team rosters, player statistics and schedules from the official NHL data service. Tested curl example.
Endpoint tested and returned HTTP 200 on 19 Aug 2026
What is the NHL Web API?
The NHL Web API is a free, key-free service providing official National Hockey League data — live scores, standings, schedules, team rosters and detailed player statistics.
The NHL publishes an unusually complete free API with no key requirement. Standings, schedules, box scores, play-by-play and player statistics are all available, and the data is official rather than scraped.
It is undocumented in the formal sense — the NHL does not publish a developer portal — but the endpoints are stable and widely used by the hockey analytics community. The `/standings/now` path is a convenient alias that redirects to the current date.
Quick facts
- Base URL
https://api-web.nhle.com/v1- Authentication
- No API key required. The API is officially undocumented but publicly accessible.
- Rate limit
- No published limit; reasonable use expected.
- Pricing
- Free.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the NHL Web API
Every request below was executed against the live API on 19 Aug 2026, and the response shown is the real body it returned — not an illustration.
1. Fetch current NHL standings
GET https://api-web.nhle.com/v1/standings/now
curl 'https://api-web.nhle.com/v1/standings/now'const res = await fetch("https://api-web.nhle.com/v1/standings/now");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api-web.nhle.com/v1/standings/now", timeout=20)
res.raise_for_status()
print(res.json()){
"wildCardIndicator": true,
"standingsDateTimeUtc": "2026-08-19T20:28:15Z",
"standings": [
{
"clinchIndicator": "p",
"conferenceAbbrev": "W",
"conferenceHomeSequence": 1,
"conferenceL10Sequence": 2,
"conferenceName": "Western",
"conferenceRoadSequence": 1,
"conferenceSequence": 1,
"date": "2026-04-17",
"divisionAbbrev": "C",
"divisionHomeSequence": 1,
"divisionL10Sequence": 1,
"divisionName": "Central",
"divisionRoadSequence": 1,
"divisionSequence": 1,
"gameTypeId": 2,
"gamesPlayed": 82,
"goalDifferential": 99,
"goalDifferentialPctg": 1.207317,
"goalAgainst": 203,
"goalFor": 302,
"goalsForPctg": 3.682927,
"homeGamesPlayed": 41,
"homeGoalDifferential": 49,
"homeGoalsAgainst": 108,
"homeGoalsFor": 157,
"homeLosses": 9,
"homeOtLosses": 6,
"homePoints": 58,
"homeRegulationPlusOtWins": 25,
"homeRegulationWins": 25,
"homeTies": 0,
"homeWins": 26,
"l10GamesPlayed": 10,
"l10GoalDifferential": 14,
"l10GoalsAgainst": 20,
"l10GoalsFor": 34,
"l10Losses": 2,
"l10OtLosses": 1,
"l10Points": 15,
"l10RegulationPlusOtWins": 6,
"l10RegulationWins": 6,
"l10Ties": 0,
"l10Wins": 7,
"leagueHomeSequence": 3,
"leagueL10Sequence": 4,
"leagueRoadSequence": 1,
"leagueSequence": 1,
"losses": 16,
"otLosses": 11,
"placeName": {
"default": "Colorado"
},
"pointPctg": 0.737805,Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
standings/now | path | Optional | Current standings; redirects to today's date. standings/now |
standings/<date> | path | Optional | Standings as of a specific date. 2026-01-15 |
club-schedule-season/<team>/now | path | Optional | Full season schedule for a team. TOR |
player/<id>/landing | path | Optional | Player profile and career statistics. 8478402 |
gamecenter/<gameId>/boxscore | path | Optional | Box score for a game. 2023020204 |
Response fields
standings[].teamNameobject- Team name with localised variants.
standings[].pointsinteger- Points in the standings.
standings[].wins / losses / otLossesinteger- Win-loss record including overtime losses.
standings[].conferenceAbbrev / divisionAbbrevstring- Conference and division.
standings[].clinchIndicatorstring- Playoff clinch status such as `p` for presidents trophy or `x` for clinched.
standingsDateTimeUtcstring- Timestamp the standings were generated.
What you can build with the NHL Web API
- Build an NHL standings or scoreboard display
- Track a team's schedule and results through a season
- Analyse player statistics for fantasy hockey
- Create hockey analytics tooling with official data
Common errors and how to fix them
404
Wrong path structure or an invalid team abbreviation.
Fix: Team codes are three-letter uppercase, e.g. TOR, BOS, EDM.
Endpoints change without notice
The API is officially undocumented.
Fix: The community reference on GitHub is the practical source of truth; pin behaviour with tests.
Empty standings out of season
No games have been played yet.
Fix: Handle the off-season case; standings for a future date return an empty or zeroed structure.
NHL Web API — frequently asked questions
Is the NHL API free?
Yes, free with no API key. It is officially undocumented but publicly accessible and widely used by the hockey analytics community.
Where is the documentation?
The NHL does not publish a developer portal. A community-maintained reference on GitHub documents the endpoints, and it is the practical source of truth.
Does it provide live scores?
Yes, the gamecenter endpoints provide live box scores and play-by-play during games.
Is it stable enough to build on?
The endpoints have been stable in practice, but because it is undocumented the NHL could change it without notice. Write tests around your integration.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Percentage Calculator
Calculate what X% of a number is, what percent one number is of another, and percentage increase or decrease between two values — instantly and free.
Alternatives to NHL Web API
If NHL Web API does not fit, these sports & fitness apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| TheSportsDB | Free sports database API with a public test key: teams, players, leagues, fixtures and results across football, basketball, cricket and more, with images. Tested. | No key | Yes | 19 Aug 2026 |
| OpenLigaDB | Free OpenLigaDB API with no key: Bundesliga fixtures, results, tables and goalscorers, plus other leagues. Community-maintained open data. Tested example. | No key | No | 19 Aug 2026 |
| wger Workout Manager | Free wger fitness API with no key for public data: exercise database with muscles worked, equipment, categories, images and nutrition information. Tested. | No key | Yes | 19 Aug 2026 |
| Squiggle (AFL) | Free Australian Football League API with no key: teams, fixtures, results, ladder standings and computer model predictions. Community-run. Tested example. | No key | No | 21 Aug 2026 |
| NHL Records | Free NHL Records API with no key: every franchise since 1917 including defunct teams, plus records, milestones and historical statistics. Tested example included. | No key | No | 21 Aug 2026 |
| OpenF1 | Free Formula 1 API with no key: live and historical timing, car telemetry, radio messages, pit stops and driver positions at sub-second resolution. Tested example included. | No key | Yes | 21 Aug 2026 |
NHL Web API is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 19 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.