College Football DataCollege Football Data
  • CollegeFootballData.com
  • Get API Key
  • Legacy Swagger UI
  • Getting Started
  • Official libraries
  • Methodology and resources
  • API Reference
Helpful Links
  • CFBD
  • Patreon
  • Gumroad
Data + Code Packs
  • Starter Pack
  • Model Training Pack
  • AI Launchpad
  • AI Builder Pack
Other Resources
  • Rad Sports Analytics
  • Blog
  • Basketball

A Rad Sports Analytics platform.

xdiscordgithub
Information
games
    /gamesget/games/teamsget/games/playersget/games/mediaget/games/weatherget/recordsget/calendarget/scoreboardget/game/box/advancedget
playoffs
    /playoffs/cfpget/playoffs/cfp/participantsget/playoffs/cfp/gamesget
drives
    /drivesget
plays
    /playsget/plays/typesget/plays/statsget/plays/stats/typesget/live/playsget
teams
    /teamsget/teams/fbsget/teams/matchupget/teams/atsget/rosterget/talentget
conferences
    /conferencesget
venues
    /venuesget
coaches
    /coachesget/coaches/profileget/coaches/seasonsget/coaches/tenuresget
players
    /player/searchget/player/usageget/player/season/overviewget/player/returningget/player/portalget
rankings
    /rankingsget
betting
    /linesget
recruiting
    /recruiting/playersget/recruiting/teamsget/recruiting/groupsget
ratings
    /ratings/coreget/ratings/spget/ratings/sp/conferencesget/ratings/srsget/ratings/srs/expandedget/ratings/eloget/ratings/fpiget
metrics
    /ppa/predictedget/ppa/teamsget/ppa/gamesget/ppa/players/gamesget/ppa/players/seasonget/metrics/wpget/metrics/wp/pregameget/metrics/fg/epget
stats
    /stats/player/seasonget/stats/player/successget/stats/player/success/gameget/stats/seasonget/stats/categoriesget/stats/season/advancedget/stats/game/advancedget/stats/game/havocget
draft
    /draft/teamsget/draft/positionsget/draft/picksget
adjustedMetrics
    /wepa/team/seasonget/wepa/players/passingget/wepa/players/rushingget/wepa/players/kickingget
info
    /infoget/info/usageget
Schemas
powered by Zudoku
College Football Data API
College Football Data API

plays

Download schema

Historical and live play-by-play data.


GET
https://api.collegefootballdata.com
/plays
Bearer

Returns historical play-by-play data.

query Parameters

year
​integer · int32 · required

Season year.

week
​integer · int32 · required

Week number.

team
​string

Team name on either side of the play.

offense
​string

Offensive team name.

defense
​string

Defensive team name.

offenseConference
​string

Offensive team conference.

defenseConference
​string

Defensive team conference.

conference
​string

Conference of either team.

playType
​string

Play type abbreviation.

seasonType
​SeasonType · enum

Season type.

Enum values:
regular
postseason
both
allstar
spring_regular
spring_postseason
classification
​DivisionClassification · enum

Division classification of either team.

Enum values:
fbs
fcs
ii
iii

Responses

200

Ok

​Play[]
Play
id
​string · required
driveId
​string · required
gameId
​integer · int32 · required
driveNumber
​integer | null · int32 · required
playNumber
​integer | null · int32 · required
offense
​string · required
offenseConference
​string | null · required
offenseScore
​integer · int32 · required
defense
​string · required
home
​string · required
away
​string · required
defenseConference
​string | null · required
defenseScore
​integer · int32 · required
period
​integer · int32 · required
​object · required
offenseTimeouts
​integer | null · int32 · required
defenseTimeouts
​integer | null · int32 · required
yardline
​integer · int32 · required
yardsToGoal
​integer · int32 · required
down
​integer · int32 · required
distance
​integer · int32 · required
yardsGained
​integer · int32 · required
scoring
​boolean · required
playType
​string · required
playText
​string | null · required
ppa
​number | null · double · required
wallclock
​string | null · required
GET/plays
curl 'https://api.collegefootballdata.com/plays?year=<number>&week=<number>' \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": "id", "driveId": "driveId", "gameId": 0, "driveNumber": 0, "playNumber": 0, "offense": "offense", "offenseConference": "offenseConference", "offenseScore": 0, "defense": "defense", "home": "home", "away": "away", "defenseConference": "defenseConference", "defenseScore": 0, "period": 0, "clock": { "seconds": 0, "minutes": 0 }, "offenseTimeouts": 0, "defenseTimeouts": 0, "yardline": 0, "yardsToGoal": 0, "down": 0, "distance": 0, "yardsGained": 0, "scoring": true, "playType": "playType", "playText": "playText", "ppa": 0, "wallclock": "wallclock" } ]
json
application/json

GET
https://api.collegefootballdata.com
/plays/types
Bearer

Returns the available play types.

Responses

200

Ok

​PlayType[]
PlayType
id
​integer · int32 · required
text
​string · required
abbreviation
​string | null · required
GET/plays/types
curl https://api.collegefootballdata.com/plays/types \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": 0, "text": "text", "abbreviation": "abbreviation" } ]
json
application/json

GET
https://api.collegefootballdata.com
/plays/stats
Bearer

Returns player and play-stat associations, limited to 2,000 records.

query Parameters

year
​integer · int32

Season year.

week
​integer · int32

Week number.

team
​string

Team name.

gameId
​integer · int32

Game ID.

athleteId
​integer · int32

Athlete ID.

statTypeId
​integer · int32

Play stat type ID.

seasonType
​SeasonType · enum

Season type.

Enum values:
regular
postseason
both
allstar
spring_regular
spring_postseason
conference
​string

Conference name or abbreviation.

Responses

200

Ok

​PlayStat[]
PlayStat
gameId
​number · double · required
season
​number · double · required
week
​number · double · required
team
​string · required
conference
​string · required
opponent
​string · required
teamScore
​number · double · required
opponentScore
​number · double · required
driveId
​string · required
playId
​string · required
period
​number · double · required
​object · required
yardsToGoal
​number · double · required
down
​number · double · required
distance
​number · double · required
athleteId
​string · required
athleteName
​string · required
statType
​string · required
stat
​number · double · required
GET/plays/stats
curl https://api.collegefootballdata.com/plays/stats \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "gameId": 0, "season": 0, "week": 0, "team": "team", "conference": "conference", "opponent": "opponent", "teamScore": 0, "opponentScore": 0, "driveId": "driveId", "playId": "playId", "period": 0, "clock": { "seconds": 0, "minutes": 0 }, "yardsToGoal": 0, "down": 0, "distance": 0, "athleteId": "athleteId", "athleteName": "athleteName", "statType": "statType", "stat": 0 } ]
json
application/json

GET
https://api.collegefootballdata.com
/plays/stats/types
Bearer

Returns the available play stat types.

Responses

200

Ok

​PlayStatType[]
PlayStatType
id
​integer · int32 · required
name
​string · required
GET/plays/stats/types
curl https://api.collegefootballdata.com/plays/stats/types \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": 0, "name": "name" } ]
json
application/json

GET
https://api.collegefootballdata.com
/live/plays
Bearer

Returns live play-by-play data and advanced metrics for a game.

query Parameters

gameId
​integer · int32 · required

Game ID.

Responses

200

Ok

LiveGame
id
​integer · int32 · required
status
​string · required
period
​integer | null · int32 · required
clock
​string · required
possession
​string · required
down
​integer | null · int32 · required
distance
​integer | null · int32 · required
yardsToGoal
​integer | null · int32 · required
​LiveGameTeam[] · required
​LiveGameDrive[] · required
GET/live/plays
curl 'https://api.collegefootballdata.com/live/plays?gameId=<number>' \ --header 'Authorization: Bearer <token>'
Example Responses
{ "id": 0, "status": "status", "period": 0, "clock": "clock", "possession": "possession", "down": 0, "distance": 0, "yardsToGoal": 0, "teams": [ { "teamId": 0, "team": "team", "homeAway": "home", "lineScores": [ 0 ], "points": 0, "drives": 0, "scoringOpportunities": 0, "pointsPerOpportunity": 0, "averageStartYardLine": 0, "plays": 0, "lineYards": 0, "lineYardsPerRush": 0, "secondLevelYards": 0, "secondLevelYardsPerRush": 0, "openFieldYards": 0, "openFieldYardsPerRush": 0, "epaPerPlay": 0, "totalEpa": 0, "passingEpa": 0, "epaPerPass": 0, "rushingEpa": 0, "epaPerRush": 0, "successRate": 0, "standardDownSuccessRate": 0, "passingDownSuccessRate": 0, "explosiveness": 0, "deserveToWin": 0 } ], "drives": [ { "id": "id", "offenseId": 0, "offense": "offense", "defenseId": 0, "defense": "defense", "playCount": 0, "yards": 0, "startPeriod": 0, "startClock": "startClock", "startYardsToGoal": 0, "endPeriod": 0, "endClock": "endClock", "endYardsToGoal": 0, "duration": "duration", "scoringOpportunity": true, "result": "result", "pointsGained": 0, "plays": [ { "id": "id", "homeScore": 0, "awayScore": 0, "period": 0, "clock": "clock", "wallClock": "2024-08-25T15:00:00Z", "teamId": 0, "team": "team", "down": 0, "distance": 0, "yardsToGoal": 0, "yardsGained": 0, "playTypeId": 0, "playType": "playType", "epa": 0, "garbageTime": true, "success": true, "rushPass": "rush", "downType": "passing", "playText": "playText" } ] } ] }
json
application/json

drivesteams