Standings
Use this guide to effectively access NFL standings. It also covers the Daily Change Log endpoint which can be used to track standings revisions.
Prerequisite - Accessing Available Seasons
To avoid confusion and ensure you're accessing available data, refer to our Seasons feed. This resource lists all the seasons for which we have data.
For example: To ensure data availability for future seasons, such as a schedule in advance of when a season begins, first check the Seasons feed to verify that data for that specific season is already provided.
Starting with this feed can prevent unnecessary errors and streamline your data retrieval process.
How to Access Standings
You can access standings using the Postgame Standings feed. This endpoint provides standings information for each team, updated postgame.
Recommended Call Frequency:
- Standings are updated on a two-minute timer after each game is moved to complete.
- Pull every hour or less, depending on your use case.
- Pull 2-5 mins after a game is moved to 'complete' to receive the quickest updates.
Understanding Postgame Standings Data
{
"season": {
"id": "06275f0f-08ff-4787-91fc-5c30464ccfd9",
"year": 2021,
"type": "REG",
"name": "REG"
},
"conferences": [
{
"id": "1bdefe12-6cb2-4d6a-b208-b04602ae79c3",
"name": "AFC",
"alias": "AFC",
"divisions": [
{
"id": "eb60da78-4eb5-4184-971e-2c5cd4ab4988",
"name": "AFC North",
"alias": "AFC_NORTH",
"teams": [
{
"id": "ad4ae08f-d808-42d5-a1e6-e9bc4e34d123",
"name": "Bengals",
"market": "Cincinnati",
"alias": "CIN",
"sr_id": "sr:competitor:4416",
"rank": {
"conference": 4,
"division": 1,
"clinched": "division"
},
"streak": {
"type": "loss",
"length": 1,
"desc": "Lost 1"
},
"strength_of_schedule": {
"sos": 0.472,
"wins": 135,
"total": 289
},
"strength_of_victory": {
"sov": 0.462,
"wins": 77,
"total": 170
},
"wins": 10,
"losses": 7,
"ties": 0,
"win_pct": 0.588,
"points_for": 460,
"points_against": 376,
"records": [
{
"category": "nfc",
"wins": 2,
"losses": 3,
"ties": 0,
"win_pct": 0.4,
"points_for": 123,
"points_against": 106
},
{
"category": "road",
"wins": 5,
"losses": 3,
"ties": 0,
"win_pct": 0.625,
"points_for": 210,
"points_against": 136
},
{
"category": "conference",
"wins": 8,
"losses": 4,
"ties": 0,
"win_pct": 0.667,
"points_for": 337,
"points_against": 270
},
{
"category": "afc",
"wins": 8,
"losses": 4,
"ties": 0,
"win_pct": 0.667,
"points_for": 337,
"points_against": 270
},
{
"category": "division",
"wins": 4,
"losses": 2,
"ties": 0,
"win_pct": 0.667,
"points_for": 179,
"points_against": 120
},
{
"category": "home",
"wins": 5,
"losses": 4,
"ties": 0,
"win_pct": 0.556,
"points_for": 250,
"points_against": 240
}
]
},
{
"id": "cb2f9f1f-ac67-424e-9e72-1475cb0ed398",
"name": "Steelers",
"market": "Pittsburgh",
"alias": "PIT",
"sr_id": "sr:competitor:4345",
"rank": {
"conference": 7,
"division": 2,
"clinched": "wildcard"
},
"streak": {
"type": "win",
"length": 2,
"desc": "Won 2"
},
"strength_of_schedule": {
"sos": 0.521,
"wins": 150,
"total": 289
},
"strength_of_victory": {
"sov": 0.49,
"wins": 75,
"total": 153
},
"wins": 9,
"losses": 7,
"ties": 1,
"win_pct": 0.559,
"points_for": 343,
"points_against": 398,
"records": [
{
"category": "conference",
"wins": 7,
"losses": 5,
"ties": 0,
"win_pct": 0.583,
"points_for": 230,
"points_against": 272
},
{
"category": "home",
"wins": 6,
"losses": 2,
"ties": 1,
"win_pct": 0.722,
"points_for": 187,
"points_against": 178
},
{
"category": "afc",
"wins": 7,
"losses": 5,
"ties": 0,
"win_pct": 0.583,
"points_for": 230,
"points_against": 272
},
{
"category": "nfc",
"wins": 2,
"losses": 2,
"ties": 1,
"win_pct": 0.5,
"points_for": 113,
"points_against": 126
},
{
"category": "division",
"wins": 4,
"losses": 2,
"ties": 0,
"win_pct": 0.667,
"points_for": 97,
"points_against": 121
},
{
"category": "road",
"wins": 3,
"losses": 5,
"ties": 0,
"win_pct": 0.375,
"points_for": 156,
"points_against": 220
}
]
},
{
"id": "d5a2eb42-8065-4174-ab79-0a6fa820e35e",
"name": "Browns",
"market": "Cleveland",
"alias": "CLE",
"sr_id": "sr:competitor:4417",
"rank": {
"conference": 11,
"division": 3,
"clinched": "eliminated"
},
"streak": {
"type": "win",
"length": 1,
"desc": "Won 1"
},
"strength_of_schedule": {
"sos": 0.514,
"wins": 147,
"total": 289
},
"strength_of_victory": {
"sov": 0.415,
"wins": 56,
"total": 136
},
"wins": 8,
"losses": 9,
"ties": 0,
"win_pct": 0.471,
"points_for": 349,
"points_against": 371,
"records": [
{
"category": "conference",
"wins": 5,
"losses": 7,
"ties": 0,
"win_pct": 0.417,
"points_for": 260,
"points_against": 287
},
{
"category": "nfc",
"wins": 3,
"losses": 2,
"ties": 0,
"win_pct": 0.6,
"points_for": 89,
"points_against": 84
},
{
"category": "afc",
"wins": 5,
"losses": 7,
"ties": 0,
"win_pct": 0.417,
"points_for": 260,
"points_against": 287
},
{
"category": "division",
"wins": 3,
"losses": 3,
"ties": 0,
"win_pct": 0.5,
"points_for": 120,
"points_against": 111
},
{
"category": "home",
"wins": 6,
"losses": 3,
"ties": 0,
"win_pct": 0.667,
"points_for": 170,
"points_against": 157
},
{
"category": "road",
"wins": 2,
"losses": 6,
"ties": 0,
"win_pct": 0.25,
"points_for": 179,
"points_against": 214
}
]
},
{
"id": "ebd87119-b331-4469-9ea6-d51fe3ce2f1c",
"name": "Ravens",
"market": "Baltimore",
"alias": "BAL",
"sr_id": "sr:competitor:4413",
"rank": {
"conference": 12,
"division": 4,
"clinched": "eliminated"
},
"streak": {
"type": "loss",
"length": 6,
"desc": "Lost 6"
},
"strength_of_schedule": {
"sos": 0.531,
"wins": 152,
"total": 289
},
"strength_of_victory": {
"sov": 0.46,
"wins": 62,
"total": 136
},
"wins": 8,
"losses": 9,
"ties": 0,
"win_pct": 0.471,
"points_for": 387,
"points_against": 392,
"records": [
{
"category": "road",
"wins": 3,
"losses": 5,
"ties": 0,
"win_pct": 0.375,
"points_for": 157,
"points_against": 177
},
{
"category": "division",
"wins": 1,
"losses": 5,
"ties": 0,
"win_pct": 0.167,
"points_for": 108,
"points_against": 152
},
{
"category": "conference",
"wins": 5,
"losses": 7,
"ties": 0,
"win_pct": 0.417,
"points_for": 269,
"points_against": 280
},
{
"category": "home",
"wins": 5,
"losses": 4,
"ties": 0,
"win_pct": 0.556,
"points_for": 230,
"points_against": 215
},
{
"category": "afc",
"wins": 5,
"losses": 7,
"ties": 0,
"win_pct": 0.417,
"points_for": 269,
"points_against": 280
},
{
"category": "nfc",
"wins": 3,
"losses": 2,
"ties": 0,
"win_pct": 0.6,
"points_for": 118,
"points_against": 112
}
]
}
]
}
]
}
],
"_comment": "Generation started @ 2022-11-16 14:58:48 UTC ended @ 2022-11-16 14:58:48 UTC"
}
-
Season and Conference Information
-
The data specifies the season and type (2022, regular), ensuring you know the context for the standings.
-
Conferences and divisions are clearly listed (e.g., NFC East), organizing the teams within their respective conferences and divisions.
-
-
Team Data
-
Each team has an ID, name, market, and various statistics:
-
Record (Wins, Losses, Ties): Essential for standings, showing the team's performance.
-
Rank: Indicates the team's position within the conference and division.
-
Clinched: Shows playoff qualification status, like "wildcard" or "division," reflecting their standing's result toward season end.
-
Winning Percentage (Win_pct): Calculated from wins, losses, and ties, critical for ranking teams within the standings.
-
Points For and Against: Helps in tie-breaking scenarios and understanding the team's offensive and defensive effectiveness.
-
Streaks: Current momentum of wins or losses, indicating recent performance but more subjective and often used in rankings.
-
-
-
Categories: The
category
within a team's records breaks down their performance into different segments. Each category represents a specific type of game setting or opponent grouping.-
Division
- Performance against own division teams: Indicates how a team performs against other teams in its specific division, which is crucial for divisional rankings and direct playoff implications. For example, a team in the NFC East will have a division record based on games against other NFC East teams like the Eagles, Cowboys, Giants, etc.
-
Conference
- Performance against all teams in the same conference (NFC or AFC): This is broader than division records and impacts conference seeding for playoffs.
-
Home and Road
-
Home: Shows the team's performance in their stadium, indicating home-field advantage.
-
Road: Reflects how well the team plays away from home.
-
-
Other Specifics
-
Win percentage (win_pct) within these categories shows the ratio of games won to total games played, providing a quick snapshot of effectiveness in each context.
-
Points for and against within each category help to understand the team's offensive and defensive effectiveness in those specific settings.
-
-
-
Strength Metrics:
- Strength of Schedule (SOS) and Strength of Victory (SOV): These are more analytical metrics used to evaluate the quality of the teams' wins based on their opponents' performance. Higher values suggest a team has faced tougher opponents or has significant wins, which can influence subjective rankings more than the binary standings.
You might consider displaying NFL season standings data like the following to provide users with a comprehensive overview of team performances. It shows detailed statistics including wins, losses, home and road records, and points for and against.
Monitoring Standings with the Daily Change Log
The Daily Change Log can be a helpful tool for tracking potential adjustments to standings within the NFL (though rare). For example, if a game statistic is revised due to a correction or a late reporting of results, the change log will include an entry for the update in its results node.
Steps:
-
Identify Change Type: When you encounter an ID within the results node, it signifies that some data associated with the game has been updated. This doesn't necessarily mean the final score has changed, but rather that various game-related details have been modified.
-
Pull Detailed Data: Use the game IDs to pull information from the Postgame Standings feed.
-
Verify Changes: After pulling the detailed data from the Postgame Standings feed, compare the newly retrieved data against previously stored data to verify changes to the standings and update your records accordingly.
Note: While standings data typically remains stable once games are concluded and results are recorded, rare changes can still occur, such as adjustments following a review of play outcomes or corrections of data errors. You can continue monitoring the Daily Change Log to catch any updates that could impact standings, even though such adjustments are infrequent.
Impact of Data Changes on Standings
On September 24, 2023, the Daily Change Log noted an update for the game with ID 2273ef3a-6eff-4028-824a-9e7224a323c8, indicating a potential revision in the game statistics. This game was between the Seattle Seahawks and the Carolina Panthers.
{
"league": {
"id": "3c6d318a-6164-4290-9bbc-bf9bb21cc4b8",
"name": "National Football League",
"alias": "NFL"
},
"start_time": "2023-09-24T04:00:00Z",
"end_time": "2023-09-25T03:59:59Z",
"results": [
{
"id": "097a36e8-c61c-4b76-b415-e6dc2da98d00",
"season_id": "a538d200-e916-4272-aa07-b486094a1668",
"last_modified": "2023-09-24T21:16:37Z",
"sr_id": "sr:match:41209199"
},
{
"id": "2273ef3a-6eff-4028-824a-9e7224a323c8",
"season_id": "a538d200-e916-4272-aa07-b486094a1668",
"last_modified": "2023-09-25T00:03:35Z",
"sr_id": "sr:match:41209217"
},
],
"_comment": "Generation started @ 2024-07-02 17:21:05 UTC ended @ 2024-07-02 17:21:05 UTC"
}
You can pull the Game Statistics endpoint to confirm recent updates. The latest data shows significant changes in penalties and turnovers, which could influence the outcome of the game and thus affect the teams' standings in the league.
A scenario like this highlights the importance of regularly checking the Change Log for updates that may impact standings, especially as they pertain to playoff qualifications or division rankings.
Update Frequency
TTL / Cache: 300 seconds
Data Updates:
- Entries populate live for changes to teams, players, game statistics, schedules, and standings.
- Start time of the log is 05:00:00 UTC; end time is 04:59:59 UTC
Updated 3 months ago