Skip to contents

Get the ESPN recruiting-class catalog for a college football signing class – one row per recruit, with athlete identity, position, physical measurements, ESPN grade, the overall / position / state / region rankings, the committed school, and the recruit's hometown and high school.

Usage

espn_cfb_recruits(year = NULL, max_results = 100)

Arguments

year

(Integer required): Recruiting class / signing year, 4 digit format (YYYY).

max_results

(Integer default 100): Maximum number of recruits to dereference and return. The index is alphabetical, so this returns the alphabetically-first max_results recruits; raise it to pull more of the class.

Value

A data frame with one row per recruit:

col_nametypesdescription
recruit_idcharacterESPN recruit id.
recruiting_classintegerRecruiting class / signing year.
athlete_idcharacterESPN athlete id.
alternate_athlete_idcharacterESPN alternate athlete id (recruiting feed id).
first_namecharacterRecruit first name.
last_namecharacterRecruit last name.
full_namecharacterRecruit full name.
display_namecharacterRecruit display name.
short_namecharacterRecruit short name.
position_idcharacterESPN position id.
position_abbreviationcharacterPosition abbreviation (e.g. OT, WR).
weightnumericListed weight (lbs).
heightnumericListed height (inches).
gradenumericESPN recruit grade (0-100; 0 = not rated).
grade_display_valuecharacterDisplay-formatted grade (NR when not rated).
overall_rankintegerOverall recruit ranking (top recruits only; may be NA).
position_rankintegerPosition ranking.
state_rankintegerState ranking.
region_rankintegerRegion ranking.
status_idcharacterESPN commitment status id.
statuscharacterCommitment status description (e.g. Signed).
committed_team_idcharacterESPN team id of the committed school (may be NA).
hometown_citycharacterRecruit hometown city.
hometown_statecharacterRecruit hometown state.
hometown_state_abbreviationcharacterRecruit hometown state abbreviation.
high_school_idcharacterESPN high-school id.
high_school_namecharacterRecruit high-school name.
recruit_refcharacter$ref URL to the recruit resource.
athlete_refcharacterPlayer-card URL for the recruit.
committed_team_refcharacter$ref URL to the committed team-in-season resource.

Details

Wraps the ESPN core-v2 endpoint sports.core.api.espn.com/v2/sports/football/leagues/college-football/seasons/{year}/recruits. The season index is $ref-paginated and large (roughly 3,700-4,900 recruits per class), so dereferencing every recruit would be thousands of HTTP calls. ESPN exposes no pre-expanded recruiting endpoint – the site.web.api.espn.com recruiting paths all 404 – so this wrapper caps the walk at max_results recruits (default 100). Raise max_results (e.g. to several hundred or higher) to pull more of the class, at the cost of one extra HTTP call per recruit.

The index is returned by ESPN in athlete-name (alphabetical) order, not ranking order, and the sort query parameter is ignored upstream. The default max_results = 100 therefore returns the alphabetically-first 100 recruits, not the top-100 ranked recruits. To rank the class, pull a larger slice and sort the result on overall_rank (lower is better); note ESPN only publishes an overall_rank for the highly-rated portion of each class, so most recruits carry NA there. position_rank, state_rank, and region_rank are populated more widely. grade is ESPN's 0-100 recruit grade (0 / gradeDisplayValue = "NR" means not rated).

committed_team_id / committed_team_ref are resolved from the recruit's schools array by matching a school whose commitment status equals the recruit's top-level status (e.g. Signed); recruits still uncommitted at fetch time leave both columns NA.

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_positions(), espn_cfb_powerindex(), espn_cfb_qbr(), espn_cfb_rankings(), 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_recruits(year = 2024, max_results = 25))
#> ── Recruiting class data from ESPN ─────────────────────────── cfbfastR 2.3.0 ──
#>  Data updated: 2026-06-09 07:57:04 UTC
#> # A tibble: 25 × 31
#>    season recruit_id recruiting_class athlete_id alternate_athlete_id first_name
#>     <dbl> <chr>                 <int> <chr>      <chr>                <chr>     
#>  1   2024 255473                 2024 255473     5146775              David     
#>  2   2024 254466                 2024 254466     5138455              Jide      
#>  3   2024 257502                 2024 257502     NA                   Papa      
#>  4   2024 258479                 2024 258479     NA                   Na'eem    
#>  5   2024 257649                 2024 257649     NA                   Omari     
#>  6   2024 254482                 2024 254482     5138702              Adham     
#>  7   2024 250916                 2024 250916     5079289              Tawaski   
#>  8   2024 257098                 2024 257098     5173623              Frank     
#>  9   2024 258339                 2024 258339     NA                   Collins   
#> 10   2024 255259                 2024 255259     5145820              Cooper    
#> # ℹ 15 more rows
#> # ℹ 25 more variables: last_name <chr>, full_name <chr>, display_name <chr>,
#> #   short_name <chr>, position_id <chr>, position_abbreviation <chr>,
#> #   weight <dbl>, height <dbl>, grade <dbl>, grade_display_value <chr>,
#> #   overall_rank <int>, position_rank <int>, state_rank <int>,
#> #   region_rank <int>, status_id <chr>, status <chr>, committed_team_id <chr>,
#> #   hometown_city <chr>, hometown_state <chr>, …
# }