NFL API Basics
Learn important structural concepts of the NFL API
Intro
Sportradar's NFL 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 NFL API is a Sportradar League-Based API. This means it was designed specifically for the sport of football, and an aim to provide our media customers with in-depth, intuitive, and speedy NFL statistics.
We provide three additional football data APIs: NCAA Football, UFL, and Global American Football.
The NCAA Football and UFL APIs have the exact same structure as the NFL, with the only differences being those necessitated by the league structures themselves. For example, Rankings data in NCAA Football behaves differently than Standings in the NFL. And overtime rules in the UFL require slightly different data points at a game level from the NFL API.
The Global American Football 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
All NFL data is collected by Sportradar's expert in-house operators.
Versioning
The current version of the NFL 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 NFL 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 NFL API organizes its data into logical endpoints, or feeds. For example, to access a team schedule you will want to retrieve a "schedule" feed like Season Schedule; to access a game, you will want to retrieve a "game" feed like Play-by-Play or Game Statistics.
The API is separated into 32 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 NFL 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
Step 2
Step 3
All NFL API feeds will follow this pulling logic. Visit our Integration Scenarios section for specific retrieval scenarios.
You can also reference our NFL API Map to get a sense of how the entire API is interconnected.
RESTful & Push
Most of our NFL 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 Play-by-Play RESTful endpoint. And Push Statistics correlates to Game Statistics.
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 NFL API.
See our Push Feeds section for more info.
Change Log
The NFL 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 NFL 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 NFL API v7 collection.
Feel free to follow and/or fork this collection to receive updates.
Schema Download
Open the zip file below to access our entire NFL API v7 XSD schema.
More Questions?
Check our NFL API FAQ or reach out to our support team at [email protected]
Updated about 2 months ago