Skip to contents

Get the two teams (home and away teams) for a single college football game, with team identifiers, home/away designation, winner flag, and the $ref URLs to every per-team sub-resource.

Usage

espn_cfb_game_teams(
  game_id = NULL,
  team_detail = TRUE,
  format = c("long", "wide")
)

Arguments

game_id

(Integer required): ESPN game identifier.

team_detail

(Logical): when TRUE (default), fetch the ESPN team catalog once and join friendly team fields next to every team-id column (team_id, competitor_id; see Details). Set FALSE to skip the catalog fetch and the join.

format

(Character): output shape, one of "long" (default, one row per competitor) or "wide" (one row per game with home_* / away_* columns). See Details.

Value

A data frame. When format = "long" (default), one row per team (two per game):

col_nametypesdescription
game_idcharacterESPN game identifier.
competitor_idcharacterESPN competitor id (equals the team id).
competitor_namecharacterTeam nickname; team_detail = TRUE only.
competitor_abbreviationcharacterTeam abbreviation; team_detail = TRUE only.
competitor_locationcharacterTeam location / school; team_detail = TRUE only.
competitor_display_namecharacterFull team display name; team_detail = TRUE only.
competitor_short_display_namecharacterShort team display name; team_detail = TRUE only.
competitor_nicknamecharacterTeam nickname label; team_detail = TRUE only.
competitor_colorcharacterPrimary team color; team_detail = TRUE only.
competitor_alternate_colorcharacterAlternate team color; team_detail = TRUE only.
competitor_logo_hrefcharacterDefault team logo URL; team_detail = TRUE only.
competitor_logo_dark_hrefcharacterDark-variant team logo URL; team_detail = TRUE only.
team_idcharacterESPN team id (parsed from team_ref).
team_namecharacterTeam nickname; team_detail = TRUE only.
team_abbreviationcharacterTeam abbreviation; team_detail = TRUE only.
team_locationcharacterTeam location / school name; team_detail = TRUE only.
team_display_namecharacterFull team display name; team_detail = TRUE only.
team_short_display_namecharacterShort team display name; team_detail = TRUE only.
team_nicknamecharacterTeam nickname label; team_detail = TRUE only.
team_colorcharacterPrimary team color; team_detail = TRUE only.
team_alternate_colorcharacterAlternate team color; team_detail = TRUE only.
team_logo_hrefcharacterDefault team logo URL; team_detail = TRUE only.
team_logo_dark_hrefcharacterDark-variant team logo URL; team_detail = TRUE only.
orderintegerTeam order within the competition (0 = first).
home_awaycharacterhome or away.
winnerlogicalTRUE if this team won the game.
competitor_typecharacterCompetitor type (e.g. team).
curated_rankintegerCurated poll rank at game time (99 if unranked).
uidcharacterESPN universal identifier for the team.
team_refcharacter$ref URL to the team-in-season resource.
score_refcharacter$ref URL to the team score resource.
linescores_refcharacter$ref URL to the team linescores resource.
roster_refcharacter$ref URL to the team roster resource.
statistics_refcharacter$ref URL to the team statistics resource.
leaders_refcharacter$ref URL to the team leaders resource.
record_refcharacter$ref URL to the team record resource.
ranks_refcharacter$ref URL to the team week-ranks resource.
competitor_refcharacter$ref URL to the competitor resource itself.

When format = "wide" the result is a single row per game: game_id stays one key column and every other column above is emitted twice, prefixed home_ and away_ (e.g. home_team_id, home_team_name, home_winner, home_curated_rank, away_team_id, away_team_name, ...).

Details

Wraps the ESPN core-v2 endpoint events/{game_id}/competitions/{game_id}/competitors. The competition id always equals the game id. By default returns one row per team (two rows per game). Each row carries the $ref URLs ESPN publishes for that team's score, linescores, roster, statistics, leaders, and record resources – the dedicated espn_cfb_game_team_*() wrappers fetch and flatten those resources for you. curated_rank is the AP/Coaches-poll style rank ESPN attaches to the team at game time.

The format argument controls the output shape:

  • "long" (default) – one row per competitor (two rows per game), with the home_away column, as shown in the Value table.

  • "wide"one row per game: every per-competitor column is pivoted to a home_* / away_* column keyed off the home_away value (e.g. home_team_id, home_winner, home_curated_rank, away_team_id, away_winner, ...). game_id stays a single key column, so a "wide" result is directly joinable onto any one-row-per-game table.

When team_detail = TRUE (the default) the ESPN team catalog (espn_cfb_teams()) is fetched once and friendly team fields are joined in next to every team-id column – team_id and competitor_id. For team_id the siblings are team_name, team_abbreviation, team_location, team_display_name, team_short_display_name, team_nickname, team_color, team_alternate_color, team_logo_href, team_logo_dark_href; competitor_id gains the parallel competitor_name, competitor_abbreviation, .... team_detail composes with format – in "wide" mode the home_team_id / away_team_id columns get home_team_name / away_team_name / etc. too. A catalog failure degrades to NA rather than erroring the wrapper. Set team_detail = FALSE to skip the catalog fetch and the join.

See also

Other ESPN CFB Functions: espn_cfb_award(), espn_cfb_awards(), espn_cfb_clear_cache(), espn_cfb_coach(), espn_cfb_coach_record(), espn_cfb_coaches(), espn_cfb_franchise(), espn_cfb_franchises(), espn_cfb_futures(), espn_cfb_game_broadcasts(), espn_cfb_game_drive_plays(), espn_cfb_game_drives(), espn_cfb_game_leaders(), espn_cfb_game_odds(), espn_cfb_game_pbp(), espn_cfb_game_play(), espn_cfb_game_player_box(), espn_cfb_game_player_statistics(), espn_cfb_game_powerindex(), espn_cfb_game_predictor(), espn_cfb_game_probabilities(), espn_cfb_game_situation(), espn_cfb_game_status(), espn_cfb_game_team_leaders(), espn_cfb_game_team_linescores(), espn_cfb_game_team_records(), espn_cfb_game_team_roster(), espn_cfb_game_team_statistics(), espn_cfb_groups(), espn_cfb_pbp_v2(), espn_cfb_player(), espn_cfb_player_career_stats(), espn_cfb_player_eventlog(), espn_cfb_player_gamelog(), espn_cfb_player_overview(), espn_cfb_player_seasons(), espn_cfb_player_splits(), espn_cfb_player_stats_v3(), espn_cfb_players(), espn_cfb_position(), espn_cfb_positions(), espn_cfb_powerindex(), espn_cfb_qbr(), espn_cfb_rankings(), espn_cfb_recruits(), espn_cfb_season_info(), espn_cfb_season_types(), espn_cfb_season_weeks(), espn_cfb_seasons(), espn_cfb_standings(), espn_cfb_team(), espn_cfb_team_ats(), espn_cfb_team_awards(), espn_cfb_team_coaches(), espn_cfb_team_events(), espn_cfb_team_leaders(), espn_cfb_team_powerindex(), espn_cfb_team_ranks(), espn_cfb_team_record(), espn_cfb_team_roster(), espn_cfb_team_schedule(), espn_cfb_teams(), espn_cfb_unnest_plays(), espn_cfb_venue(), espn_cfb_venues(), espn_cfb_week_rankings()

Examples

# \donttest{
  try(espn_cfb_game_teams(game_id = 401628339))
#> ── Game teams data from ESPN ───────────────────────────────── cfbfastR 2.3.0 ──
#>  Data updated: 2026-06-09 07:56:36 UTC
#> # A tibble: 2 × 38
#>   game_id   competitor_id competitor_name competitor_abbreviation
#>   <chr>     <chr>         <chr>           <chr>                  
#> 1 401628339 61            Bulldogs        UGA                    
#> 2 401628339 2635          Golden Eagles   TNTC                   
#> # ℹ 34 more variables: competitor_location <chr>,
#> #   competitor_display_name <chr>, competitor_short_display_name <chr>,
#> #   competitor_nickname <chr>, competitor_color <chr>,
#> #   competitor_alternate_color <chr>, competitor_logo_href <chr>,
#> #   competitor_logo_dark_href <chr>, team_id <chr>, team_name <chr>,
#> #   team_abbreviation <chr>, team_location <chr>, team_display_name <chr>,
#> #   team_short_display_name <chr>, team_nickname <chr>, team_color <chr>, …
  try(espn_cfb_game_teams(game_id = 401628339, format = "wide"))
#> ── Game teams data from ESPN ───────────────────────────────── cfbfastR 2.3.0 ──
#>  Data updated: 2026-06-09 07:56:36 UTC
#> # A tibble: 1 × 73
#>   game_id   home_competitor_id home_competitor_name home_competitor_abbreviation
#>   <chr>     <chr>              <chr>                <chr>                       
#> 1 401628339 61                 Bulldogs             UGA                         
#> # ℹ 69 more variables: home_competitor_location <chr>,
#> #   home_competitor_display_name <chr>,
#> #   home_competitor_short_display_name <chr>, home_competitor_nickname <chr>,
#> #   home_competitor_color <chr>, home_competitor_alternate_color <chr>,
#> #   home_competitor_logo_href <chr>, home_competitor_logo_dark_href <chr>,
#> #   home_team_id <chr>, home_team_name <chr>, home_team_abbreviation <chr>,
#> #   home_team_location <chr>, home_team_display_name <chr>, …
  try(espn_cfb_game_teams(game_id = 401628339, team_detail = FALSE))
#> ── Game teams data from ESPN ───────────────────────────────── cfbfastR 2.3.0 ──
#>  Data updated: 2026-06-09 07:56:36 UTC
#> # A tibble: 2 × 18
#>   game_id   competitor_id team_id order home_away winner competitor_type
#>   <chr>     <chr>         <chr>   <int> <chr>     <lgl>  <chr>          
#> 1 401628339 61            61          0 home      TRUE   team           
#> 2 401628339 2635          2635        1 away      FALSE  team           
#> # ℹ 11 more variables: curated_rank <int>, uid <chr>, team_ref <chr>,
#> #   score_ref <chr>, linescores_ref <chr>, roster_ref <chr>,
#> #   statistics_ref <chr>, leaders_ref <chr>, record_ref <chr>, ranks_ref <chr>,
#> #   competitor_ref <chr>
# }