Skip to contents

Get the list of seasons a single college football player has a statistical record for on ESPN – one row per season, with the $ref URLs to that season's statistics.

Usage

espn_cfb_player_seasons(athlete_id = NULL, athlete_detail = TRUE)

Arguments

athlete_id

(Character/Integer required): ESPN athlete id.

athlete_detail

(Logical): when TRUE (default), fetch the requested athlete's ESPN record once and append the athlete_* name columns (see Details). Set FALSE to skip the fetch, reproducing the prior output exactly.

Value

A data frame with one row per season-stat-type entry:

col_nametypesdescription
athlete_idcharacterESPN athlete id.
seasonintegerSeason (4-digit year) the player has a record in.
stat_typecharacterStatistics type for the entry (e.g. total).
season_refcharacter$ref URL to the season resource.
statistics_refcharacter$ref URL to the season statistics resource.
athlete_display_namecharacterPlayer display name; athlete_detail = TRUE only.
athlete_first_namecharacterPlayer first name; athlete_detail = TRUE only.
athlete_last_namecharacterPlayer last name; athlete_detail = TRUE only.
athlete_jerseycharacterPlayer jersey number; athlete_detail = TRUE only.
athlete_positioncharacterPlayer position name; athlete_detail = TRUE only.
athlete_position_abbreviationcharacterPlayer position abbreviation; athlete_detail = TRUE only.

Details

Wraps the ESPN core-v2 endpoint sports.core.api.espn.com/v2/sports/football/leagues/college-football/athletes/{athlete_id}/statisticslog. ESPN exposes no dedicated /athletes/{id}/seasons resource for college football (that path 404s); the statistics log is the closest thing – it returns one entry per season the player accumulated statistics in, which is exactly the player's season list. Each entry carries the season $ref and one or more statistics references (split by stat type, e.g. total). The statistics themselves are not auto-dereferenced; use espn_cfb_player_career_stats() for a resolved, long-format stat table for a given season.

When athlete_detail = TRUE (the default) the requested athlete's ESPN record is fetched once (from the league-wide athlete resource, since this wrapper takes no year) and the human-readable name columns athlete_display_name, athlete_first_name, athlete_last_name, athlete_jersey, athlete_position, and athlete_position_abbreviation are appended to every row. This is a single cheap fetch – the wrapper already takes one athlete_id. A fetch failure degrades the name columns to NA rather than erroring the wrapper. Set athlete_detail = FALSE to skip the fetch and reproduce the prior output exactly.

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_game_teams(), 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_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_player_seasons(athlete_id = 102597))
#> ── Player seasons from ESPN ────────────────────────────────── cfbfastR 2.3.0 ──
#>  Data updated: 2026-06-09 07:56:49 UTC
#> # A tibble: 10 × 11
#>    athlete_id season stat_type season_ref    statistics_ref athlete_display_name
#>    <chr>       <int> <chr>     <chr>         <chr>          <chr>               
#>  1 102597       2024 total     http://sport… http://sports… Will Rogers         
#>  2 102597       2024 team      http://sport… http://sports… Will Rogers         
#>  3 102597       2023 total     http://sport… http://sports… Will Rogers         
#>  4 102597       2023 team      http://sport… http://sports… Will Rogers         
#>  5 102597       2022 total     http://sport… http://sports… Will Rogers         
#>  6 102597       2022 team      http://sport… http://sports… Will Rogers         
#>  7 102597       2021 total     http://sport… http://sports… Will Rogers         
#>  8 102597       2021 team      http://sport… http://sports… Will Rogers         
#>  9 102597       2020 total     http://sport… http://sports… Will Rogers         
#> 10 102597       2020 team      http://sport… http://sports… Will Rogers         
#> # ℹ 5 more variables: athlete_first_name <chr>, athlete_last_name <chr>,
#> #   athlete_jersey <chr>, athlete_position <chr>,
#> #   athlete_position_abbreviation <chr>
  try(espn_cfb_player_seasons(athlete_id = 102597, athlete_detail = FALSE))
#> ── Player seasons from ESPN ────────────────────────────────── cfbfastR 2.3.0 ──
#>  Data updated: 2026-06-09 07:56:49 UTC
#> # A tibble: 10 × 5
#>    athlete_id season stat_type season_ref                         statistics_ref
#>    <chr>       <int> <chr>     <chr>                              <chr>         
#>  1 102597       2024 total     http://sports.core.api.espn.com/v… http://sports…
#>  2 102597       2024 team      http://sports.core.api.espn.com/v… http://sports…
#>  3 102597       2023 total     http://sports.core.api.espn.com/v… http://sports…
#>  4 102597       2023 team      http://sports.core.api.espn.com/v… http://sports…
#>  5 102597       2022 total     http://sports.core.api.espn.com/v… http://sports…
#>  6 102597       2022 team      http://sports.core.api.espn.com/v… http://sports…
#>  7 102597       2021 total     http://sports.core.api.espn.com/v… http://sports…
#>  8 102597       2021 team      http://sports.core.api.espn.com/v… http://sports…
#>  9 102597       2020 total     http://sports.core.api.espn.com/v… http://sports…
#> 10 102597       2020 team      http://sports.core.api.espn.com/v… http://sports…
# }