The American Football API for developers ballers.
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.
1,000 req/day free (2,000 with GitHub). No credit card.
NFL · NCAAF · a decade of history · 294,989 plays with EPA + WP
The NFL API page focuses on the NFL historical surface with field-level docs for plays and weekly stats. See the NFL API →
What you get, by plan
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.
Offensive stats
| 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 |
Defensive 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 |
Kicking and special teams
| 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 |
Play-by-play
| 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 |
Team stats
| 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 |
Schedules and fixtures
| 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 |
Injuries, rosters and depth charts
| 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 |
Ratings and derived intelligence
| 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 |
Images and identity
| 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.
Stats included
Every football stat field the API returns today — 96 in total, grouped by how they are produced. Each group carries its own freshness, because a sport is rarely uniformly current.
Per-game player stats
Post-gameWritten after the game ends — not a live in-game feed. Last ingested 2026-08-30.
- Endpoint
- /v1/players/:id/stats
- Last updated
- 2026-08-30
Fields (77)
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, Extra Points Made Extra Point Attempts, Field Goals Made Field Goal Attempts, 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, 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
Team stats (per game)
Post-gameWritten after the game ends — not a live in-game feed. Last ingested 2026-08-30.
- Endpoint
- /v1/matches/:id/statistics
- Last updated
- 2026-08-30
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
Not included
- Not shown here — player_per_week (new granularity, not yet mapped for display).
- Not shown here — play_by_play: play-by-play events, not a stat line — mostly identifiers once classified.
- Not shown here — rosters: roster listings — reference data, and no route serves them.
Missing a stat?
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.
What you can build
EPA / WP model
Train win-probability and expected-points models on every play in the dataset.
Play-by-play research
Query 294,989 plays with EPA and Win Probability for situational analysis.
Fantasy historical tool
Weekly player stats across seasons for projections and backtests.
Schedule explorer
Season schedules with stadium, surface, and final scores.
Betting backtest engine
Replay historical games against closing lines to validate a model.
Endpoints
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 |
Start on the free tier
100 requests per minute and 1,000 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.
- Every sport and league we cover — the paid tiers add history depth and premium fields, not more leagues.
- Calls are counted one for one — no credit weighting, no markets-times-regions arithmetic.
- Link GitHub and the daily cap goes to 2,000.
- No credit card.
Or ask your AI tool directly
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 →Integrate in a few lines
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);
}Free covers a real app. Scale when you need to.
1,000 req/day free (2,000 with GitHub). Production starts at $49/mo. Live WebSocket push on Pro+.
Frequently asked
- Is American football data live right now?
- The NFL is between seasons, so there are no live games today. The NFL historical surface (schedules, weekly stats, and play-by-play with EPA + Win Probability) is available now; live scores resume for the 2026 season.
- Does it include EPA and Win Probability?
- Yes. /v1/nfl/games/:game_id/plays returns per-play EPA and Win Probability across the six loaded seasons (294,989 plays).
- Does it cover NCAA football?
- NCAAF schedules and records are covered via the college-football surface; the deepest play-level analytics (EPA / WP) are on the NFL surface today.
- Is the American football API free?
- Yes. Schedules, weekly stats, play-by-play, and standings on the free tier at 1,000 req/day (2,000 with GitHub), no credit card.
Leagues in this sport
Every league we serve for this sport, each with its own endpoints and coverage.