CollegeFootballData is a community-run FBS/FCS college football data platform offering both REST and GraphQL endpoints for team metrics, box scores, win-probability models, player efficiency stats, and recruiting data, alongside a data-exporter tool and downloadable analysis notebooks. A free API key unlocks the core REST/GraphQL surface for testing and small projects; Patreon-backed tiers (Tier 2+) raise call limits, add live in-game data, and unlock app-scale usage for its roughly 1,600 supporters. A live probe of the real `api.collegefootballdata.com` host confirmed the key requirement (401 without one) and a wildcard `Access-Control-Allow-Origin`, resolving `cors: unknown -> yes`.
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSON, GraphQLResponses can be requested as JSON or GraphQL.
GreatAPIs Score
Score87out of 100
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats15/15Supports 2 response formats
Freshness20/20Verified within 6 months
Embed this badge
<a href="https://greatapis.com/api/collegefootballdata-com/"><img src="https://greatapis.com/badge/collegefootballdata-com.svg" alt="Scored 87 on greatapis.com"></a>
Auth quickstart
Sign up with the provider to get an API key.
Send it on every request as a headerAuthorization: Bearer <key>
Stored keyNo key stored
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Endpoints
Servers
https://api.collegefootballdata.com
Auth
ApiKeyAuth
games9
Games scores and statistics
GET/calendarSeason calendar
Parameters
Name
In
Required
Type
year
query
yes
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/game/box/advancedAdvanced box scores
Parameters
Name
In
Required
Type
gameId
query
yes
integer
Responses
Status
Description
Schema
200
successful operation
BoxScore
GET/gamesGames and results
Parameters
Name
In
Required
Type
year
query
yes
integer
week
query
no
integer
seasonType
query
no
string
team
query
no
string
home
query
no
string
away
query
no
string
conference
query
no
string
division
query
no
string
id
query
no
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/games/mediaGame media information and schedules
Parameters
Name
In
Required
Type
year
query
yes
integer
week
query
no
integer
seasonType
query
no
string
team
query
no
string
conference
query
no
string
mediaType
query
no
string
classification
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/games/playersPlayer game stats
Parameters
Name
In
Required
Type
year
query
yes
integer
week
query
no
integer
seasonType
query
no
string
team
query
no
string
conference
query
no
string
category
query
no
string
gameId
query
no
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/games/teamsTeam game stats
Parameters
Name
In
Required
Type
year
query
yes
integer
week
query
no
integer
seasonType
query
no
string
team
query
no
string
conference
query
no
string
gameId
query
no
integer
classification
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/games/weatherGame weather information (Patreon only)
Parameters
Name
In
Required
Type
gameId
query
no
integer
year
query
no
integer
week
query
no
integer
seasonType
query
no
string
team
query
no
string
conference
query
no
string
classification
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/recordsTeam records
Parameters
Name
In
Required
Type
year
query
no
integer
team
query
no
string
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/scoreboardLive game results (Patreon only)
Parameters
Name
In
Required
Type
classification
query
no
string
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
drives1
Drive data
GET/drivesDrive data and results
Parameters
Name
In
Required
Type
seasonType
query
no
string
year
query
yes
integer
week
query
no
integer
team
query
no
string
offense
query
no
string
defense
query
no
string
conference
query
no
string
offenseConference
query
no
string
defenseConference
query
no
string
classification
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
plays5
Play by play data
GET/live/playsLive metrics and PBP (Patreon only)
Parameters
Name
In
Required
Type
id
query
yes
integer
Responses
Status
Description
Schema
200
successful operation
LivePlayByPlay
GET/play/stat/typesTypes of player play stats
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/play/statsPlay stats by play
Parameters
Name
In
Required
Type
year
query
no
integer
week
query
no
integer
team
query
no
string
gameId
query
no
integer
athleteId
query
no
integer
statTypeId
query
no
integer
seasonType
query
no
string
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/play/typesPlay types
Responses
Status
Description
Schema
200
successful operation
—
GET/playsPlay by play data
Parameters
Name
In
Required
Type
seasonType
query
no
string
year
query
yes
integer
week
query
yes
integer
team
query
no
string
offense
query
no
string
defense
query
no
string
conference
query
no
string
offenseConference
query
no
string
defenseConference
query
no
string
playType
query
no
integer
classification
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
teams5
Team information
GET/rosterTeam rosters
Parameters
Name
In
Required
Type
team
query
no
string
year
query
no
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/talentTeam talent composite rankings
Parameters
Name
In
Required
Type
year
query
no
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/teamsTeam information
Parameters
Name
In
Required
Type
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/teams/fbsFBS team list
Parameters
Name
In
Required
Type
year
query
no
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/teams/matchupTeam matchup history
Parameters
Name
In
Required
Type
team1
query
yes
string
team2
query
yes
string
minYear
query
no
integer
maxYear
query
no
integer
Responses
Status
Description
Schema
200
successful operation
TeamMatchup
400
error
—
conferences1
Conference information
GET/conferencesConferences
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
venues1
Information about venues
GET/venuesArena and venue information
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
coaches1
Information about coaches
GET/coachesCoaching records and history
Parameters
Name
In
Required
Type
firstName
query
no
string
lastName
query
no
string
team
query
no
string
year
query
no
integer
minYear
query
no
integer
maxYear
query
no
integer
Responses
Status
Description
Schema
200
successful operation
—
players5
Player information and data
GET/player/portalTransfer portal by season
Parameters
Name
In
Required
Type
year
query
yes
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/player/returningTeam returning production metrics
Parameters
Name
In
Required
Type
year
query
no
integer
team
query
no
string
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/player/searchSearch for player information
Parameters
Name
In
Required
Type
searchTerm
query
yes
string
position
query
no
string
team
query
no
string
year
query
no
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/player/usagePlayer usage metrics broken down by season
Parameters
Name
In
Required
Type
year
query
yes
integer
team
query
no
string
conference
query
no
string
position
query
no
string
playerId
query
no
integer
excludeGarbageTime
query
no
boolean
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/stats/player/seasonPlayer stats by season
Parameters
Name
In
Required
Type
year
query
yes
integer
team
query
no
string
conference
query
no
string
startWeek
query
no
integer
endWeek
query
no
integer
seasonType
query
no
string
category
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
rankings1
Historical poll rankings
GET/rankingsHistorical polls and rankings
Parameters
Name
In
Required
Type
year
query
yes
integer
week
query
no
integer
seasonType
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
betting1
Betting lines and data
GET/linesBetting lines
Parameters
Name
In
Required
Type
gameId
query
no
integer
year
query
no
integer
week
query
no
integer
seasonType
query
no
string
team
query
no
string
home
query
no
string
away
query
no
string
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
recruiting3
Recruiting rankings and data
GET/recruiting/groupsRecruit position group ratings
Parameters
Name
In
Required
Type
startYear
query
no
integer
endYear
query
no
integer
team
query
no
string
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/recruiting/playersPlayer recruiting ratings and rankings
Parameters
Name
In
Required
Type
year
query
no
integer
classification
query
no
string
position
query
no
string
state
query
no
string
team
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/recruiting/teamsTeam recruiting rankings and ratings
Parameters
Name
In
Required
Type
year
query
no
integer
team
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
ratings4
Team rating data
GET/ratings/eloHistorical Elo ratings
Parameters
Name
In
Required
Type
year
query
no
integer
week
query
no
integer
team
query
no
string
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/ratings/spHistorical SP+ ratings
Parameters
Name
In
Required
Type
year
query
no
integer
team
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/ratings/sp/conferencesHistorical SP+ ratings by conference
Parameters
Name
In
Required
Type
year
query
no
integer
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/ratings/srsHistorical SRS ratings
Parameters
Name
In
Required
Type
year
query
no
integer
team
query
no
string
conference
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
metrics7
Data relating to Predicted Points and other metrics
GET/metrics/wpWin probability chart data
Parameters
Name
In
Required
Type
gameId
query
yes
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/metrics/wp/pregamePregame win probability data
Parameters
Name
In
Required
Type
year
query
no
integer
week
query
no
integer
team
query
no
string
seasonType
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/ppa/gamesTeam Predicated Points Added (PPA/EPA) by game
Parameters
Name
In
Required
Type
year
query
yes
integer
week
query
no
integer
team
query
no
string
conference
query
no
string
excludeGarbageTime
query
no
boolean
seasonType
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/ppa/players/gamesPlayer Predicated Points Added (PPA/EPA) broken down by game
Parameters
Name
In
Required
Type
year
query
no
integer
week
query
no
integer
team
query
no
string
position
query
no
string
playerId
query
no
integer
threshold
query
no
string
excludeGarbageTime
query
no
boolean
seasonType
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/ppa/players/seasonPlayer Predicated Points Added (PPA/EPA) broken down by season
Parameters
Name
In
Required
Type
year
query
no
integer
team
query
no
string
conference
query
no
string
position
query
no
string
playerId
query
no
integer
threshold
query
no
string
excludeGarbageTime
query
no
boolean
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/ppa/predictedPredicted Points (i.e. Expected Points or EP)
Parameters
Name
In
Required
Type
down
query
yes
integer
distance
query
yes
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/ppa/teamsPredicted Points Added (PPA/EPA) data by team
Parameters
Name
In
Required
Type
year
query
no
integer
team
query
no
string
conference
query
no
string
excludeGarbageTime
query
no
boolean
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
stats4
Statistical data
GET/stats/categoriesTeam stat categories
Responses
Status
Description
Schema
200
successful operation
—
GET/stats/game/advancedAdvanced team metrics by game
Parameters
Name
In
Required
Type
year
query
no
integer
week
query
no
integer
team
query
no
string
opponent
query
no
string
excludeGarbageTime
query
no
boolean
seasonType
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/stats/seasonTeam statistics by season
Parameters
Name
In
Required
Type
year
query
no
integer
team
query
no
string
conference
query
no
string
startWeek
query
no
integer
endWeek
query
no
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/stats/season/advancedAdvanced team metrics by season
Parameters
Name
In
Required
Type
year
query
no
integer
team
query
no
string
excludeGarbageTime
query
no
boolean
startWeek
query
no
integer
endWeek
query
no
integer
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
draft3
NFL Draft data
GET/draft/picksList of NFL Draft picks
Parameters
Name
In
Required
Type
year
query
no
integer
nflTeam
query
no
string
college
query
no
string
conference
query
no
string
position
query
no
string
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/draft/positionsList of NFL positions
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
GET/draft/teamsList of NFL teams
Responses
Status
Description
Schema
200
successful operation
—
400
error
—
Try it
Developer reference
Base URLhttps://api.collegefootballdata.com
Rate limit
CollegeFootballData is call-metered by monthly key tier, not requests/second: the free tier allows 1,000 calls/month (3,000/month for a free .edu Academic key), and paid Patreon tiers raise the ceiling from 5,000/month ($1) up to 500,000/month ($30) — see collegefootballdata.com/api-tiers for the full ladder. Exceeding a tier's monthly allocation can get the key temporarily disabled until the next month.
Key endpoints
GET/games
GET/teams
GET/rankings
GET/drives
GET/lines
People comparing CollegeFootballData.com also look at…