Sports & Fitness — entry 006 of 33

CollegeFootballData.com

Verified Jul 2026

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`.

college-footballncaastatisticsgraphqlanalytics
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

Scored 87 on greatapis.com
<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

  1. Get a key at the provider
  2. 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
NameInRequiredType
yearqueryyesinteger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/game/box/advancedAdvanced box scores
Parameters
NameInRequiredType
gameIdqueryyesinteger
Responses
StatusDescriptionSchema
200successful operationBoxScore
GET/gamesGames and results
Parameters
NameInRequiredType
yearqueryyesinteger
weekquerynointeger
seasonTypequerynostring
teamquerynostring
homequerynostring
awayquerynostring
conferencequerynostring
divisionquerynostring
idquerynointeger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/games/mediaGame media information and schedules
Parameters
NameInRequiredType
yearqueryyesinteger
weekquerynointeger
seasonTypequerynostring
teamquerynostring
conferencequerynostring
mediaTypequerynostring
classificationquerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/games/playersPlayer game stats
Parameters
NameInRequiredType
yearqueryyesinteger
weekquerynointeger
seasonTypequerynostring
teamquerynostring
conferencequerynostring
categoryquerynostring
gameIdquerynointeger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/games/teamsTeam game stats
Parameters
NameInRequiredType
yearqueryyesinteger
weekquerynointeger
seasonTypequerynostring
teamquerynostring
conferencequerynostring
gameIdquerynointeger
classificationquerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/games/weatherGame weather information (Patreon only)
Parameters
NameInRequiredType
gameIdquerynointeger
yearquerynointeger
weekquerynointeger
seasonTypequerynostring
teamquerynostring
conferencequerynostring
classificationquerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/recordsTeam records
Parameters
NameInRequiredType
yearquerynointeger
teamquerynostring
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/scoreboardLive game results (Patreon only)
Parameters
NameInRequiredType
classificationquerynostring
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
drives1

Drive data

GET/drivesDrive data and results
Parameters
NameInRequiredType
seasonTypequerynostring
yearqueryyesinteger
weekquerynointeger
teamquerynostring
offensequerynostring
defensequerynostring
conferencequerynostring
offenseConferencequerynostring
defenseConferencequerynostring
classificationquerynostring
Responses
StatusDescriptionSchema
200successful operation—
plays5

Play by play data

GET/live/playsLive metrics and PBP (Patreon only)
Parameters
NameInRequiredType
idqueryyesinteger
Responses
StatusDescriptionSchema
200successful operationLivePlayByPlay
GET/play/stat/typesTypes of player play stats
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/play/statsPlay stats by play
Parameters
NameInRequiredType
yearquerynointeger
weekquerynointeger
teamquerynostring
gameIdquerynointeger
athleteIdquerynointeger
statTypeIdquerynointeger
seasonTypequerynostring
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/play/typesPlay types
Responses
StatusDescriptionSchema
200successful operation—
GET/playsPlay by play data
Parameters
NameInRequiredType
seasonTypequerynostring
yearqueryyesinteger
weekqueryyesinteger
teamquerynostring
offensequerynostring
defensequerynostring
conferencequerynostring
offenseConferencequerynostring
defenseConferencequerynostring
playTypequerynointeger
classificationquerynostring
Responses
StatusDescriptionSchema
200successful operation—
teams5

Team information

GET/rosterTeam rosters
Parameters
NameInRequiredType
teamquerynostring
yearquerynointeger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/talentTeam talent composite rankings
Parameters
NameInRequiredType
yearquerynointeger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/teamsTeam information
Parameters
NameInRequiredType
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/teams/fbsFBS team list
Parameters
NameInRequiredType
yearquerynointeger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/teams/matchupTeam matchup history
Parameters
NameInRequiredType
team1queryyesstring
team2queryyesstring
minYearquerynointeger
maxYearquerynointeger
Responses
StatusDescriptionSchema
200successful operationTeamMatchup
400error—
conferences1

Conference information

GET/conferencesConferences
Responses
StatusDescriptionSchema
200successful operation—
400error—
venues1

Information about venues

GET/venuesArena and venue information
Responses
StatusDescriptionSchema
200successful operation—
400error—
coaches1

Information about coaches

GET/coachesCoaching records and history
Parameters
NameInRequiredType
firstNamequerynostring
lastNamequerynostring
teamquerynostring
yearquerynointeger
minYearquerynointeger
maxYearquerynointeger
Responses
StatusDescriptionSchema
200successful operation—
players5

Player information and data

GET/player/portalTransfer portal by season
Parameters
NameInRequiredType
yearqueryyesinteger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/player/returningTeam returning production metrics
Parameters
NameInRequiredType
yearquerynointeger
teamquerynostring
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/player/searchSearch for player information
Parameters
NameInRequiredType
searchTermqueryyesstring
positionquerynostring
teamquerynostring
yearquerynointeger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/player/usagePlayer usage metrics broken down by season
Parameters
NameInRequiredType
yearqueryyesinteger
teamquerynostring
conferencequerynostring
positionquerynostring
playerIdquerynointeger
excludeGarbageTimequerynoboolean
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/stats/player/seasonPlayer stats by season
Parameters
NameInRequiredType
yearqueryyesinteger
teamquerynostring
conferencequerynostring
startWeekquerynointeger
endWeekquerynointeger
seasonTypequerynostring
categoryquerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
rankings1

Historical poll rankings

GET/rankingsHistorical polls and rankings
Parameters
NameInRequiredType
yearqueryyesinteger
weekquerynointeger
seasonTypequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
betting1

Betting lines and data

GET/linesBetting lines
Parameters
NameInRequiredType
gameIdquerynointeger
yearquerynointeger
weekquerynointeger
seasonTypequerynostring
teamquerynostring
homequerynostring
awayquerynostring
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
recruiting3

Recruiting rankings and data

GET/recruiting/groupsRecruit position group ratings
Parameters
NameInRequiredType
startYearquerynointeger
endYearquerynointeger
teamquerynostring
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/recruiting/playersPlayer recruiting ratings and rankings
Parameters
NameInRequiredType
yearquerynointeger
classificationquerynostring
positionquerynostring
statequerynostring
teamquerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/recruiting/teamsTeam recruiting rankings and ratings
Parameters
NameInRequiredType
yearquerynointeger
teamquerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
ratings4

Team rating data

GET/ratings/eloHistorical Elo ratings
Parameters
NameInRequiredType
yearquerynointeger
weekquerynointeger
teamquerynostring
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/ratings/spHistorical SP+ ratings
Parameters
NameInRequiredType
yearquerynointeger
teamquerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/ratings/sp/conferencesHistorical SP+ ratings by conference
Parameters
NameInRequiredType
yearquerynointeger
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/ratings/srsHistorical SRS ratings
Parameters
NameInRequiredType
yearquerynointeger
teamquerynostring
conferencequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
metrics7

Data relating to Predicted Points and other metrics

GET/metrics/wpWin probability chart data
Parameters
NameInRequiredType
gameIdqueryyesinteger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/metrics/wp/pregamePregame win probability data
Parameters
NameInRequiredType
yearquerynointeger
weekquerynointeger
teamquerynostring
seasonTypequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/ppa/gamesTeam Predicated Points Added (PPA/EPA) by game
Parameters
NameInRequiredType
yearqueryyesinteger
weekquerynointeger
teamquerynostring
conferencequerynostring
excludeGarbageTimequerynoboolean
seasonTypequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/ppa/players/gamesPlayer Predicated Points Added (PPA/EPA) broken down by game
Parameters
NameInRequiredType
yearquerynointeger
weekquerynointeger
teamquerynostring
positionquerynostring
playerIdquerynointeger
thresholdquerynostring
excludeGarbageTimequerynoboolean
seasonTypequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/ppa/players/seasonPlayer Predicated Points Added (PPA/EPA) broken down by season
Parameters
NameInRequiredType
yearquerynointeger
teamquerynostring
conferencequerynostring
positionquerynostring
playerIdquerynointeger
thresholdquerynostring
excludeGarbageTimequerynoboolean
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/ppa/predictedPredicted Points (i.e. Expected Points or EP)
Parameters
NameInRequiredType
downqueryyesinteger
distancequeryyesinteger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/ppa/teamsPredicted Points Added (PPA/EPA) data by team
Parameters
NameInRequiredType
yearquerynointeger
teamquerynostring
conferencequerynostring
excludeGarbageTimequerynoboolean
Responses
StatusDescriptionSchema
200successful operation—
400error—
stats4

Statistical data

GET/stats/categoriesTeam stat categories
Responses
StatusDescriptionSchema
200successful operation—
GET/stats/game/advancedAdvanced team metrics by game
Parameters
NameInRequiredType
yearquerynointeger
weekquerynointeger
teamquerynostring
opponentquerynostring
excludeGarbageTimequerynoboolean
seasonTypequerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/stats/seasonTeam statistics by season
Parameters
NameInRequiredType
yearquerynointeger
teamquerynostring
conferencequerynostring
startWeekquerynointeger
endWeekquerynointeger
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/stats/season/advancedAdvanced team metrics by season
Parameters
NameInRequiredType
yearquerynointeger
teamquerynostring
excludeGarbageTimequerynoboolean
startWeekquerynointeger
endWeekquerynointeger
Responses
StatusDescriptionSchema
200successful operation—
400error—
draft3

NFL Draft data

GET/draft/picksList of NFL Draft picks
Parameters
NameInRequiredType
yearquerynointeger
nflTeamquerynostring
collegequerynostring
conferencequerynostring
positionquerynostring
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/draft/positionsList of NFL positions
Responses
StatusDescriptionSchema
200successful operation—
400error—
GET/draft/teamsList of NFL teams
Responses
StatusDescriptionSchema
200successful operation—
400error—

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

Changelog

Spec version4.4.12
Tracked paths51

No change recorded yet.

Tracking since Sep 2026. See every tracked change ↗ ·Subscribe with RSS ↗