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

Ask 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/michigan

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

AddressWhat it holdsKept
/api/v1/api/v1This list of endpoints.until the nightly update
/api/v1/openapi.json/api/v1/openapi.jsonThe OpenAPI 3.1 description of every endpoint.until the nightly update
/api/v1/datasets/api/v1/datasetsThe open datasets behind the site, with source, license, years and rows.until the nightly update
/api/v1/teams/api/v1/teamsEvery active FBS program: its id, address, school, conference and links.until the nightly update
/api/v1/teams/{slug}/api/v1/teams/michiganA 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/eloA 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/badgesA program’s badges, computed at every publish, each with its rule.until the nightly update
/api/v1/teams/{slug}/rivalries/api/v1/teams/michigan/rivalriesEvery 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-stateA 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/2024Every 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/10Every 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/rivalriesEvery 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-stateTwo 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=indianaResearch-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–⁠25Past 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/storiesA 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/weatherA 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/63063A 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/3207A 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/awardsThe national awards: each one’s key, name and what it honors.until the nightly update
/api/v1/awards/{key}/api/v1/awards/heismanA national award’s winners (Wikipedia, CC BY-SA).until the nightly update
/api/v1/hall-of-fame/api/v1/hall-of-fameCollege Football Hall of Fame inductees (Wikipedia, CC BY-SA; ?limit=, ?cursor=).until the nightly update
/api/v1/heat/api/v1/heatWhat 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/170976The university behind a program, by its federal IPEDS id.until the nightly update
/api/v1/takes/api/v1/takesCooper’s and CFD Staff’s takes as a JSON Feed 1.1 (title, excerpt, link).5 minutes
/teams/{slug}/feed.json/teams/indiana/feed.jsonA 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

DataSourceLicenseEndpoints
Elo ratings and ranks, notes, series totals and streaks, last meetings’ winners, trophy holders, badges, records on fileComputed here from CollegeFootballData.com’s game resultsCC BY 4.0teams, 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 partsComputed here (the game parts from CollegeFootballData.com’s game results)CC BY 4.0heat
Awards, Hall of Fame, conference and claimed national titlesWikipediaCC BY-SA 4.0the wikipedia blocks of teams, awards, hall-of-fame
Founding yearsWikidataCC0schools, teams (school.wikidata)
Readers of programs’ Wikipedia articles (heat board)Wikimedia pageviewsCC0heat
News-story counts (heat board)The GDELT Projectopen, with citationheat
Newspaper game stories, 1869-1963Library of Congress, Chronicling America (via American Stories, CC BY 4.0)Public domainstories, on-this-date
Kickoff forecastsNational Weather ServicePublic domainweather
Weather at kickoff and on game dayNOAA NCEI (ISD, GHCNh, GHCN-Daily)Public domainweather
The universitiesNCES IPEDSPublic domainschools, teams
Graduates’ earnings, completion, debtCollege ScorecardCC BY 4.0schools, teams
Football revenue and expensesUS Department of Education (EADA)Public domainschools, teams
Cooper’s and CFD Staff’s takesCollegeFootballDigesttitle, excerpt and linktakes, 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

  1. Credit what you use. Print each source the attribution block lists for the fields you show, with its license, and link to CollegeFootballDigest (links.html where there is one). Each entry’s credit is a line you can use as is.
  2. Wikipedia’s fields keep their license. Everything in a wikipedia block is CC BY-SA 4.0: credit the article (the entry’s url) and share what you build from it under the same license. We add no conditions of our own to it.
  3. 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.
  4. 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).
  5. Takes are excerpts. The feeds carry each take’s title, excerpt and link; the take itself stays on this site.
  6. 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

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, 2026v1.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, 2026What 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, 2026v1: 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.