Discover/Pro-Football-Reference API
live

Pro-Football-Reference APIpro-football-reference.com ↗

Access NFL schedules, standings, boxscores, play-by-play, player profiles, and advanced stats from Pro-Football-Reference via a structured JSON API.

Endpoint health
verified 2d ago
get_season_schedule
get_season_advanced_stats
search_players
get_season_stats
get_season_team_standings
8/8 passing latest checkself-healing
Endpoints
8
Updated
11d ago

What is the Pro-Football-Reference API?

This API exposes 8 endpoints covering NFL schedules, standings, game boxscores, play-by-play data, player profiles, and both standard and advanced season statistics from Pro-Football-Reference. The get_game_boxscore endpoint returns player-level offensive and defensive stats alongside game metadata like Vegas line, attendance, roof type, and a scoring summary. The get_season_advanced_stats endpoint adds tracking-derived metrics — air yards, yards after contact, and more — for seasons from 2018 onward.

This call costs5 credits / call— charged only on success
Try it
NFL season year as a four-digit string (e.g. '2023' for the 2023-24 season).
→ api.parse.bot/scraper/68f10b93-1fc8-410d-af5c-7f1b3d6e618d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/68f10b93-1fc8-410d-af5c-7f1b3d6e618d/get_season_schedule?year=2023' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 8 totalmissing one? ·

Retrieve the full NFL schedule for a given season. Returns every regular-season and playoff game with final scores, yardage totals, turnover counts, and a game_id suitable for drill-down into boxscores and play-by-play. One request per season; no pagination.

Input
ParamTypeDescription
yearrequiredstringNFL season year as a four-digit string (e.g. '2023' for the 2023-24 season).
Response
{
  "type": "object",
  "fields": {
    "year": "string, the requested season year",
    "games": "array of game objects with week_num, game_date, winner, loser, pts_win, pts_lose, game_id, yards_win, yards_lose, to_win, to_lose"
  },
  "sample": {
    "data": {
      "year": "2023",
      "games": [
        {
          "loser": "Kansas City Chiefs",
          "to_win": "1",
          "winner": "Detroit Lions",
          "game_id": "202309070kan",
          "pts_win": "21",
          "to_lose": "1",
          "gametime": "8:20PM",
          "pts_lose": "20",
          "week_num": "1",
          "game_date": "2023-09-07",
          "yards_win": "368",
          "loser_abbr": "kan",
          "yards_lose": "316",
          "winner_abbr": "det",
          "game_location": "@",
          "game_day_of_week": "Thu"
        }
      ]
    },
    "status": "success"
  }
}

About the Pro-Football-Reference API

Schedule and Standings

The get_season_schedule endpoint accepts a year parameter and returns every regular-season and playoff game for that season as an array of game objects. Each object includes week_num, game_date, winner, loser, pts_win, pts_lose, yards_win, yards_lose, to_win, to_lose, and a game_id string used to drill into boxscores and play-by-play. The get_season_team_standings endpoint returns AFC and NFC arrays, each team entry carrying wins, losses, points, points_opp, mov (margin of victory), sos_total, and srs_total.

Game-Level Detail

get_game_boxscore takes a game_id and returns offense and defense arrays at the player level, a scoring_summary with quarter, time, team, and description for each scoring play, and a game_info object containing roof type, playing surface, game duration, attendance, and the Vegas line. get_game_details gives access to specific tables within a game page — supply a table_id value such as play-by-play or drive charts, and the data array returns row-level records. Play-by-play rows include quarter, down, distance, detail text, and expected-points figures.

Player Search and Profiles

search_players accepts a name query and returns an array of matches with name, player_id, and url. Pass that player_id to get_player_profile to retrieve biographical fields (birthdate, college, position) and position-appropriate career stat arrays: career_passing_stats for quarterbacks, career_rushing_stats for running backs and rushing quarterbacks, career_receiving_stats for wide receivers and tight ends, and career_defense_stats for defensive players.

Season and Advanced Statistics

get_season_stats returns per-player statistical leaders for a chosen category — fields vary by category, but all rows include name_display, team_name_abbr, pos, and games. get_season_advanced_stats covers advanced passing, rushing, receiving, and defense categories as well as red-zone breakdowns, and is populated for 2018 and later seasons. Advanced category responses include a postseason_stats array alongside the regular-season stats array; red-zone categories return an empty postseason_stats array.

Reliability & maintenanceVerified

The Pro-Football-Reference API is a managed, monitored endpoint for pro-football-reference.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pro-football-reference.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official pro-football-reference.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a season recap dashboard showing each team's win/loss record, margin of victory, and strength-of-schedule from get_season_team_standings.
  • Aggregate game-by-game yardage and turnover differentials from get_season_schedule to model team consistency across a full season.
  • Pull player-level passing and rushing stats from get_game_boxscore to generate automated post-game performance reports.
  • Use get_game_details with the play-by-play table to analyze down-and-distance tendencies and expected-points trends for a specific game.
  • Combine search_players and get_player_profile to build a player comparison tool using career stat arrays across multiple positions.
  • Retrieve advanced receiving metrics (air yards, yards after catch) via get_season_advanced_stats to evaluate wide receiver separation quality since 2018.
  • Compare the Vegas line from get_game_boxscore against actual final margins to study historical betting spread accuracy.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Pro-Football-Reference have an official developer API?+
Pro-Football-Reference does not publish an official public developer API. Their data is available on the website at pro-football-reference.com, but there is no documented REST or GraphQL interface offered to developers.
What does `get_game_boxscore` return beyond the final score?+
Beyond the two team scores, it returns player-level offense rows (passing, rushing, and receiving stats per player), player-level defense rows (tackles, sacks, interceptions), a scoring_summary array describing each score by quarter and time, and a game_info object with roof type, surface, duration, attendance, and Vegas line.
How far back does advanced stats data go in `get_season_advanced_stats`?+
The endpoint notes that advanced and red-zone data is published for 2018 and later seasons. Requesting earlier years will not return tracking-derived metrics like air yards or yards after contact, as that data is not available for those seasons on Pro-Football-Reference.
Does the API cover team-level advanced stats or only player-level?+
Currently the API covers player-level statistics across get_season_stats, get_season_advanced_stats, and get_game_boxscore. Team-level advanced stat tables (such as team DVOA or team passing air yards totals) are not exposed as a dedicated endpoint. You can fork this API on Parse and revise it to add a team advanced stats endpoint.
Can I retrieve historical play-by-play data for multiple games in one request?+
get_game_details operates on a single game_id per request. There is no bulk or multi-game endpoint for play-by-play. To collect play-by-play across a full season you would need to call the endpoint once per game_id returned from get_season_schedule. You can fork this API on Parse and revise it to add a batched play-by-play endpoint if your use case requires it.
Page content last updated . Spec covers 8 endpoints from pro-football-reference.com.
Related APIs in SportsSee all →
nfl.com API
Access real-time NFL data including game schedules, scores, player statistics, team rosters, standings, injury reports, fantasy rankings, and the latest news — all from nfl.com.
pff.com API
Access PFF.com football data including fantasy draft and weekly rankings, NFL season info, and NCAA college football schedules and game results.
stathead.com API
Search and analyze NFL player performance on a game-by-game basis. Access detailed football statistics — passing, rushing, receiving, and more — filterable by season, team, game type, or statistical thresholds.
sports-reference.com API
Access data from sports-reference.com.
baseball-reference.com API
Access comprehensive MLB and college baseball (NCAA Division I) statistics from Baseball-Reference. Retrieve player career and season stats, team rosters and performance data, game box scores, season schedules, league leaders, and college conference standings — all from a single API.
fbref.com API
Access comprehensive football statistics including player profiles, team performance data, league standings, and detailed match reports all in one place. Search for specific players and teams, compare their stats, and get up-to-date information on leagues and match outcomes.
teamrankings.com API
Access data from teamrankings.com.
stats.ncaa.org API
Access comprehensive NCAA sports statistics to search for players, teams, and coaches, view game box scores and play-by-play data, and review team schedules, rosters, and rankings. Get detailed head coach records and scoreboard information to analyze performance across college sports.