Featured league example · not aggregate coverage
NFL
single-league example · response shape, not coverage
season · weekhome_team · away_teamscore · statusAmerican football data hub
NFL and NCAA football under one API: schedules, play-by-play with EPA and Win Probability on every play, and weekly player stats, built on a decade of NFL history. Live scores resume for the 2026 NFL season. That launch has happened: live score state is available while games are on.
Aggregate sport hub · choose a league before league-specific detail calls
250 req/day free (500 with GitHub). No credit card.
NFL · NCAAF · a decade of history · 294,989 plays with EPA + WP · fixed 2020-2025 snapshot; 291,603 carry both values · 2026 plays landing now
The NFL API page focuses on the NFL historical surface with field-level docs for plays and weekly stats. See the NFL API →
Featured league example · not aggregate coverage
single-league example · response shape, not coverage
season · weekhome_team · away_teamscore · status7 seasons are on record, back to 2020 — 1,802 finished games you can query today. One route serves the full span. These figures are measured from the customer-facing routes listed below, so this page cannot silently drift from the product.
| Archive | Route | Seasons | Reaches back to | Finished games |
|---|---|---|---|---|
| National Football League | /v1/matches | 7 | 2020 – 2026 | 1,802 |
Edge and Pro reach everything listed above. Solo and Trio reach five seasons. Free covers the current season.
Unified schema
Canonical IDs, league keys, status and timestamps travel with the row. The hub describes shared fields; each league authority documents its own depth.
No featured-league field is promoted to a sport-wide guarantee.
Event surface
Event granularity differs by competition. Discover a match and league first, then use that authority’s event contract rather than assuming one featured feed applies everywhere.
/v1/nfl/games/:game_id/playsPlay-by-play with EPA + Win Probabilitypro/v1/nfl/players/:player_id/statsWeekly player stats (passing, rushing, receiving, PPR)free/v1/nfl/players/:player_id/game-logPer-season chronological game logfreeWhat you can build
Each concept points to a real league authority, guide or reference. The phone mockups are product patterns, not claims that every league supplies identical depth.
American football pattern 01
1 · season · week2 · home_team · away_team3 · score · statusTrain win-probability and expected-points models on every play in the dataset.
Explore NFL →American football pattern 02
1 · season · week2 · home_team · away_team3 · score · statusQuery 294,989 plays with EPA and Win Probability for situational analysis. That is the fixed 2020-2025 snapshot; 291,603 rows carry both values, and 2026 plays are available as they land.
Explore NFL →American football pattern 03
1 · season · week2 · home_team · away_team3 · score · statusWeekly player stats across seasons for projections and backtests.
Explore NFL →American football pattern 04
1 · season · week2 · home_team · away_team3 · score · statusSeason schedules with stadium, surface, and final scores.
Explore NFL →American football pattern 05
1 · season · week2 · home_team · away_team3 · score · statusReplay historical games against closing lines to validate a model.
Explore NFL →League directory
League pages own seasons, participants, examples and measured depth. This hub owns discovery across them.
| League authority | Role | Next step |
|---|
Coverage strength
Counts below describe published route rows on this hub, not a promise that every league fills every field.
League authorities
Published routes
Build patterns
FAQ answers
On the gateway at api.bigballsdata.com. Authenticate with the bearer token from /dashboard/keys.
| Method | Path | Returns | Plan |
|---|---|---|---|
| GET | /v1/nfl/games?season=2024&week=1 | NFL schedules filtered by season and week | Free |
| GET | /v1/nfl/games/:game_id | Single game with stadium, surface, scores | Free |
| GET | /v1/nfl/games/:game_id/plays | Play-by-play with EPA + Win Probability | Pro |
| GET | /v1/nfl/players/:player_id/stats | Weekly player stats (passing, rushing, receiving, PPR) | Free |
| GET | /v1/nfl/players/:player_id/game-log | Per-season chronological game log | Free |
| GET | /v1/standings?sport=american_football&league=nfl | Division + conference standings | Free |
One row per capability, not per field per endpoint. Season spans are counted from rows that are actually populated, and each capability names the simplest endpoint that returns it.
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Carries | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Completions | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Interceptions thrown | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Pass attempts | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Passing touchdowns | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Passing yards | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| PPR fantasy points | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Receiving touchdowns | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Receiving yards | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Receptions | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Rushing touchdowns | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Rushing yards | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Targets | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Defensive touchdowns | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Forced fumbles | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Interception return yards | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Interceptions caught | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Passes defended | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Quarterback hits | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Sack yards | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Sacks | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Safeties | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Solo tackles | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Tackle assists | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Tackle-for-loss yards | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Tackles for loss | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Tackles with assist | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Two-point attempts defended | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Two-point conversions defended | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Extra points blocked | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Field goals blocked | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Punts blocked | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/players/{player_id}/stats |
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Defending team | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Distance to go | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Down | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Expected points added | — | — | — | — | PENDING | /v1/nfl/team-stats |
| Field position | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Game clock | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Passer on a play | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Play type | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Receiver on a play | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Rusher on a play | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Score differential | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Team in possession | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Win probability | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Yards gained | — | — | — | — | 7 seasons | /v1/nfl/games/{game_id}/plays |
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Completion percentage over expected | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Interceptions thrown (team) | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Passing air yards | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Passing EPA | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Passing first downs | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Receiving EPA | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Rushing EPA | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Rushing first downs | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Sacks taken | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/team-stats |
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Final score | PENDING | PENDING | PENDING | PENDING | PENDING | /v1/nfl/games |
| Game type | PENDING | PENDING | PENDING | PENDING | PENDING | /v1/nfl/games |
| Kickoff date | PENDING | PENDING | PENDING | PENDING | PENDING | /v1/nfl/games |
| Playing surface | PENDING | PENDING | PENDING | PENDING | PENDING | /v1/nfl/games |
| Rest days per team | PENDING | PENDING | PENDING | PENDING | PENDING | /v1/nfl/games |
| Roof type | PENDING | PENDING | PENDING | PENDING | PENDING | /v1/nfl/games |
| Stadium | PENDING | PENDING | PENDING | PENDING | PENDING | /v1/nfl/games |
| Week | PENDING | PENDING | PENDING | PENDING | PENDING | /v1/nfl/games |
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Depth chart position | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/depth-charts |
| Depth chart rank | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/depth-charts |
| Depth chart validity interval | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/depth-charts |
| Jersey number | — | PENDING | PENDING | PENDING | PENDING | /v1/players |
| Listed position | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/rosters |
| Practice participation status | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/injuries |
| Reported injury detail | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/injuries |
| Roster status | — | PENDING | PENDING | PENDING | PENDING | /v1/scores |
| Weekly injury report status | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/injuries |
| Years of experience | — | PENDING | PENDING | PENDING | PENDING | /v1/nfl/rosters |
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Current Elo rating | — | PENDING | PENDING | PENDING | PENDING | /v1/teams/{id}/elo |
| Elo rating history | — | PENDING | PENDING | PENDING | PENDING | /v1/teams/{id}/elo |
| Capability | Free | Solo | Trio | Edge | Pro | Endpoint |
|---|---|---|---|---|---|---|
| Player headshots | — | PENDING | PENDING | PENDING | PENDING | /v1/players |
| Player name | ✓ | ✓ | ✓ | ✓ | ✓ | /v1/players |
| Player position | ✓ | ✓ | ✓ | ✓ | ✓ | /v1/players |
| Team abbreviation | PENDING | PENDING | PENDING | PENDING | PENDING | /v1/matches |
| Team name | ✓ | ✓ | ✓ | ✓ | ✓ | /v1/players |
Measured against production on 2026-09-13. A capability appears here only when it has rows, an endpoint that returns it, and a source we may both serve and quote.
Every football stat field the API returns today — 108 in total, grouped by how they are produced. Each group carries its own freshness, because a sport is rarely uniformly current.
Written after the game ends — not a live in-game feed. Last ingested 2026-09-16.
Fields (89)
QB Hits, QB Rating, Adjusted QBR, Passes Defended, QB Hurries, Sacks, Solo Tackles, Defensive Touchdowns, Tackles for Loss, Total Tackles, Fumbles, Fumbles Lost, Fumbles Recovered, Interceptions, Interception Return Touchdowns, Interception Return Yards, Kick Return Average, Longest Kick Return, Kick Returns, Kick Return Touchdowns, Kick Return Yards, Field Goals, Longest Field Goal, Field Goal %, Kicking Points, Total Kicking Attempts, Extra Points, Yards per Attempt, Completions/Attempts, Interceptions Thrown, QBR, Passing Touchdowns, Passing Yards, Punt Return Average, Longest Punt Return, Punt Returns, Punt Return Touchdowns, Punt Return Yards, Punting Average, Punts Inside the 20, Longest Punt, Punts, Touchbacks, Punting Yards, Yards per Reception, Longest Reception, Receptions, Receiving Touchdowns, Receiving Yards, Yards per Carry, Carries, Longest Rush, Rushing Touchdowns, Rushing Yards, Completions Passing Attempts, Defensive Interceptions, Defensive Sacks, Extra Points Made, Extra Points Made Extra Point Attempts, Field Goal Attempts, Field Goals Made, Field Goals Made Field Goal Attempts, Fumble Recovery Touchdowns, Gross Average Punt Yards, Hurries, Interception Touchdowns, Interception Yards, Long Field Goal Made, Long Kick Return, Long Punt, Long Punt Return, Long Reception, Long Rushing, Passer Rating, Passing Attempts, Passing Completions, Passing Interceptions, Passing Sack Yards Lost, Passing Sacks Taken, Punt Yards, Punts Inside20, Receiving Targets, Rushing Attempts, Sacks/Sack Yards Lost, Total Kicking Points, Yards per Kick Return, Yards per Pass Attempt, Yards per Punt Return, Yards per Rush Attempt
Written after the game ends — not a live in-game feed. Last ingested 2026-09-16.
Fields (25)
Completions/Attempts, Defensive Touchdowns, First Downs, First Downs (passing), First Downs (penalty), First Downs (rushing), Fourth-Down Efficiency, Fumbles Lost, Interceptions Thrown, Net Passing Yards, Time of Possession, Red Zone Attempts, Rushing Attempts, Rushing Yards, Sacks / Yards Lost, Score, Third-Down Efficiency, Total Drives, Total Offensive Plays, Total Penalties Yards, Total Yards, Turnovers, Yards per Pass, Yards per Play, Yards per Rush Attempt
We build what people actually ask for. If a field you need is not on this page, tell us — requests are how we decide what to add next.
Player availability
Injury, lineup and participant availability vary by league and season. Missing rows stay missing; the hub does not borrow another league’s records.
Check the selected league authority and response timestamp before presenting a status as current.
Next up
Each league publishes its own schedule and its own season boundaries. Call the league you selected and read the status and kickoff on the rows it returns, rather than inferring a season from this hub.
GET /v1/leaguesChoose a real league key
/v1/nfl/games?season=2024&week=1Keep league + season
GET /v1/matches/{id}Traverse canonical IDs
From response to product
This is visibly scoped to NFL, single-league example · response shape, not coverage; it demonstrates the shared envelope without claiming that league represents all American football.
Featured league example
single-league example · response shape, not coverage
season · weekhome_team · away_teamscore · status{
"data": [
{
"id": "canonical-id-from-response",
"sport": "american_football",
"league": "selected-league-key",
"status": "finished",
"home": {
"name": "Home participant"
},
"away": {
"name": "Away participant"
},
"score": {
"home": null,
"away": null
}
}
],
"meta": {
"example_scope": "NFL · single-league example · response shape, not coverage",
"note": "Shape example; request the API for current values."
}
}American football resources
Every card is a real destination. League authorities remain separate from supporting product and documentation routes.
Real API example
The request deliberately omits a featured league when the route supports sport-wide discovery. Select a returned league key before league-specific calls.
curl -H "Authorization: Bearer $BBS_API_KEY" "https://api.bigballsdata.com/v1/nfl/games?season=2024&week=1"{
"data": [
{
"id": "canonical-id-from-response",
"sport": "american_football",
"league": "selected-league-key",
"status": "finished",
"home": {
"name": "Home participant"
},
"away": {
"name": "Away participant"
},
"score": {
"home": null,
"away": null
}
}
],
"meta": {
"example_scope": "NFL · single-league example · response shape, not coverage",
"note": "Shape example; request the API for current values."
}
}import { BigBallSportsClient } from '@bigballsdata/sdk';
const client = new BigBallSportsClient(process.env.BBS_API_KEY!);
type NflPlay = { posteam: string; play_type: string | null; epa: number | null; wp: number | null };
// Every play of a game, with EPA + win probability.
const plays = await client.get<NflPlay[]>('/v1/nfl/games/2025_01_DAL_PHI/plays');
for (const p of plays.data) {
console.log(p.posteam, p.play_type, 'EPA', p.epa, 'WP', p.wp);
}MCP
An agent should discover American football leagues, select one explicitly, then traverse matches and players by returned canonical IDs.
get_leaguessport: american_footballget_matchesleague: selected keyget_match_detailsmatch_id: returned UUIDData freshness
The hub never turns a single-league example into a current sport-wide claim, and it states no season of its own.
Source: League response
Source: Match response
Source: Dataset response
Source: Static label
Plan decision
Each row preserves its league or sport scope and resolves against the endpoint plan registry when that route has a canonical entry.
| Endpoint | Scope | Minimum plan |
|---|---|---|
| /v1/nfl/games?season=2024&week=1 | League-specific | free |
| /v1/nfl/games/:game_id | League-specific | free |
| /v1/nfl/games/:game_id/plays | League-specific | pro |
| /v1/nfl/players/:player_id/stats | League-specific | free |
| /v1/nfl/players/:player_id/game-log | League-specific | free |
| /v1/standings?sport=american_football&league=nfl | League-specific | free |
Founder pricing
Prices and included dimensions come from the shared billing manifest; league coverage remains documented on each authority page.
100 requests per minute and 250 per day, free — the highest per-minute burst of any free sports API we checked. Burst is what matters when something asks several questions in a row and waits on each answer.
Connect your account to Claude, ChatGPT, Cursor, Perplexity or any other MCP-compatible tool and ask for football data in conversation — scores, standings, player stats and Elo ratings, with no API key to paste and no code to write. Your plan and limits carry over exactly as they do here.
Connect your AI tool →250 req/day free (500 with GitHub). Production starts at $49/mo. Live WebSocket push on Pro+.
Frequently asked
Yes, while games are on. /v1/matches?sport=american_football carries live score state during games, and the historical surface (schedules, weekly stats, and play-by-play with EPA + Win Probability) is available at all times. Whether anything is on right now is a fact to read from the API rather than from this page: GET /v1/coverage?sport=american_football reports freshness.data_through and freshness.next_event per league.
Yes. /v1/nfl/games/:game_id/plays returns per-play EPA and Win Probability across the six complete seasons (294,989 plays). That is the fixed 2020-2025 snapshot; 291,603 rows carry both values, and 2026 plays are also available as they land. GET /v1/coverage?sport=american_football reports the NFL match archive's current season span and match-level play-by-play coverage.
NCAAF schedules and records are covered via the college-football surface; the deepest play-level analytics (EPA / WP) are on the NFL surface today.
Yes. It covers schedules, weekly stats and standings. There is a free tier; pricing lists what each plan covers. Full play-by-play logs, including EPA and win probability, need Pro. Free keys get 250 req/day (500 with GitHub). No credit card.