
Jalen Hurts
Philadelphia Eagles · Quarterback
- Passing yards
- 3,224
- Passing TD
- 25
- Interceptions
- 6
- Qualified QBs
- 33
Captured 2025 regular-season example. Live API responses include identifiers and source timestamps.
NFL data API
Scores, player data, play-by-play and intelligence through one clean API.
Player identity

Philadelphia Eagles · Quarterback
Captured 2025 regular-season example. Live API responses include identifiers and source timestamps.
Game detail

Dallas
20
Philadelphia
24Captured example with scores, drive context and win probability.


What developers are building
2025 PPR per game
153.88 projected
Rank starters with weekly player production.
Nine-day drift
10–11 books
Compare opening, current and closing lines.
Drive state
Q4 · 8:41
Scores, possession and win probability in one view.
2020–2025
Season percentiles
Compare production and consistency across seasons.
Indoor vs outdoor
+3.87 points
Join venue conditions to finished-game performance.
Standings
Calculated from completed regular-season games. Newest result represented: 2026-09-14. Recalculated Sep 16, 2026, 6:28 AM UTC.
| Team | W | L | T |
|---|---|---|---|
| 1 | 0 | 0 | |
| 0 | 1 | 0 | |
| 1 | 0 | 0 | |
| 0 | 1 | 0 |
| Team | W | L | T | Elo | Next |
|---|---|---|---|---|---|
| 1 | 0 | 0 | 1658 | ||
| 0 | 1 | 0 | 1579 | ||
| 1 | 0 | 0 | 1381 | ||
| 0 | 1 | 0 | 1395 |
| Team | W | L | T |
|---|---|---|---|
| 1 | 0 | 0 | |
| 1 | 0 | 0 | |
| 0 | 1 | 0 | |
| 1 | 0 | 0 |
| Team | W | L | T | Elo | Next |
|---|---|---|---|---|---|
| 1 | 0 | 0 | 1537 | ||
| 1 | 0 | 0 | 1597 | ||
| 0 | 1 | 0 | 1460 | ||
| 1 | 0 | 0 | 1458 |
| Team | W | L | T |
|---|---|---|---|
| 1 | 0 | 0 | |
| 0 | 1 | 0 | |
| 0 | 1 | 0 | |
| 0 | 1 | 0 |
| Team | W | L | T | Elo | Next |
|---|---|---|---|---|---|
| 1 | 0 | 0 | 1545 | ||
| 0 | 1 | 0 | 1343 | ||
| 0 | 1 | 0 | 1404 | ||
| 0 | 1 | 0 | 1583 |
| Team | W | L | T |
|---|---|---|---|
| 0 | 1 | 0 | |
| 0 | 1 | 0 | |
| 1 | 0 | 0 | |
| 1 | 0 | 0 |
| Team | W | L | T | Elo | Next |
|---|---|---|---|---|---|
| 0 | 1 | 0 | 1607 | ||
| 0 | 1 | 0 | 1469 | ||
| 1 | 0 | 0 | 1356 | ||
| 1 | 0 | 0 | 1484 |
| Team | W | L | T |
|---|---|---|---|
| 0 | 1 | 0 | |
| 1 | 0 | 0 | |
| 0 | 1 | 0 | |
| 1 | 0 | 0 |
| Team | W | L | T | Elo | Next |
|---|---|---|---|---|---|
| 0 | 1 | 0 | 1436 | ||
| 1 | 0 | 0 | 1524 | ||
| 0 | 1 | 0 | 1455 | ||
| 1 | 0 | 0 | 1488 |
| Team | W | L | T |
|---|---|---|---|
| 0 | 1 | 0 | |
| 1 | 0 | 0 | |
| 1 | 0 | 0 | |
| 1 | 0 | 0 |
| Team | W | L | T | Elo | Next |
|---|---|---|---|---|---|
| 0 | 1 | 0 | 1559 | ||
| 1 | 0 | 0 | 1599 | ||
| 1 | 0 | 0 | 1512 | ||
| 1 | 0 | 0 | 1496 |
| Team | W | L | T |
|---|---|---|---|
| 0 | 1 | 0 | |
| 0 | 1 | 0 | |
| 0 | 1 | 0 | |
| 0 | 1 | 0 |
| Team | W | L | T | Elo | Next |
|---|---|---|---|---|---|
| 0 | 1 | 0 | 1478 | ||
| 0 | 1 | 0 | 1468 | ||
| 0 | 1 | 0 | 1527 | ||
| 0 | 1 | 0 | 1430 |
| Team | W | L | T |
|---|---|---|---|
| 0 | 1 | 0 | |
| 1 | 0 | 0 | |
| 1 | 0 | 0 | |
| 1 | 0 | 0 |
| Team | W | L | T | Elo | Next |
|---|---|---|---|---|---|
| 0 | 1 | 0 | 1610 | ||
| 1 | 0 | 0 | 1637 | ||
| 1 | 0 | 0 | 1338 | ||
| 1 | 0 | 0 | 1720 |
Elo leaderboard
Ratings job ran Sep 11, 2026, 7:36 PM UTC. Newest result represented: 2026-09-11.
Elo updates a team's rating after each result and compares relative team strength.
Player rankings
Season totals with points per game and week-to-week consistency.
Injury report
Only current Out designations for the upcoming slate are shown. Injured reserve and other reserve lists are excluded.
Coach Mike Vrabel said Henderson (ankle) will practice Monday, Mike Reiss of [link removed] reports.
questionable
questionable
Raiders head coach Klint Kubiak labeled Bowers (knee) as day-to-day Monday, Sam Warren of The Athletic reports.
questionable
Gray (concussion) is trending toward playing in Tennessee's Week 2 matchup with Philadelphia, Jim Wyatt of the Titans' official site reports.
questionable
questionable
questionable
Next up
Thursday, 8:15 PM Eastern · Week 2
Sunday, 1:00 PM Eastern · Week 2
Sunday, 1:00 PM Eastern · Week 2
From response to product
Resize the two views to inspect how a real NFL game response maps into a match-center interface. The JSON is fetched from the published game-detail route on the server.

Baltimore Ravens
20
Kansas City Chiefs
27{
"data": {
"game_id": "2024_01_BAL_KC",
"match_id": "4b97f984-8f4c-4fad-95f2-9e7c8d90e70a",
"season": 2024,
"week": 1,
"game_date": "2024-09-05",
"game_type": "REG",
"home_team": "KC",
"away_team": "BAL",
"home_score": 27,
"away_score": 20,
"stadium": "GEHA Field at Arrowhead Stadium",
"roof": "outdoors",
"surface": "grass",
"home_rest": 7,
"away_rest": 7
}
}Drag the divider or focus it and use the arrow keys. On small screens the same two views stack without hiding fields.
Embeddable NFL widgets
These lightweight iframe pages need no visitor API key. Standings read the current server-cached feed; fantasy leaders are explicitly labeled as a verified 2025 season snapshot.
<iframe src="https://bigballsdata.com/embed/nfl/standings" title="NFL Standings" width="100%" height="620" loading="lazy" style="border:0"></iframe><iframe src="https://bigballsdata.com/embed/nfl/leaders" title="NFL Fantasy leaders" width="100%" height="560" loading="lazy" style="border:0"></iframe>Real API example
The game_id returned by the NFL schedule works on the NFL detail and play routes. Odds use a separate canonical match UUID today, so the two identifiers are shown as distinct instead of implying a join that does not exist.
curl -H "Authorization: Bearer $BBS_API_KEY" \
"https://api.bigballsdata.com/v1/nfl/games?season=2024&week=1"{
"game_id": "2024_01_BAL_KC",
"season": 2024,
"week": 1,
"game_date": "2024-09-05",
"game_type": "REG",
"away_team": "BAL",
"home_team": "KC",
"away_score": 20,
"home_score": 27,
"stadium": "GEHA Field at Arrowhead Stadium"
}curl -H "Authorization: Bearer $BBS_API_KEY" \
"https://api.bigballsdata.com/v1/nfl/games/2024_01_BAL_KC/plays"NFL data reference
Every capability appears once, under the first plan that includes it.
What are you building?
The essentials for evaluating an NFL idea.
/v1/nfl/games · PENDING: declared Free, enforced EdgeAvailable data: 7 seasons/v1/nfl/games · PENDING: declared Free, enforced EdgeAvailable data: 7 seasons/v1/nfl/games · PENDING: declared Free, enforced EdgeAvailable data: 7 seasons/v1/nfl/games · PENDING: declared Free, enforced EdgeAvailable data: 7 seasons/v1/nfl/games · PENDING: declared Free, enforced EdgeAvailable data: 7 seasons/v1/nfl/games · PENDING: declared Free, enforced EdgeAvailable data: 7 seasons/v1/nfl/games · PENDING: declared Free, enforced EdgeAvailable data: 7 seasons/v1/nfl/games · PENDING: declared Free, enforced EdgeAvailable data: 7 seasons/v1/playersAvailable data: ✓/v1/playersAvailable data: ✓/v1/playersAvailable data: ✓Deeper football data for a production NFL product.
/v1/nfl/depth-charts · PENDING: declared Solo, enforced FreeAvailable data: 2 seasons/v1/nfl/depth-charts · PENDING: declared Solo, enforced FreeAvailable data: 2 seasons/v1/nfl/depth-charts · PENDING: declared Solo, enforced FreeAvailable data: 2 seasons/v1/players · PENDING: declared Solo, enforced FreeAvailable data: 7 seasons/v1/nfl/rosters · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/players · PENDING: declared Solo, enforced FreeAvailable data: ✓/v1/nfl/injuries · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/injuries · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/scores · PENDING: declared Solo, enforced FreeAvailable data: 7 seasons/v1/nfl/injuries · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/rosters · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/nfl/players/{player_id}/stats · PENDING: declared Solo, enforced EdgeAvailable data: 7 seasons/v1/teams/{id}/elo · PENDING: declared Solo, enforced FreeAvailable data: ✓/v1/teams/{id}/elo · PENDING: declared Solo, enforced FreeAvailable data: ✓The same depth across three sports.
The NFL data depth stays the same while your product expands to three sports.
Every sport plus betting and market intelligence.
New at Edge
Every event, delivered for live products.
New at Pro
/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/team-stats · PENDING: declared Pro, enforced EdgeAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasons/v1/nfl/games/{game_id}/playsAvailable data: 7 seasonsMCP
Send your dashboard key as a bearer token and give your agent six NFL tools.
https://mcp.bigballsdata.com/mcpBuild me a fantasy football draft board using last season's data.
Ranking by floor rather than total, weighted for weekly consistency.
Update intervals and the latest verifiable NFL timestamps.
Cadences are upper bounds. WebSocket subscribers receive score and odds changes when the upstream poll detects them, without an additional page-cache delay.
Scores, odds and play-by-play for developers. Plans step up by sport coverage and depth, not just request volume.
Pricing
Scores, odds and play-by-play for developers. Plans step up by sport coverage and depth, not just request volume.
NFL API FAQ
You can retrieve schedules, scores, weekly player and team statistics, play-by-play, standings, injuries, depth charts, ratings and selected intelligence. Start with the endpoint reference above to see populated fields and the minimum plan. Follow a list response ID into its detail route when you need one game or player.
NFL data guideGame surfaces update during live play when a current feed is available. Current-season archive tables refresh daily at 09:00 UTC, while each response reports its own data timestamp. Use that timestamp rather than assuming every category shares one cadence.
Create an account and copy the API key from your dashboard. Pass it as a bearer token in the Authorization header or as X-API-Key. Start by fetching Week 1 games, then follow a returned game ID into the play-by-play route.
Authentication guideBegin with a list endpoint instead of guessing an identifier. Game, team and player records expose IDs accepted by their corresponding detail routes. Store those IDs as opaque strings because their format is not a customer contract.
ID discovery guideThe NFL catalog spans six completed seasons from 2020 through 2025, with 2026 schedules also loaded. Free includes the current season, Solo and Trio include up to five seasons, and Edge and Pro include all available history. A technical detail disclosure names the available span for each field.
Season means the calendar year in which that NFL season begins. Week and game type separate preseason, regular-season and postseason records. Send both season and week when you need a narrow weekly slice.
Yes, player statistics are stored at player-week grain. Populated fields include passing, rushing, receiving and fantasy_points_ppr. Sum weekly rows for season totals and retain the weeks when you need form or consistency.
NFL player stats guidePlay-by-play requires a Pro-tier API key. Free, Solo, Trio and Edge keys receive a 403 with an upgrade hint on this route; the Pro requirement is specific to play-by-play, and schedules, scores, weekly stats and injuries stay available at Free. As of 4 September 2026, the route also includes verified passer, rusher and receiver names and identifiers after migration 224 was applied and the serving contract landed, alongside down, distance, clock, EPA and win probability for the same sequence. Use the actor fields when present and keep actor-free handling for plays such as kickoffs, punts and timeouts.
An unknown player returns 404 and a malformed identifier returns 400. A valid query with no rows returns an empty collection, while a real statistical zero remains numeric zero. Check status, the error envelope and response metadata before deciding which case you received.
Errors and empty resultsThe injury surface combines the NFL weekly report with a current roster and reserve-list snapshot. Game designation, practice participation, roster status and provider narrative remain separate facts, and every response names its source timestamps. Historical queries exclude the current roster snapshot rather than attaching today’s status to an old week.
Your daily and per-minute limits come from your plan and are shown in the dashboard. Cache closed-season responses because they rarely change. Poll only active games at the cadence your interface needs, and back off when the API returns a rate-limit response.
Rate limitsYes, current-season natural-key rows can be replaced when a corrected publication arrives. The next daily refresh brings those corrections into the archive. Keep the row timestamp if your product needs to explain when a value changed.
Yes for the NFL data itself: schedules, play-by-play, rosters and player stats are licensed for commercial use. Your plan still governs which endpoints and history depth you can call. If you intend to redistribute raw records rather than build a product on top of them, contact support first, since terms differ across the sports we carry.
API timestamps use ISO 8601 and UTC unless a field explicitly says otherwise. Convert to a local timezone only at the presentation layer. Keep the original timestamp in storage so daylight-saving changes do not alter the underlying event.
Read the explicit game status rather than inferring finality from a score or kickoff time. Overtime remains part of the same game record, while postponed and canceled games keep their own status. Continue polling only statuses that can still advance.