{"files":{"SKILL.md":"---\nname: college-football-data-api\ndescription: \"College Football Data API skill. Use when working with College Football Data for wepa, teams, roster. Covers 74 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# College Football Data API\nAPI version: 5.24.1\n\n## Auth\nBearer bearer\n\n## Base URL\nhttps://api.collegefootballdata.com/\n\n## Setup\n1. Set Authorization header with Bearer token\n2. GET /wepa/team/season -- returns opponent-adjusted team statistics by season.\n3. Explore available endpoints below\n\n## Endpoints\n74 endpoints across 26 groups. See references/api-spec.lap for full details.\n\n### Wepa\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /wepa/team/season | Returns opponent-adjusted team statistics by season. |\n| GET | /wepa/players/passing | Returns opponent-adjusted player passing metrics. |\n| GET | /wepa/players/rushing | Returns opponent-adjusted player rushing metrics. |\n| GET | /wepa/players/kicking | Returns Points Added Above Replacement (PAAR) ratings for kickers. |\n\n### Teams\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /teams | Returns team information and conference affiliations. |\n| GET | /teams/fbs | Returns Football Bowl Subdivision (FBS) teams for a season. |\n| GET | /teams/matchup | Returns historical matchup results between two teams. |\n| GET | /teams/ats | Returns against-the-spread (ATS) records by team. |\n\n### Roster\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /roster | Returns historical roster data. |\n\n### Conferences\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /conferences | Returns conferences and member counts. |\n| GET | /conferences/changes | Returns team conference changes by season. |\n| GET | /conferences/affiliations | Returns historical team conference affiliations. |\n\n### Talent\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /talent | Returns 247Sports Team Talent Composite ratings for a season. |\n\n### Venues\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /venues | Returns college football venues. |\n\n### Stats\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /stats/player/season | Returns player statistics aggregated by season. |\n| GET | /stats/player/success | Returns player passing and rushing success rates by season. |\n| GET | /stats/player/success/game | Returns player passing and rushing success rates by game. |\n| GET | /stats/season | Returns team statistics aggregated by season. |\n| GET | /stats/categories | Returns the available team statistical categories. |\n| GET | /stats/season/advanced | Returns advanced team statistics aggregated by season. |\n| GET | /stats/game/advanced | Returns advanced team statistics aggregated by game. |\n| GET | /stats/game/havoc | Returns team havoc statistics aggregated by game. |\n\n### Recruiting\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /recruiting/players | Returns player recruiting rankings. |\n| GET | /recruiting/teams | Returns team recruiting rankings. |\n| GET | /recruiting/groups | Returns recruiting ratings aggregated by team and position group. |\n\n### Ratings\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /ratings/core | Returns Context & Opponent-Relative Efficiency (CORE) ratings. |\n| GET | /ratings/sp | Returns SP+ ratings by team and season. |\n| GET | /ratings/sp/conferences | Returns conference-level SP+ ratings by season. |\n| GET | /ratings/srs | Returns Simple Rating System (SRS) ratings by team and season. |\n| GET | /ratings/srs/expanded | Returns expanded Simple Rating System (SRS) ratings, including FCS teams. |\n| GET | /ratings/elo | Returns historical Elo ratings. |\n| GET | /ratings/fpi | Returns historical Football Power Index (FPI) ratings. |\n\n### Rankings\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /rankings | Returns historical poll rankings. |\n\n### Plays\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /plays | Returns historical play-by-play data. |\n| GET | /plays/types | Returns the available play types. |\n| GET | /plays/stats | Returns player and play-stat associations, limited to 2,000 records. |\n| GET | /plays/stats/types | Returns the available play stat types. |\n\n### Playoffs\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /playoffs/cfp | Returns the complete College Football Playoff bracket for a season. |\n| GET | /playoffs/cfp/participants | Returns College Football Playoff participants for a season. |\n| GET | /playoffs/cfp/games | Returns College Football Playoff matchups for a season. |\n\n### Player\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /player/search | Returns up to 100 players whose names match the search term. |\n| GET | /player/usage | Returns player usage metrics for a season. |\n| GET | /player/season/overview | Returns a player season overview with box score, usage, and Predicted |\n| GET | /player/returning | Returns returning production metrics by team and season. |\n| GET | /player/portal | Returns transfer portal entries for a season. |\n\n### Ppa\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /ppa/predicted | Returns predicted points values by down and distance. |\n| GET | /ppa/teams | Returns team Predicted Points Added (PPA) metrics by season. |\n| GET | /ppa/games | Returns team Predicted Points Added (PPA) metrics by game. |\n| GET | /ppa/players/games | Returns player Predicted Points Added (PPA) metrics by game. |\n| GET | /ppa/players/season | Returns player Predicted Points Added (PPA) metrics by season. |\n\n### Metrics\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /metrics/wp | Returns play-by-play win probabilities for a game. |\n| GET | /metrics/wp/pregame | Returns pregame win probabilities. |\n| GET | /metrics/fg/ep | Returns expected points values for field goal attempts. |\n\n### Live\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /live/plays | Returns live play-by-play data and advanced metrics for a game. |\n\n### Lines\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /lines | Returns historical betting lines and results. |\n\n### Info\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /info | Returns the authenticated user's Patreon level and remaining API calls. |\n| GET | /info/usage | Returns recent usage for the authenticated user's shared CFB and CBB call |\n\n### Games\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /games | Returns historical game data. |\n| GET | /games/teams | Returns team box score statistics by game. |\n| GET | /games/players | Returns player box score statistics by game. |\n| GET | /games/media | Returns broadcast and media information for games. |\n| GET | /games/weather | Returns historical and forecast weather data for games. Requires Patreon. |\n\n### Records\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /records | Returns historical team records by season. |\n\n### Calendar\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /calendar | Returns the week-by-week season calendar. |\n\n### Scoreboard\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /scoreboard | Returns current scoreboard data. |\n\n### Drives\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /drives | Returns historical drive data. |\n\n### Draft\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /draft/teams | Returns the NFL teams represented in draft data. |\n| GET | /draft/positions | Returns the player position categories used in NFL Draft data. |\n| GET | /draft/picks | Returns historical NFL Draft picks. |\n\n### Coaches\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /coaches | Returns historical head coach records. |\n| GET | /coaches/profile | Returns a coach profile with canonical identity and career totals. |\n| GET | /coaches/seasons | Returns coach-season records with attributed results and team context. |\n| GET | /coaches/tenures | Returns continuous head-coaching tenures and their attributed records. |\n\n### Game\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /game/box/advanced | Returns an advanced box score for a game. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all season?\" -> GET /wepa/team/season\n- \"List all passing?\" -> GET /wepa/players/passing\n- \"List all rushing?\" -> GET /wepa/players/rushing\n- \"List all kicking?\" -> GET /wepa/players/kicking\n- \"List all teams?\" -> GET /teams\n- \"List all fbs?\" -> GET /teams/fbs\n- \"List all matchup?\" -> GET /teams/matchup\n- \"List all ats?\" -> GET /teams/ats\n- \"List all roster?\" -> GET /roster\n- \"List all conferences?\" -> GET /conferences\n- \"List all changes?\" -> GET /conferences/changes\n- \"List all affiliations?\" -> GET /conferences/affiliations\n- \"List all talent?\" -> GET /talent\n- \"List all venues?\" -> GET /venues\n- \"List all success?\" -> GET /stats/player/success\n- \"List all game?\" -> GET /stats/player/success/game\n- \"List all categories?\" -> GET /stats/categories\n- \"List all advanced?\" -> GET /stats/season/advanced\n- \"List all havoc?\" -> GET /stats/game/havoc\n- \"List all players?\" -> GET /recruiting/players\n- \"List all groups?\" -> GET /recruiting/groups\n- \"List all core?\" -> GET /ratings/core\n- \"List all sp?\" -> GET /ratings/sp\n- \"List all srs?\" -> GET /ratings/srs\n- \"List all expanded?\" -> GET /ratings/srs/expanded\n- \"List all elo?\" -> GET /ratings/elo\n- \"List all fpi?\" -> GET /ratings/fpi\n- \"List all rankings?\" -> GET /rankings\n- \"List all plays?\" -> GET /plays\n- \"List all types?\" -> GET /plays/types\n- \"List all stats?\" -> GET /plays/stats\n- \"List all cfp?\" -> GET /playoffs/cfp\n- \"List all participants?\" -> GET /playoffs/cfp/participants\n- \"List all games?\" -> GET /playoffs/cfp/games\n- \"List all search?\" -> GET /player/search\n- \"List all usage?\" -> GET /player/usage\n- \"List all overview?\" -> GET /player/season/overview\n- \"List all returning?\" -> GET /player/returning\n- \"List all portal?\" -> GET /player/portal\n- \"List all predicted?\" -> GET /ppa/predicted\n- \"List all wp?\" -> GET /metrics/wp\n- \"List all pregame?\" -> GET /metrics/wp/pregame\n- \"List all ep?\" -> GET /metrics/fg/ep\n- \"List all lines?\" -> GET /lines\n- \"List all info?\" -> GET /info\n- \"List all media?\" -> GET /games/media\n- \"List all weather?\" -> GET /games/weather\n- \"List all records?\" -> GET /records\n- \"List all calendar?\" -> GET /calendar\n- \"List all scoreboard?\" -> GET /scoreboard\n- \"List all drives?\" -> GET /drives\n- \"List all positions?\" -> GET /draft/positions\n- \"List all picks?\" -> GET /draft/picks\n- \"List all coaches?\" -> GET /coaches\n- \"List all profile?\" -> GET /coaches/profile\n- \"List all seasons?\" -> GET /coaches/seasons\n- \"List all tenures?\" -> GET /coaches/tenures\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api College Football Data API\n@base https://api.collegefootballdata.com/\n@version 5.24.0\n@auth Bearer bearer\n@endpoints 74\n@hint download_for_search\n@toc wepa(4), teams(4), roster(1), conferences(3), talent(1), venues(1), stats(8), recruiting(3), ratings(7), rankings(1), plays(4), playoffs(3), player(5), ppa(5), metrics(3), live(1), lines(1), info(2), games(5), records(1), calendar(1), scoreboard(1), drives(1), draft(3), coaches(4), game(1)\n\n@group wepa\n@endpoint GET /wepa/team/season\n@desc Returns opponent-adjusted team statistics by season.\n@optional {year: int(int32) # Season year., team: str # Team name., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /wepa/players/passing\n@desc Returns opponent-adjusted player passing metrics.\n@optional {year: int(int32) # Season year., team: str # Team name., conference: str # Conference abbreviation., position: str # Player position abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /wepa/players/rushing\n@desc Returns opponent-adjusted player rushing metrics.\n@optional {year: int(int32) # Season year., team: str # Team name., conference: str # Conference abbreviation., position: str # Player position abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /wepa/players/kicking\n@desc Returns Points Added Above Replacement (PAAR) ratings for kickers.\n@optional {year: int(int32) # Season year., team: str # Team name., conference: str # Conference abbreviation.}\n@returns(200) Ok\n\n@endgroup\n\n@group teams\n@endpoint GET /teams\n@desc Returns team information and conference affiliations.\n@optional {conference: str # Conference abbreviation., year: int(int32) # Season year for historical conference affiliations.}\n@returns(200) Ok\n\n@endpoint GET /teams/fbs\n@desc Returns Football Bowl Subdivision (FBS) teams for a season.\n@optional {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endpoint GET /teams/matchup\n@desc Returns historical matchup results between two teams.\n@required {team1: str # First team name., team2: str # Second team name.}\n@optional {minYear: int(int32) # Earliest season year to include., maxYear: int(int32) # Latest season year to include.}\n@returns(200) {team1: str, team2: str, startYear: int(int32), endYear: int(int32), team1Wins: int(int32), team2Wins: int(int32), ties: int(int32), games: [map]} # Ok\n\n@endpoint GET /teams/ats\n@desc Returns against-the-spread (ATS) records by team.\n@required {year: int(int32) # Season year.}\n@optional {conference: str # Conference name or abbreviation., team: str # Team name.}\n@returns(200) Ok\n\n@endgroup\n\n@group roster\n@endpoint GET /roster\n@desc Returns historical roster data.\n@optional {team: str # Team name., year: int(int32) # Season year. Defaults to 2025., classification: str # Division classification: `fbs` or `fcs`.}\n@returns(200) Ok\n\n@endgroup\n\n@group conferences\n@endpoint GET /conferences\n@desc Returns conferences and member counts.\n@optional {year: int(int32) # Season year used to calculate membership., classification: str # Conference classification.}\n@returns(200) Ok\n\n@endpoint GET /conferences/changes\n@desc Returns team conference changes by season.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endpoint GET /conferences/affiliations\n@desc Returns historical team conference affiliations.\n@optional {team: str # Team school name or abbreviation., conference: str # Conference name or abbreviation., year: int(int32) # Season year. Cannot be combined with `minYear` or `maxYear`., minYear: int(int32) # Earliest season year to include., maxYear: int(int32) # Latest season year to include., classification: str # Conference classification.}\n@returns(200) Ok\n\n@endgroup\n\n@group talent\n@endpoint GET /talent\n@desc Returns 247Sports Team Talent Composite ratings for a season.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endgroup\n\n@group venues\n@endpoint GET /venues\n@desc Returns college football venues.\n@returns(200) Ok\n\n@endgroup\n\n@group stats\n@endpoint GET /stats/player/season\n@desc Returns player statistics aggregated by season.\n@required {year: int(int32) # Season year.}\n@optional {conference: str # Conference name or abbreviation., team: str # Team name., startWeek: int(int32) # Earliest week to include., endWeek: int(int32) # Latest week to include., seasonType: str # Season type., category: str # Statistical category.}\n@returns(200) Ok\n\n@endpoint GET /stats/player/success\n@desc Returns player passing and rushing success rates by season.\n@optional {year: int(int32) # Season year. Required unless `playerId` is specified., conference: str # Conference abbreviation., team: str # Team name., playerId: int(int32) # Player ID. Required unless `year` is specified., seasonType: str # Season type., startWeek: int(int32) # Earliest week to include., endWeek: int(int32) # Latest week to include., threshold: int(int32) # Minimum credited passing and rushing plays., excludeGarbageTime: bool # Excludes garbage-time plays when `true`.}\n@returns(200) Ok\n\n@endpoint GET /stats/player/success/game\n@desc Returns player passing and rushing success rates by game.\n@required {year: int(int32) # Season year.}\n@optional {week: int(int32) # Week number. Required unless `team` or `playerId` is specified., seasonType: str # Season type., conference: str # Conference abbreviation., team: str # Team name., playerId: int(int32) # Player ID., threshold: int(int32) # Minimum credited passing and rushing plays., excludeGarbageTime: bool # Excludes garbage-time plays when `true`.}\n@returns(200) Ok\n\n@endpoint GET /stats/season\n@desc Returns team statistics aggregated by season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation., startWeek: int(int32) # Earliest week to include., endWeek: int(int32) # Latest week to include., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /stats/categories\n@desc Returns the available team statistical categories.\n@returns(200) Ok\n\n@endpoint GET /stats/season/advanced\n@desc Returns advanced team statistics aggregated by season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., excludeGarbageTime: bool # Excludes garbage-time plays when `true`. Defaults to `false`., startWeek: int(int32) # Earliest week to include., endWeek: int(int32) # Latest week to include., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /stats/game/advanced\n@desc Returns advanced team statistics aggregated by game.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., week: num(double) # Week number., opponent: str # Opponent team name., excludeGarbageTime: bool # Excludes garbage-time plays when `true`. Defaults to `false`., seasonType: str # Season type.}\n@returns(200) Ok\n\n@endpoint GET /stats/game/havoc\n@desc Returns team havoc statistics aggregated by game.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., week: num(double) # Week number., opponent: str # Opponent team name., seasonType: str # Season type.}\n@returns(200) Ok\n\n@endgroup\n\n@group recruiting\n@endpoint GET /recruiting/players\n@desc Returns player recruiting rankings.\n@optional {year: int(int32) # Recruiting class year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., position: str # Position category., state: str # State or province abbreviation., classification: str # Recruit classification. Defaults to `HighSchool`.}\n@returns(200) Ok\n\n@endpoint GET /recruiting/teams\n@desc Returns team recruiting rankings.\n@optional {year: int(int32) # Recruiting class year., team: str # Team name.}\n@returns(200) Ok\n\n@endpoint GET /recruiting/groups\n@desc Returns recruiting ratings aggregated by team and position group.\n@optional {team: str # Team name., conference: str # Conference name or abbreviation., recruitType: str # Recruit classification. Defaults to `HighSchool`., startYear: int(int32) # Earliest recruiting class year. Defaults to 2000., endYear: int(int32) # Latest recruiting class year. Defaults to the current year.}\n@returns(200) Ok\n\n@endgroup\n\n@group ratings\n@endpoint GET /ratings/core\n@desc Returns Context & Opponent-Relative Efficiency (CORE) ratings.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Exact team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /ratings/sp\n@desc Returns SP+ ratings by team and season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified.}\n@returns(200) Ok\n\n@endpoint GET /ratings/sp/conferences\n@desc Returns conference-level SP+ ratings by season.\n@optional {year: int(int32) # Season year., conference: str # Conference name or abbreviation., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /ratings/srs\n@desc Returns Simple Rating System (SRS) ratings by team and season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /ratings/srs/expanded\n@desc Returns expanded Simple Rating System (SRS) ratings, including FCS teams.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation., classification: str # Division classification: `fbs` or `fcs`.}\n@returns(200) Ok\n\n@endpoint GET /ratings/elo\n@desc Returns historical Elo ratings.\n@optional {year: int(int32) # Season year., week: int(int32) # Week number. Defaults to the latest available week in the season., seasonType: str # Season type., team: str # Team name., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /ratings/fpi\n@desc Returns historical Football Power Index (FPI) ratings.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endgroup\n\n@group rankings\n@endpoint GET /rankings\n@desc Returns historical poll rankings.\n@required {year: int(int32) # Season year.}\n@optional {seasonType: str # Season type., week: num(double) # Poll week., poll: str # Poll name., latest: bool # Returns the latest CFP snapshot when `true`, preferring the snapshot marked as final. Requires `poll=cfp` and cannot be combined with `final`., final: bool # Returns the CFP snapshot marked as final when `true`. Requires `poll=cfp` and cannot be combined with `latest`.}\n@returns(200) Ok\n@errors {400: Validation error}\n\n@endgroup\n\n@group plays\n@endpoint GET /plays\n@desc Returns historical play-by-play data.\n@required {year: int(int32) # Season year., week: int(int32) # Week number.}\n@optional {team: str # Team name on either side of the play., offense: str # Offensive team name., defense: str # Defensive team name., offenseConference: str # Offensive team conference., defenseConference: str # Defensive team conference., conference: str # Conference of either team., playType: str # Play type abbreviation., seasonType: str # Season type., classification: str # Division classification of either team.}\n@returns(200) Ok\n\n@endpoint GET /plays/types\n@desc Returns the available play types.\n@returns(200) Ok\n\n@endpoint GET /plays/stats\n@desc Returns player and play-stat associations, limited to 2,000 records.\n@optional {year: int(int32) # Season year., week: int(int32) # Week number., team: str # Team name., gameId: int(int32) # Game ID., athleteId: int(int32) # Athlete ID., statTypeId: int(int32) # Play stat type ID., seasonType: str # Season type., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /plays/stats/types\n@desc Returns the available play stat types.\n@returns(200) Ok\n\n@endgroup\n\n@group playoffs\n@endpoint GET /playoffs/cfp\n@desc Returns the complete College Football Playoff bracket for a season.\n@required {year: int(int32) # Season year.}\n@returns(200) {season: int(int32), competition: str, format: str, teamCount: int(int32), status: str, participants: [map], rounds: [map], champion: any?} # Ok\n@errors {400: Validation error, 404}\n\n@endpoint GET /playoffs/cfp/participants\n@desc Returns College Football Playoff participants for a season.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n@errors {400: Validation error, 404}\n\n@endpoint GET /playoffs/cfp/games\n@desc Returns College Football Playoff matchups for a season.\n@required {year: int(int32) # Season year.}\n@optional {round: str # Playoff round.}\n@returns(200) Ok\n@errors {400: Validation error, 404}\n\n@endgroup\n\n@group player\n@endpoint GET /player/search\n@desc Returns up to 100 players whose names match the search term.\n@required {searchTerm: str # Full or partial player name.}\n@optional {year: int(int32) # Season year., team: str # Team name., position: str # Player position abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /player/usage\n@desc Returns player usage metrics for a season.\n@required {year: int(int32) # Season year.}\n@optional {conference: str # Conference abbreviation., position: str # Player position abbreviation., team: str # Team name., playerId: int(int32) # Player ID., excludeGarbageTime: bool # Excludes garbage-time plays when `true`. Defaults to `false`.}\n@returns(200) Ok\n\n@endpoint GET /player/season/overview\n@desc Returns a player season overview with box score, usage, and Predicted\n@required {year: int(int32) # Season year., playerId: int(int32) # Player ID.}\n@returns(200) {season: int(int32), id: str, name: str, position: str, team: str, conference: str, games: int(int32), boxScoreStats: map{categories: [map]}, usage: map{passingDowns: num(double)?, standardDowns: num(double)?, thirdDown: num(double)?, secondDown: num(double)?, firstDown: num(double)?, rush: num(double)?, pass: num(double)?, overall: num(double)?}, ppa: map{average: map{passingDowns: num(double), standardDowns: num(double), thirdDown: num(double), secondDown: num(double), firstDown: num(double), rush: num(double), pass: num(double), all: num(double)}, total: map{passingDowns: num(double), standardDowns: num(double), thirdDown: num(double), secondDown: num(double), firstDown: num(double), rush: num(double), pass: num(double), all: num(double)}}} # Ok\n\n@endpoint GET /player/returning\n@desc Returns returning production metrics by team and season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endpoint GET /player/portal\n@desc Returns transfer portal entries for a season.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endgroup\n\n@group ppa\n@endpoint GET /ppa/predicted\n@desc Returns predicted points values by down and distance.\n@required {down: int(int32) # Down number., distance: int(int32) # Distance to gain, in yards.}\n@returns(200) Ok\n\n@endpoint GET /ppa/teams\n@desc Returns team Predicted Points Added (PPA) metrics by season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference abbreviation., excludeGarbageTime: bool # Excludes garbage-time plays when `true`., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /ppa/games\n@desc Returns team Predicted Points Added (PPA) metrics by game.\n@required {year: int(int32) # Season year.}\n@optional {week: int(int32) # Week number., seasonType: str # Season type., team: str # Team name., conference: str # Conference abbreviation., excludeGarbageTime: bool # Excludes garbage-time plays when `true`., classification: str # Division classification. Defaults to `fbs`.}\n@returns(200) Ok\n\n@endpoint GET /ppa/players/games\n@desc Returns player Predicted Points Added (PPA) metrics by game.\n@required {year: int(int32) # Season year.}\n@optional {week: int(int32) # Week number. Required unless `team` is specified., seasonType: str # Season type., team: str # Team name. Required unless `week` is specified., position: str # Player position abbreviation., playerId: str # Player ID., threshold: num(double) # Minimum number of plays., excludeGarbageTime: bool # Excludes garbage-time plays when `true`.}\n@returns(200) Ok\n\n@endpoint GET /ppa/players/season\n@desc Returns player Predicted Points Added (PPA) metrics by season.\n@optional {year: int(int32) # Season year. Required unless `playerId` is specified., conference: str # Conference abbreviation., team: str # Team name., position: str # Player position abbreviation., playerId: str # Player ID. Required unless `year` is specified., threshold: num(double) # Minimum number of plays., excludeGarbageTime: bool # Excludes garbage-time plays when `true`.}\n@returns(200) Ok\n\n@endgroup\n\n@group metrics\n@endpoint GET /metrics/wp\n@desc Returns play-by-play win probabilities for a game.\n@required {gameId: int(int32) # Game ID.}\n@returns(200) Ok\n\n@endpoint GET /metrics/wp/pregame\n@desc Returns pregame win probabilities.\n@optional {year: int(int32) # Season year., week: int(int32) # Week number., seasonType: str # Season type., team: str # Team name.}\n@returns(200) Ok\n\n@endpoint GET /metrics/fg/ep\n@desc Returns expected points values for field goal attempts.\n@returns(200) Ok\n\n@endgroup\n\n@group live\n@endpoint GET /live/plays\n@desc Returns live play-by-play data and advanced metrics for a game.\n@required {gameId: int(int32) # Game ID.}\n@returns(200) {id: int(int32), status: str, period: int(int32)?, clock: str, possession: str, down: int(int32)?, distance: int(int32)?, yardsToGoal: int(int32)?, teams: [map], drives: [map]} # Ok\n\n@endgroup\n\n@group lines\n@endpoint GET /lines\n@desc Returns historical betting lines and results.\n@optional {gameId: int(int32) # Game ID., year: int(int32) # Season year. Required unless `gameId` is specified., seasonType: str # Season type., week: int(int32) # Week number., team: str # Team name on either side of the game., home: str # Home team name., away: str # Away team name., conference: str # Conference of either team., provider: str # Betting line provider.}\n@returns(200) Ok\n\n@endgroup\n\n@group info\n@endpoint GET /info\n@desc Returns the authenticated user's Patreon level and remaining API calls.\n@returns(200) Ok\n\n@endpoint GET /info/usage\n@desc Returns recent usage for the authenticated user's shared CFB and CBB call\n@optional {days: int(int32) # Trailing days to include. Defaults to 7; maximum 31., limit: int(int32) # Maximum endpoint and request rows to return. Defaults to 10; maximum 50., api: str # API to include: `all`, `cfb`, or `cbb`.}\n@returns(200) Ok\n\n@endgroup\n\n@group games\n@endpoint GET /games\n@desc Returns historical game data.\n@optional {year: int(int32) # Season year. Required unless `id` is specified., week: int(int32) # Week number., seasonType: str # Season type., classification: str # Division classification., team: str # Team name on either side of the game., home: str # Home team name., away: str # Away team name., conference: str # Conference of either team., id: int(int32) # Game ID. When specified, returns data for that game., competition: str # Playoff competition., round: str # Playoff round. Requires `competition`.}\n@returns(200) Ok\n@errors {400: Validation error}\n\n@endpoint GET /games/teams\n@desc Returns team box score statistics by game.\n@optional {year: int(int32) # Season year. Required unless `id` is specified., week: int(int32) # Week number. One of `week`, `team`, or `conference` is required when filtering by year., team: str # Team name. One of `week`, `team`, or `conference` is required when filtering by year., conference: str # Conference name or abbreviation. One of `week`, `team`, or `conference` is required when filtering by year., classification: str # Division classification., seasonType: str # Season type., id: int(int32) # Game ID. When specified, returns statistics for that game.}\n@returns(200) Ok\n\n@endpoint GET /games/players\n@desc Returns player box score statistics by game.\n@optional {year: int(int32) # Season year. Required unless `id` is specified., week: int(int32) # Week number. One of `week`, `team`, or `conference` is required when filtering by year., team: str # Team name. One of `week`, `team`, or `conference` is required when filtering by year., conference: str # Conference name or abbreviation. One of `week`, `team`, or `conference` is required when filtering by year., classification: str # Division classification., seasonType: str # Season type., category: str # Player statistical category., id: int(int32) # Game ID. When specified, returns statistics for that game.}\n@returns(200) Ok\n\n@endpoint GET /games/media\n@desc Returns broadcast and media information for games.\n@required {year: int(int32) # Season year.}\n@optional {seasonType: str # Season type., week: int(int32) # Week number., team: str # Team name., conference: str # Conference name or abbreviation., mediaType: str # Media type., classification: str # Division classification.}\n@returns(200) Ok\n\n@endpoint GET /games/weather\n@desc Returns historical and forecast weather data for games. Requires Patreon.\n@optional {year: int(int32) # Season year. Required unless `gameId` is specified., seasonType: str # Season type., week: int(int32) # Week number., team: str # Team name., conference: str # Conference name or abbreviation., classification: str # Division classification., gameId: int(int32) # Game ID. When specified, returns weather for that game.}\n@returns(200) Ok\n\n@endgroup\n\n@group records\n@endpoint GET /records\n@desc Returns historical team records by season.\n@optional {year: int(int32) # Season year. Required unless `team` is specified., team: str # Team name. Required unless `year` is specified., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endgroup\n\n@group calendar\n@endpoint GET /calendar\n@desc Returns the week-by-week season calendar.\n@required {year: int(int32) # Season year.}\n@returns(200) Ok\n\n@endgroup\n\n@group scoreboard\n@endpoint GET /scoreboard\n@desc Returns current scoreboard data.\n@optional {classification: str # Division classification. Defaults to `fbs`., conference: str # Conference name or abbreviation.}\n@returns(200) Ok\n\n@endgroup\n\n@group drives\n@endpoint GET /drives\n@desc Returns historical drive data.\n@required {year: int(int32) # Season year.}\n@optional {seasonType: str # Season type., week: int(int32) # Week number., team: str # Team name on either side of the drive., offense: str # Offensive team name., defense: str # Defensive team name., conference: str # Conference of either team., offenseConference: str # Offensive team conference., defenseConference: str # Defensive team conference., classification: str # Division classification of either team.}\n@returns(200) Ok\n\n@endgroup\n\n@group draft\n@endpoint GET /draft/teams\n@desc Returns the NFL teams represented in draft data.\n@returns(200) Ok\n\n@endpoint GET /draft/positions\n@desc Returns the player position categories used in NFL Draft data.\n@returns(200) Ok\n\n@endpoint GET /draft/picks\n@desc Returns historical NFL Draft picks.\n@optional {year: int(int32) # Draft year., team: str # NFL team name., school: str # College team name., conference: str # College conference name or abbreviation., position: str # Position category.}\n@returns(200) Ok\n\n@endgroup\n\n@group coaches\n@endpoint GET /coaches\n@desc Returns historical head coach records.\n@optional {firstName: str # Coach first name., lastName: str # Coach last name., team: str # Team name., year: int(int32) # Season year., minYear: int(int32) # Earliest season year to include., maxYear: int(int32) # Latest season year to include.}\n@returns(200) Ok\n\n@endpoint GET /coaches/profile\n@desc Returns a coach profile with canonical identity and career totals.\n@required {coachId: int(int32) # Coach ID.}\n@returns(200) {id: int(int32), firstName: str, lastName: str, displayName: str?, currentTeam: any?, career: map{games: int(int32), wins: int(int32), losses: int(int32), ties: int(int32), winPercentage: num(double)?, seasons: int(int32), teams: int(int32), firstYear: int(int32), lastYear: int(int32)}, birthDate: str?, almaMater: any?, graduationYear: int(int32)?, wikidataId: str?, hallOfFameYear: int(int32)?} # Ok\n@errors {400: Validation error, 404}\n\n@endpoint GET /coaches/seasons\n@desc Returns coach-season records with attributed results and team context.\n@optional {coachId: int(int32) # Coach ID., team: str # Team name., year: int(int32) # Exact season year., minYear: int(int32) # Earliest season year to include., maxYear: int(int32) # Latest season year to include.}\n@returns(200) Ok\n@errors {400: Validation error}\n\n@endpoint GET /coaches/tenures\n@desc Returns continuous head-coaching tenures and their attributed records.\n@optional {coachId: int(int32) # Coach ID., team: str # Team name., year: int(int32) # Season year contained within the tenure., active: bool # Filters by active status when specified.}\n@returns(200) Ok\n@errors {400: Validation error}\n\n@endgroup\n\n@group game\n@endpoint GET /game/box/advanced\n@desc Returns an advanced box score for a game.\n@required {id: int(int32) # Game ID.}\n@returns(200) {gameInfo: map{excitement: num(double), homeWinner: bool, awayWinProb: num(double), awayPoints: int(int32), awayTeam: str, homeWinProb: num(double), homePoints: int(int32), homeTeam: str}, teams: map{fieldPosition: [map], scoringOpportunities: [map], havoc: [map], rushing: [map], explosiveness: [map], successRates: [map], cumulativePpa: [map], ppa: [map]}, players: map{ppa: [map], usage: [map]}} # Ok\n\n@endgroup\n\n@end\n"}}