The API
Free, read-only JSON of the data on this site that anyone may reuse: what we compute from the games (Elo ratings, notes, series and streaks, badges), Wikipedia’s awards and Hall of Fame, newspaper stories and weather in the public domain, and federal data on the schools. Every answer says where its data comes from and under what license.
Start here
OpenAPI 3.1Ask with a plain GET; no key, no sign-up. Any site may call it from a browser (CORS is open).
curl https://collegefootballdigest.com/api/v1/teams/michiganEvery answer comes in the same envelope. attribution lists each source, its license and the fields it covers; links.html is our page for the same thing.
{
"data": { ... },
"meta": { "version": "v1", "stats_version": 412, "as_of": "2026-10-14T10:52:03Z", "ttl": 86400,
"lists": { "series": { "total": 31, "returned": 10, "truncated": true } } },
"attribution": [
{ "source": "CollegeFootballDigest, computed from game results by CollegeFootballData.com",
"license": "CC BY 4.0", "license_url": "https://creativecommons.org/licenses/by/4.0/",
"fields": ["record", "elo", "badges", "series"] },
{ "source": "Wikipedia: Michigan Wolverines football", "license": "CC BY-SA 4.0",
"license_url": "https://creativecommons.org/licenses/by-sa/4.0/",
"url": "https://en.wikipedia.org/wiki/Michigan_Wolverines_football",
"fields": ["wikipedia.titles.conference"] }
],
"links": { "html": "https://collegefootballdigest.com/teams/michigan",
"series": "https://collegefootballdigest.com/api/v1/teams/michigan/rivalries" }
}Errors carry their HTTP status and a body like
{ "error": { "code": "not_found", "message": "No team at /teams/michiganx" } }A list the answer caps or pages says so in meta: total (null where it isn’t counted), returned and truncated. Paged lists take ?limit= and give the next page as links.next; pass it as it is (its cursor is opaque). Lists cut short inside an answer, like a team’s ten biggest series, are under meta.lists.
{
"data": { "measure": "...", "series": [ ... ] },
"meta": { ..., "total": 4210, "returned": 100, "truncated": true },
"links": { "next": "https://collegefootballdigest.com/api/v1/rivalries?limit=100&cursor=100" }
}Every answer has an ETag: send it back as If-None-Match and an unchanged answer comes back as 304 with no body. Browsers may keep an answer five minutes, shared caches until the next update. An answer that lives at another address (a team’s old address, the other order of a rivalry, ?week= on a season) answers 301 to it. Anything but GET, HEAD and OPTIONS is 405 with Allow.
Endpoints
The list as JSON| Address | What it holds | Kept |
|---|---|---|
/api/v1/api/v1 | This list of endpoints. | until the nightly update |
/api/v1/openapi.json/api/v1/openapi.json | The OpenAPI 3.1 description of every endpoint. | until the nightly update |
/api/v1/datasets/api/v1/datasets | The open datasets behind the site, with source, license, years and rows. | until the nightly update |
/api/v1/teams/api/v1/teams | Every active FBS program: its id, address, school, conference and links. | until the nightly update |
/api/v1/teams/{slug}/api/v1/teams/michigan | A program: identity, its record on file and our Elo history, badges, series totals with each last meeting’s winner, titles, awards and Hall of Famers (Wikipedia), the school (IPEDS, College Scorecard) and football finances (EADA). | until the nightly update |
/api/v1/teams/{slug}/elo/api/v1/teams/michigan/elo | A program’s Elo season by season: start, end, change, its rank among every team rated that season, and the record on file. | until the nightly update |
/api/v1/teams/{slug}/badges/api/v1/teams/ohio-state/badges | A program’s badges, computed at every publish, each with its rule. | until the nightly update |
/api/v1/teams/{slug}/rivalries/api/v1/teams/michigan/rivalries | Every series a program has played, most meetings first, with totals and each last meeting’s date and winner (?limit=, ?cursor=). | until the nightly update |
/api/v1/badges/{team}/api/v1/badges/ohio-state | A program’s badges (the old address of /api/v1/teams/{slug}/badges). Deprecated: use /api/v1/teams/{slug}/badges. It keeps working, with Deprecation and Link headers. | until the nightly update |
/api/v1/elo/{season}/api/v1/elo/2024 | Every team’s Elo rating at the end of a season (this season: after its latest game), ranked overall and among FBS teams (?limit=, ?cursor=). | until the nightly update |
/api/v1/elo/{season}/{week}/api/v1/elo/2024/10 | Every team’s Elo going into its game in a regular-season week, ranked overall and among FBS teams. | until the nightly update |
/api/v1/rivalries/api/v1/rivalries | Every pair of teams that has met, most meetings first: totals as played and official (?limit=, ?cursor=). | until the nightly update |
/api/v1/rivalries/{a}/{b}/api/v1/rivalries/michigan/ohio-state | Two programs’ series: totals official and as played, the current and longest streaks, the last meeting’s date and winner, and the trophies they play for with who holds each. | until the nightly update |
/api/v1/notes/api/v1/notes?team=indiana | Research-desk notes computed from the season’s games (?team= or ?game=, ?season=, ?limit=, ?cursor=). | 5 minutes |
/api/v1/on-this-date/api/v1/on-this-date?d=11–25 | Past games played on a calendar date (?d=MM-DD, default today, Eastern): links, notes and newspaper stories. | 5 minutes |
/api/v1/games/{id}/stories/api/v1/games/63063/stories | A game’s stories in the newspapers of the day (1869-1963, public domain), with the scans. | until the nightly update |
/api/v1/games/{id}/weather/api/v1/games/3207/weather | A game’s weather: the NWS kickoff forecast, the NOAA report nearest kickoff, or the day’s NOAA readings. | 5 minutes |
/api/v1/stories/{gameId}/api/v1/stories/63063 | A game’s newspaper stories (the old address of /api/v1/games/{id}/stories). Deprecated: use /api/v1/games/{id}/stories. It keeps working, with Deprecation and Link headers. | until the nightly update |
/api/v1/weather/{gameId}/api/v1/weather/3207 | A game’s weather (the old address of /api/v1/games/{id}/weather). Deprecated: use /api/v1/games/{id}/weather. It keeps working, with Deprecation and Link headers. | 5 minutes |
/api/v1/awards/api/v1/awards | The national awards: each one’s key, name and what it honors. | until the nightly update |
/api/v1/awards/{key}/api/v1/awards/heisman | A national award’s winners (Wikipedia, CC BY-SA). | until the nightly update |
/api/v1/hall-of-fame/api/v1/hall-of-fame | College Football Hall of Fame inductees (Wikipedia, CC BY-SA; ?limit=, ?cursor=). | until the nightly update |
/api/v1/heat/api/v1/heat | What college football is paying attention to now: every FBS team’s rank on our heat board and why. | 5 minutes |
/api/v1/schools/{unitid}/api/v1/schools/170976 | The university behind a program, by its federal IPEDS id. | until the nightly update |
/api/v1/takes/api/v1/takes | Cooper’s and CFD Staff’s takes as a JSON Feed 1.1 (title, excerpt, link). | 5 minutes |
/teams/{slug}/feed.json/teams/indiana/feed.json | A team’s JSON Feed: takes about it and our notes on its season. | 5 minutes |
Ids and addresses are the site’s own: a team is its address (/teams/ohio-state is ohio-state), a game its number. Every team reference also carries id, the team’s number in the game records (it stays put when an address changes), and links: html, our page, and api, its address here (null for games and players, whose pages have the rest). Scores aren’t in the API, only who won; links.html goes to the game’s page.
What we serve
We serve what we compute; we don’t re-serve CollegeFootballData.com’s own feeds.
The game results behind the site come from CollegeFootballData.com. From them we compute our own numbers, and those are in the API: Elo ratings and ranks (each season, going into each week, and a program’s whole history), the research desk’s notes, series totals as played and official, winning streaks, who won a series’ last meeting, who holds each rivalry trophy, badges, and each program’s record on file. They’re ours, under CC BY 4.0, credited as “CollegeFootballDigest, computed from game results by CollegeFootballData.com”.
What CollegeFootballData.com publishes as it is stays out: no lists of games, no scoreboards or schedules, no scores or box scores, no play-by-play, no player stat lines, rosters, polls, recruiting or betting lines, and none of its ratings (SP+, SRS, FPI, PPA). A game’s score is on its page; links.html and each game’s url go there.
What’s open, and why
| Data | Source | License | Endpoints |
|---|---|---|---|
| Elo ratings and ranks, notes, series totals and streaks, last meetings’ winners, trophy holders, badges, records on file | Computed here from CollegeFootballData.com’s game results | CC BY 4.0 | teams, teams/{slug}/elo, teams/{slug}/badges, teams/{slug}/rivalries, elo, rivalries, notes, games/{id}/stories, on-this-date, team feeds |
| Heat-board ranks, and its game and upset parts | Computed here (the game parts from CollegeFootballData.com’s game results) | CC BY 4.0 | heat |
| Awards, Hall of Fame, conference and claimed national titles | Wikipedia | CC BY-SA 4.0 | the wikipedia blocks of teams, awards, hall-of-fame |
| Founding years | Wikidata | CC0 | schools, teams (school.wikidata) |
| Readers of programs’ Wikipedia articles (heat board) | Wikimedia pageviews | CC0 | heat |
| News-story counts (heat board) | The GDELT Project | open, with citation | heat |
| Newspaper game stories, 1869-1963 | Library of Congress, Chronicling America (via American Stories, CC BY 4.0) | Public domain | stories, on-this-date |
| Kickoff forecasts | National Weather Service | Public domain | weather |
| Weather at kickoff and on game day | NOAA NCEI (ISD, GHCNh, GHCN-Daily) | Public domain | weather |
| The universities | NCES IPEDS | Public domain | schools, teams |
| Graduates’ earnings, completion, debt | College Scorecard | CC BY 4.0 | schools, teams |
| Football revenue and expenses | US Department of Education (EADA) | Public domain | schools, teams |
| Cooper’s and CFD Staff’s takes | CollegeFootballDigest | title, excerpt and link | takes, team feeds |
Not in the API
- CollegeFootballData.com’s own feeds: game lists, scoreboards and schedules, scores and box scores, play-by-play and drives, player and team stats, rosters, polls, recruiting, the transfer portal, NFL Draft picks from 1967, betting lines, and its ratings (SP+, SRS, FPI, PPA). Its terms don’t allow its data as a standalone dataset, and we don’t offer feeds that are the same as its own. Game pages on the site show them; the API links to those pages.
- Massey Ratings rankings. Shown on the site by Kenneth Massey’s permission, which covers the site only.
- Outlets’ headlines and photos. They belong to the outlets; the site links to their stories.
- Bluesky posts, YouTube highlights and view counts, podcast episodes. Their platforms’ terms cover showing them on the site, not handing them on.
- Stadium outlines (OpenStreetMap). The Open Database License would carry over to anything built from them.
- ProPublica’s nonprofit totals (2011-17). Its terms bar redistributing them on their own.
- Team logos. They’re the schools’ trademarks.
- Anything about minors. Recruits and high-school players stay off the API.
The full list of datasets with their sources and row counts is at /api/v1/datasets, and every dataset can be browsed at /data.
Terms
- Credit what you use. Print each source the
attributionblock lists for the fields you show, with its license, and link to CollegeFootballDigest (links.htmlwhere there is one). Each entry’screditis a line you can use as is. - Wikipedia’s fields keep their license. Everything in a
wikipediablock is CC BY-SA 4.0: credit the article (the entry’surl) and share what you build from it under the same license. We add no conditions of our own to it. - Our own data is CC BY 4.0. Elo ratings and ranks, notes, badges, series totals and streaks, winners, trophy holders, records on file and heat-board ranks: use them for anything, with credit.
- Public-domain data stays free. Newspapers, NOAA and NWS weather and the federal school data carry no restrictions; a credit is courteous and the College Scorecard asks for one (CC BY 4.0).
- Takes are excerpts. The feeds carry each take’s title, excerpt and link; the take itself stays on this site.
- Be gentle. 60 requests a minute per network; past that the answer is 429 with
Retry-After. Cached answers come back fast and don’t count. There’s no promise the API stays up or unchanged; v1 changes only by adding.
Feeds and embeds
- /api/v1/takes: every take as a JSON Feed 1.1 (title, excerpt, link), kept 5 minutes. RSS too.
/teams/<team>/feed.json: a team’s takes and our notes on its season, e.g. /teams/indiana/feed.json.
Two embeds, open data only, for any site to frame:
<iframe src="https://collegefootballdigest.com/embed/team/michigan" width="360" height="420" style="border:0" title="Michigan on CollegeFootballDigest" loading="lazy"></iframe><iframe src="https://collegefootballdigest.com/embed/on-this-date" width="360" height="520" style="border:0" title="On this date in college football" loading="lazy"></iframe>Changes
| October 17, 2026 | v1.1, by adding only. Indexes: every FBS team at /api/v1/teams, every series at /api/v1/rivalries, the awards at /api/v1/awards, a team’s whole series list at /api/v1/teams/{slug}/rivalries. Team references carry id, api and links; an old team address answers 301 to today’s, as do a rivalry named the other way round and /api/v1/elo/{season}?week=. Paging (?limit=, links.next) on notes, the Hall of Fame, Elo, rivalries; meta.total, returned and truncated wherever a list is capped. ETags and 304s; browsers keep answers five minutes. New addresses /api/v1/teams/{slug}/badges, /api/v1/games/{id}/stories and /api/v1/games/{id}/weather; the old ones keep working, marked deprecated. Elo seasons add rating (and rank_of) beside end; a team’s last meetings say whether the win was vacated. ?team= with ?game= is now a 400, other methods a 405. The OpenAPI description matches every answer (version 1.1.0). |
|---|---|
| October 15, 2026 | What we compute from the games: Elo by week at /api/v1/elo/{season}/{week} with FBS ranks, a program’s Elo history at /api/v1/teams/{slug}/elo, series at /api/v1/rivalries/{a}/{b} (streaks, last meeting, trophies), records on file and last meetings on teams, a game’s winner on stories and weather. |
| October 14, 2026 | v1: teams, badges, Elo by season and week, notes, on this date, newspaper stories, weather, awards, the Hall of Fame, the heat board, schools, datasets; JSON Feeds for takes and teams; the team and on-this-date embeds. |
Questions, or a source you think we’ve got wrong: admin@collegefootballdigest.com.