Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

NHL API Basics

Learn important structural concepts of the NHL API.

Intro

Sportradar's NHL data is delivered as a RESTful B2B (Business-to-Business) API. HTTP requests are made using the API authentication access established in your account.

Data can be returned in either JSON or XML format.



Technical Requirements

To accept data from our API feeds, ensure that your application:

  • Supports TLS 1.2 or above
  • Can follow an HTTP redirect (used in Push and the Images API)


API Style

The NHL API is a Sportradar League-Based API. This means it was designed specifically for the sport of ice hockey, and an aim to provide our media customers with in-depth, intuitive, and speedy NHL statistics.

We provide two additional hockey data APIs: NCAA Men's Hockey, and Global Ice Hockey.

The NCAA Men’s Hockey API follows a structure similar to the NHL, but has a much lower coverage level. For example, the Rankings data in NCAA Men’s Hockey functions differently from the Standings in the NHL, and NCAA Men’s Hockey does not include an Awards List endpoint.

The Global Ice Hockey API is a separate structure, adhering to our General Sport API format. Integration with the "Global" API will not be covered in this guide.



Data Collection

Supported by the NHL as the official source, data is collected by on-venue statisticians and monitored by Sportradar’s in-house data entry team.



Versioning

The current version of the NHL API is v7. We strongly recommend using the latest version of all of our APIs, as these will be the most stable and robust offerings. However, we do support up to 3 versions (the current and 2 past versions) of our data APIs, per our Versioning Policy.

To access NHL v7, simply use v7 in each request to the API in the version parameter. To access previous versions, alter to v6 or v5. No other adjustment is necessary for access.



Data Flow and Retrieval

The NHL API organizes its data into logical endpoints, or feeds. For example, to access schedules you will want to retrieve a "schedule" feed like Schedule; to access a game, you will want to retrieve a "game" feed like Game Play-by-Play or Game Summary.

The API is separated into 30+ distinct feeds, each with a focused purpose to allow for efficient data retrieval. Depending on your specific need, different feeds and pull frequencies will be needed. Use our NHL Endpoints section for feed documentation and an interactive sandbox.

Most feeds will require the inclusion of a unique Id or parameter. Parameters can range from: season type, season year, week number, game Id, player Id, or team Id. To retrieve these unique Ids you may have to iterate through feeds with larger data sets. See our ID Handling section for more info on Sportradar Ids.

Here is a retrieval path for a player profile.

Step 1

First, make a request to the League Hierarchy or Teams endpoint. See the Endpoint Descriptions section for data to be found in each feed. Locate the unique Id of the team who employs this player.

First, make a request to the League Hierarchy or Teams endpoint.

See the Endpoint Descriptions section for data to be found in each feed.

Locate the unique Id of the team who employs this player.

Step 2

Second, make a request to the Team Profile feed using your found team Id and locate the unique player Id.

Second, make a request to the Team Profile feed using your found team Id and locate the unique player Id.

Step 3

Third, make a request to the Player Profile feed to find player biographical info, draft info, and seasonal stats.

Third, make a request to the Player Profile feed to find player biographical info, draft info, and seasonal stats.

All NHL API feeds will follow this pulling logic. Visit our Integration Scenarios section for specific retrieval scenarios.

You can also reference our NHL API Map to get a sense of how the entire API is interconnected.


RESTful & Push

Most of our NHL endpoints are RESTful, but we also include complementary Push feeds available for Realtime customers.

With RESTful feeds, a request must be made whenever a data update is needed. For our Push feeds, one request will open up a streaming connection. Data is then delivered in a continuous stream indefinitely.

Push feeds correlate to the RESTful endpoints, but are not necessarily 1:1 in parity. For example, the Push Events feed follows the same format, and includes nearly all of the same data, as the Game Play-by-Play RESTful endpoint. And Push Statistics correlates to Game Summary.

For increased data speed, and less API requests, many customers use Push. Though it is important to note that Push feeds are not meant to replace the RESTful data, but to enhance it. RESTful feeds should always be used as the backbone of the NHL API.

See our Push Feeds section for more info.


Change Log

The NHL API includes a Daily Change Log feed, which is used to catch updates for teams, players, game stats, schedules, and standings.

A request is made for a specific date, which then returns a list of unique Ids and timestamps of updates on that day. You can then use these Ids to retrieve stat updates from other endpoints. This allows for quick and efficient data retrieval, and will be a common concept across all integration scenarios.

See our advanced Change Log guide for detail on how to efficiently leverage this feed.



Pagination

The NHL API does not currently make use of pagination for any endpoint. Each return will provide all data available.



Additional Integration Options


Postman Workspace

Our entire Media APIs are available on Postman. Click the link above to be taken directly to our NHL API collection.

Feel free to follow and/or fork this collection to receive updates.


Schema Download

Open the zip file below to access our entire NHL API v7 XSD schema.

NHL v7 Schema


Simulations

Check out our Simulations to replay actual games at any time, on your own schedule.


🏒

More Questions?

Check our NHL API FAQs or reach out to our support team at [email protected]