Skip to main content

CFB — ESPN site API (v2) — Team

espn_cfb_teams_site​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams?limit=1000

API ParameterPythonPatternRequiredNullableDescription
limitlimitYMaximum number of items to return.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
team_abbreviationcharacterShort team abbreviation (e.g. "BOS").
team_alternate_colorcharacterSecondary team color as a hex string (no leading '#').
team_colorcharacterPrimary team color as a hex string (no leading '#').
team_display_namecharacterFull team display name (location + nickname).
team_idintegerESPN team id (stable join key across ESPN endpoints).
team_is_activelogicalWhether the team is currently active.
team_is_all_starlogicalWhether the entry is an all-star squad rather than a franchise.
team_locationcharacterTeam location / city (e.g. "Boston").
team_logoscharacterPipe-delimited logo image URLs.
team_namecharacterTeam nickname/mascot (e.g. "Celtics").
team_nicknamecharacterTeam nickname as ESPN labels it (often equals team_name).
team_short_display_namecharacterAbbreviated display name for compact UIs.
team_slugcharacterURL slug used in ESPN web paths.
team_uidcharacterESPN global UID (encodes sport/league/team).

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_teams_site()

espn_cfb_team​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
team_abbreviationcharacterTeam abbreviation.
team_alternate_colorcharacterAlternate team color.
team_colorcharacterPrimary team color.
team_display_namecharacterFull team display name.
team_franchise_$refcharacter
team_franchise_abbreviationcharacter
team_franchise_colorcharacter
team_franchise_display_namecharacter
team_franchise_idinteger
team_franchise_is_activelogical
team_franchise_locationcharacter
team_franchise_namecharacter
team_franchise_short_display_namecharacter
team_franchise_slugcharacter
team_franchise_team_$refcharacter
team_franchise_uidcharacter
team_franchise_venue_$refcharacter
team_franchise_venue_address_citycharacter
team_franchise_venue_address_statecharacter
team_franchise_venue_full_namecharacter
team_franchise_venue_grasslogical
team_franchise_venue_guidcharacter
team_franchise_venue_idinteger
team_franchise_venue_imagescharacter
team_franchise_venue_indoorlogical
team_franchise_venue_short_namecharacter
team_groups_idinteger
team_groups_is_conferencelogical
team_groups_parent_idinteger
team_idintegerESPN team id.
team_is_activelogical
team_linkscharacter
team_locationcharacterTeam location / school name.
team_logoscharacter
team_namecharacterTeam nickname.
team_next_eventcharacter
team_record_itemscharacter
team_short_display_namecharacterShort team display name.
team_slugcharacterTeam slug for the stat row.
team_standing_summarycharacter
team_uidcharacter

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team(team_id='4')

espn_cfb_team_roster​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}/roster

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4/roster?limit=500

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.
limitlimitYMaximum number of items to return.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
position_groupcharacterPosition group of the recruits (e.g. Offensive Line, Defensive Back).
idintegerId.
uidcharacterUid.
guidcharacterGuid.
first_namecharacterFirst name.
last_namecharacterLast name.
full_namecharacterFull name.
display_namecharacterDisplay name.
short_namecharacterShort name.
weightdoubleWeight.
display_weightcharacterDisplay weight.
heightdoubleHeight.
display_heightcharacterDisplay height.
linkscharacterLinks.
slugcharacterSlug.
jerseycharacterJersey.
injuriescharacterInjuries.
alternate_ids_sdrcharacterAlternate ids sdr.
birth_place_citycharacterBirth place city.
birth_place_statecharacterBirth place state.
birth_place_countrycharacterBirth place country.
birth_place_display_textcharacter
birth_country_alternate_idintegerAlternate identifier for the athlete's country of birth used in ESPN's country-flag reference system.
birth_country_abbreviationcharacter
college_idintegerCollege id.
college_guidcharacterCollege guid.
college_mascotcharacterCollege mascot.
college_namecharacterCollege name.
college_short_namecharacterCollege short name.
college_abbrevcharacterCollege abbrev.
college_logoscharacterCollege logos.
headshot_hrefcharacterHeadshot href.
headshot_altcharacterHeadshot alt.
flag_hrefcharacterURL of the SVG or PNG flag image representing the athlete's country of birth.
flag_altcharacterAlt-text string for the athlete's country-of-birth flag image, typically the full country name.
flag_relcharacterRelationship descriptor for the athlete's country-of-birth flag link (e.g., "flag").
position_idintegerPosition id.
position_namecharacterPosition name.
position_display_namecharacterPosition display name.
position_abbreviationcharacterPosition abbreviation.
position_leaflogicalPosition leaf.
position_parent_idintegerESPN id of the parent position.
position_parent_namecharacter
position_parent_display_namecharacter
position_parent_abbreviationcharacter
position_parent_leaflogical
experience_yearsintegerExperience years.
experience_display_valuecharacter
experience_abbreviationcharacter
status_idintegerStatus id.
status_namecharacterStatus name.
status_typecharacterStatus type.
status_abbreviationcharacterStatus abbreviation.
hand_typecharacterHand type.
hand_abbreviationcharacterHand abbreviation.
hand_display_valuecharacterHand display value.

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team_roster(team_id='4')

espn_cfb_team_schedule​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}/schedule

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4/schedule

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.
seasonseasonYSeason year (e.g. 2024).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerESPN numeric event identifier.
datecharacterEvent timestamp (ISO 8601, UTC).
namecharacterFull event name (e.g. 'Team A at Team B').
short_namecharacterAbbreviated event name (e.g. 'TA @ TB').
time_validlogicalWhether the event time is confirmed.
competitionscharacterCompetition detail (list of dicts, stringified): competitors, venue, status.
linkscharacterRelated links (list, stringified).
season_yearintegerFour-digit season year.
season_display_namecharacterHuman-readable season label (e.g. '2024-25').
season_type_idintegerESPN numeric identifier for the season type.
season_type_typeintegerSeason type numeric code.
season_type_namecharacterSeason type name (e.g. Regular Season).
season_type_abbreviationcharacterSeason type abbreviation.

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team_schedule(team_id='4')

espn_cfb_team_record​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}/record

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4/record

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.

Returns​

return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.

No returns table is published for this endpoint: no capture: ESPN answers an empty object in nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb with the documented example arguments (2026-10-07).

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team_record(team_id='4')

espn_cfb_team_depthcharts​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}/depthcharts

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4/depthcharts

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.

Returns​

return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.

No returns table is published for this endpoint: parser: parse_items returns no columns on the live payload (nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb, 2026-10-07); its rows sit under keys it does not read (top level: depthchart, season, status, team, timestamp).

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team_depthcharts(team_id='4')

espn_cfb_team_injuries​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}/injuries

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4/injuries

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerESPN numeric identifier for the athlete.
display_namecharacterAthlete's full display name as shown on ESPN.
injuriescharacterInjury entries for the athlete (list of dicts, stringified): status, type, details, dates.

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team_injuries(team_id='4')

espn_cfb_team_transactions​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}/transactions

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4/transactions

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.

Returns​

return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.

No returns table is published for this endpoint: no capture: ESPN answers an empty object in nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb with the documented example arguments (2026-10-07).

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team_transactions(team_id='4')

espn_cfb_team_history​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}/history

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4/history

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.

Returns​

return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.

No returns table is published for this endpoint: no capture: ESPN answers an empty object in nba, nfl, mlb, nhl, wnba, mbb, wbb; 400 in cfb with the documented example arguments (2026-10-07).

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team_history(team_id='4')

espn_cfb_team_news​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}/news

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4/news?limit=50

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.
limitlimitYMaximum number of items to return.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerESPN numeric identifier for the article.
now_idcharacterESPN 'now' feed id.
content_keycharacterInternal content key.
data_source_identifiercharacterSource-system identifier.
typecharacterArticle type (Story, Media, HeadlineNews, etc.).
headlinecharacterArticle headline.
descriptioncharacterArticle summary/description.
last_modifiedcharacterLast-modified timestamp (ISO 8601).
publishedcharacterPublish timestamp (ISO 8601).
imagescharacterArticle images (list, stringified).
categoriescharacterArticle categories (list, stringified).
premiumlogicalWhether the article is premium/paywalled.
bylinecharacterAuthor byline string as published by ESPN.
links_web_hrefcharacterWeb article URL.
links_mobile_hrefcharacterMobile article URL.
links_api_self_hrefcharacterESPN API canonical self-link for the article resource.
links_app_sportscenter_hrefcharacterSportsCenter app deep link.
links_web_self_hrefcharacterPrimary canonical web URL for this news article on ESPN.com.
links_web_self_dsi_hrefcharacterAlternate canonical web URL for this news article using ESPN's DSI routing.
links_api_artwork_hrefcharacterESPN API URL for the artwork image associated with this news article.
links_sportscenter_hrefcharacterDeep-link URL to this news article within the ESPN SportsCenter app or web experience.

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team_news(team_id='4')

espn_cfb_team_leaders​

ESPN endpoint.

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/{team_id}/leaders

Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/4/leaders

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.

Returns​

return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.

No returns table is published for this endpoint: no capture: ESPN answers an empty object in nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb with the documented example arguments (2026-10-07).

return_parsed=False — the raw JSON Dict payload, unparsed.

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_cfb_team_leaders(team_id='4')