nfldata.org combines several public NFL data sources — nflverse, Pro-Football-Reference, FiveThirtyEight, and others — into one normalized schema. Coverage varies by dataset: games and final scores go back to 1999, while play-by-play, advanced stats, and betting data generally start in 1999 or later. The table below breaks down what's available for each part of the database, with current row counts.
| Dataset | Coverage | Rows | Notes |
|---|---|---|---|
| Game results & box scores | 1970–2026 2000 missing | 13,957 | Final scores, dates, and a Pro-Football-Reference box score link for every game back to 1970. The 2000 season is missing from the source and isn't recoverable from this pipeline. |
| Stadium, weather, betting lines, refs, coaches | 1999–2026 | — | Roof/surface/temp/wind, spread & total lines, moneylines, rest days, starting QBs, coaches, and officiating crews are only populated for 1999+. Pre-1999 rows leave these fields null. |
| Scoring-play summaries | 1970–1997 | 44,725 | One row per scoring play (TD/FG/safety etc.) for pre-1999 games — coarser than full play-by-play. GET /v1/games/scoring. |
| Officiating crews | 2015–2026 | 21,850 | Per-game officiating assignments by role. |
| Dataset | Coverage | Rows | Notes |
|---|---|---|---|
| Every play (EPA/WPA, down & distance, etc.) | 1999–2025 | 1,279,628 | No pre-1999 play-by-play exists publicly, so this is the earliest possible start. |
| Pass / rush / kick play splits | 1999–2025 | 523,873 / 385,398 / 314,221 | Convenience views over fact_plays filtered & widened by play type. |
| Tracking-data participation (personnel, formations) | 2016–2025 | 485,964 | Offense/defense personnel groupings, pass rush counts, coverage type. |
| FTN charting (route, motion, blitz tags) | 2022–2025 | 185,215 | Manually charted play attributes not derivable from the box score. |
| Dataset | Coverage | Rows | Notes |
|---|---|---|---|
| Player bios & IDs | All-time | 25,040 | Every player with a known nflverse ID, with cross-source name matching (name_resolution: 21,637 mappings). |
| Game-by-game stat lines | 1999–2024 | 134,469 | Passing/rushing/receiving/defense/kicking, one row per player per game. 2025 not yet published upstream. |
| Season stat totals | 1999–2025 | 49,605 | GET /v1/stats/season — REG, POST, and combined REG+POST rows per player-season. |
| Next Gen Stats (passing/receiving/rushing) | 2016–2025 | 5,933 / 14,731 / 6,059 | Tracking-derived metrics (CPOE, time to throw, separation, etc.) — only exist from 2016 on. |
| PFR advanced stats (season totals) | Varies, recent seasons | 844 / 2,798 / 4,079 / 7,369 | Pass/rush/rec/def advanced metrics (pressure rate, broken tackles, etc.), season-level only. |
| QBR (season & weekly) | Recent seasons | 1,523 / 10,709 | ESPN Total QBR. |
| Dataset | Coverage | Rows | Notes |
|---|---|---|---|
| Season rosters | 1920–2026 | 142,566 | Full historical roster data, including pre-1999 players (some without a modern player ID). |
| Weekly rosters | 2002–2025 | 891,682 | Active/inactive status by week. |
| Depth charts | 2001–2024 | 724,921 | Listed depth-chart position by week. |
| Snap counts | 2013–2025 | 324,611 | Offensive/defensive/special teams snap percentages by game. |
| Injury reports | 2009–2025 | 90,750 | Weekly injury report status (Questionable/Out/etc.). |
| Dataset | Coverage | Rows | Notes |
|---|---|---|---|
| Draft picks | 1980–2026 | 12,927 | Every pick by round/team, linked to the player's modern ID where resolvable. |
| Combine results | 2000–2026 | 8,958 | Height/weight/40-time/etc. for drafted and undrafted invitees. |
| Contracts | ~1991–2026 | 51,625 | Contract value, APY, guarantees, and salary-cap percentage (nominal and inflation-adjusted). |
| Trades | 2002–2026 | 4,975 | Player and draft-pick trades between teams. |
| Dataset | Coverage | Rows | Notes |
|---|---|---|---|
| Team reference (names, colors, logos) | — | 39 | Includes current franchises plus legacy codes used by pre-1999 games (e.g. SLC, PHX, RAI) — see Games coverage above. |
| FiveThirtyEight Elo / QB-Elo ratings | 1920–2022 | 17,379 | Pre- and post-game Elo and QB-adjusted Elo ratings for every game back to 1920. |
Row counts last refreshed: 2026-06-15T12:49:35.626845+00:00. See the API docs for full endpoint & field reference.