Get the catalog of player positions ESPN tracks for college football – the position names, abbreviations, and ids used throughout ESPN's athlete and roster resources.
Value
A data frame with one row per position:
| col_name | types | description |
| position_id | character | ESPN position id. |
| name | character | Position name (e.g. Quarterback). |
| display_name | character | Human-readable position name. |
| abbreviation | character | Position abbreviation (e.g. QB). |
| leaf | logical | TRUE for a most-specific (leaf) position. |
| parent_id | character | ESPN id of the parent position (NA at the root). |
| position_ref | character | $ref URL to the position resource. |
Details
Wraps the ESPN core-v2 endpoint
sports.core.api.espn.com/v2/sports/football/leagues/college-football/positions.
The index returns one $ref per position (~74); this wrapper
dereferences each and returns one row per position. ESPN's position
table is a tree – specific positions (e.g. left tackle) roll up under
broader ones (e.g. offensive line). The leaf flag marks the most
specific positions; parent_id (when present) reconstructs the
grouping.
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_seasons(),
espn_cfb_player_splits(),
espn_cfb_player_stats_v3(),
espn_cfb_players(),
espn_cfb_position(),
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_positions())
#> ── Positions index from ESPN ───────────────────────────────── cfbfastR 2.3.0 ──
#> ℹ Data updated: 2026-06-09 07:56:55 UTC
#> # A tibble: 74 × 7
#> position_id name display_name abbreviation leaf parent_id position_ref
#> <chr> <chr> <chr> <chr> <lgl> <chr> <chr>
#> 1 0 "Unknown" Unknown - FALSE NA http://spor…
#> 2 1 "Wide Rec… Wide Receiv… WR TRUE 70 http://spor…
#> 3 2 "Left Tac… Left Tackle LT TRUE 46 http://spor…
#> 4 3 "Left Gua… Left Guard LG TRUE 47 http://spor…
#> 5 4 "Center" Center C TRUE 70 http://spor…
#> 6 5 "Right Gu… Right Guard RG TRUE 46 http://spor…
#> 7 6 "Right Ta… Right Tackle RT TRUE 47 http://spor…
#> 8 7 "Tight En… Tight End TE TRUE 70 http://spor…
#> 9 8 "Quarterb… Quarterback QB TRUE 70 http://spor…
#> 10 9 "Running … Running Back RB TRUE 70 http://spor…
#> # ℹ 64 more rows
# }
