Skip to main content
Version: 0.1.5

CFB — 247Sports Site Pages (247sports.com) — Season

sports247_site_pages_season_current_expert_predictions​

Current expert 'crystal ball' predictions for a season.

Endpoint URL: GET https://247sports.com/Season/{season}/CurrentExpertPredictions.json

Valid URL: https://247sports.com/Season/2026-Football/CurrentExpertPredictions.json

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason path segment in {year}-{Sport} form, e.g. 2026-Football.

Returns​

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

col_nametypedescription
keyintegerPrimary key of this entity (the id used in its .json route).
player_institutionintegerNested player-institution stint the Crystal Ball prediction targets (stringified).
institutionintegerFK -> predicted destination Institution.
userinteger247Sports user account of the predictor (nested, stringified).
updated_oncharacterDate the prediction was last updated.
prediction_statuscharacterCrystal-ball prediction status code.
days_correctnumericNumber of days the prediction has stood as correct.
premiumcharacter
scorenumericExpert accuracy score at time of prediction.
confidenceintegerExpert confidence 1-10.
parentcharacterParent prediction record this entry updates (247Sports field).
is_zero_zonecharacterWhether the prediction fell in 247Sports' zero zone (logged too close to the announcement to earn accuracy credit).
default_nameintegerServer-rendered display label for the entity.

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

Example​

sports247_site_pages_season_current_expert_predictions(season='2026-Football')

Last validated n/a.

sports247_site_pages_season_recruit_interest_events​

Recruit-interest timeline events for a season (offers/visits/commits).

Endpoint URL: GET https://247sports.com/Season/{season}/RecruitInterestEvents.json

Valid URL: https://247sports.com/Season/2026-Football/RecruitInterestEvents.json

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason path segment in {year}-{Sport} form, e.g. 2026-Football.

Returns​

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

col_nametypedescription
keyintegerPrimary key of this entity (the id used in its .json route).
institutionintegerNested 247Sports institution the interest event involves (stringified).
recruitmentintegerNested 247Sports recruitment the event belongs to (stringified).
recruit_interestintegerNested recruit-interest record the event belongs to (stringified).
typecharacterRecord-type category (e.g. total, home, road).
datecharacterDate of the recruiting-interest event, per 247Sports.
default_nameintegerServer-rendered display label for the entity.

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

Example​

sports247_site_pages_season_recruit_interest_events(season='2026-Football')

Last validated n/a.

sports247_site_pages_season_recruit_interests​

All recruit interests for a season (paginated).

Endpoint URL: GET https://247sports.com/Season/{season}/RecruitInterests.json

Valid URL: https://247sports.com/Season/2026-Football/RecruitInterests.json

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason path segment in {year}-{Sport} form, e.g. 2026-Football.

Returns​

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

col_nametypedescription
keyintegerPrimary key of this entity (the id used in its .json route).
recruitmentintegerFK -> parent Recruitment.
player_sportintegerNested player-sport profile the interest entry belongs to (stringified).
recruit_stateinteger247Sports status of the recruit's interest entry for the school (e.g. committed, signed, decommitted).
institutionintegerFK -> the interested/interesting Institution.
lock_predictioncharacterCrystal Ball lock-prediction value for the school on this recruitment (247Sports field).
recruits_interestcharacterRecruit's stated interest level in the school, per 247Sports.
primary_coachnumericLead recruiting coach at the school for this recruit.
secondary_coachcharacterSecondary recruiting coach at the school for this recruit.
keeper_coachcharacterCoach designated as the keeper contact for the recruitment (247Sports field).
institutions_interestcharacterSchool's interest level in the recruit, per 247Sports.
positionintegerAthlete position.
position_groupintegerPosition group of the recruits (e.g. Offensive Line, Defensive Back).
platooninteger247Sports platoon (side-of-ball grouping) identifier on the interest entry.
offeredcharacterWhether the school has extended an offer.
gray_shirtcharacterWhether the offer or commitment is a grayshirt (delayed enrollment) arrangement.
walk_oncharacterWhether the recruit would join the program as a walk-on.
official_visitnumericDate of the recruit's official visit to the school.
second_official_visitcharacterDate of the recruit's second official visit to the school.
soft_commitcharacterWhether 247Sports marks the commitment as a soft commit.
hard_commitnumericFK -> the RecruitInterestEvent marking a hard commit.
signing_datenumericDate the recruit signed with the school.
enrollment_datenumericDate the recruit enrolled at the school.
decommitcharacterDate the recruit decommitted from the school, when applicable.
offercharacterWhether the school has extended a scholarship offer to the recruit.
highest_recruit_interest_eventnumericNested highest-signal event on the interest timeline (e.g. commitment) (stringified).
commit_statuscharacterCommitment status label (e.g. Committed, Signed).
default_namecharacterServer-rendered display label for the entity.

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

Example​

sports247_site_pages_season_recruit_interests(season='2026-Football')

Last validated n/a.

sports247_site_pages_season_recruits​

Recruit class rankings for a season (rich per-recruit rows with inlined Player).

Endpoint URL: GET https://247sports.com/Season/{season}/Recruits.json

Valid URL: https://247sports.com/Season/2026-Football/Recruits.json

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason path segment in {year}-{Sport} form, e.g. 2026-Football.
ItemsitemsYItems query parameter.
PagepageYPage query parameter.
Player.FullNameplayer_full_nameYPlayer.FullName query parameter.
InstitutioninstitutionYInstitution query 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
keyintegerPrimary key of this entity (the id used in its .json route).
player_institutionintegerNested player-institution stint behind the recruit row (stringified).
yearintegerFour-digit season year (e.g. 2019).
announcement_datecharacterDate the recruit announced their decision.
signed_institutionintegerNested institution the recruit signed with (stringified).
positionintegerAthlete position.
institutionintegerNested institution the recruit row is scoped to (stringified).
stateintegerHome state of the recruit, per 247Sports.
player_sportintegerNested player-sport profile for the recruit (stringified).
composite_strengthintegerComposite strength points contributed to team ranking.
final_choiceintegerWhether this entry represents the recruit's final school choice.
highest_recruit_interest_event_typecharacterType of the highest-signal event on the recruit's interest timeline (e.g. commit, signing).
highest_recruit_interest_eventintegerNested highest-signal event on the recruit's interest timeline (stringified).
committed_recruit_interestintegerNested interest record for the school the recruit committed to (stringified).
committed_institutionintegerFK -> committed Institution.
highest_recruit_interestintegerNested interest record carrying the recruit's highest interest signal (stringified).
primary_player_positionintegerNested 247Sports record for the recruit's primary position (stringified).
primary_positionintegerRecruit's primary position on the 247Sports profile.
default_namecharacterServer-rendered display label for the entity.
commited_institution_team_imagecharacterTeam image asset for the committed institution (the 'commited' spelling is 247Sports' own field name).
recruit_interest_countintegerNumber of tracked school interests.
recruit_interests_urlcharacterSite URL to the recruit's interest timeline.
player_keyintegerPrimary key of this entity (the id used in its .json route).
player_first_namecharacter
player_last_namecharacter
player_full_namecharacter
player_heightcharacter
player_weightnumeric
player_biocharacterPlayer biography text authored on 247Sports.
player_scout_evaluationcharacter247Sports scouting evaluation text for the player.
player_birthdatecharacterPlayer's date of birth, per 247Sports.
player_modified_usercharacter247Sports user who last modified the player record.
player_modified_datecharacterDate the player record was last modified.
player_cbs_keyintegerCross-reference key into the CBS Sports id space.
player_urlcharacter
player_last_recruitment_player_institutionintegerNested player-institution record from the player's most recent recruitment (stringified).
player_current_player_institutionintegerFK -> PlayerInstitution (current school).
player_twitter_contactnumericNested 247Sports contact record for the player's Twitter/X account (stringified).
player_mobile_phone_contactcharacterPlayer's mobile phone contact field on the 247Sports record.
player_primary_player_sportintegerFK -> PlayerSport (/PlayerSport/{id}.json).
player_primary_recruitmentintegerNested 247Sports record for the player's primary recruitment (stringified).
player_default_namecharacterServer-rendered display label for the entity.
player_default_assetintegerNested 247Sports image asset for the player's headshot (stringified).
player_default_asset_urlcharacterURL of the player's headshot image.
player_hero_assetcharacterNested 247Sports hero (banner) image asset for the player page (stringified).
player_quote_assetcharacterNested 247Sports image asset used alongside the player's quote block (stringified).
player_usercharacter247Sports user account linked to the player profile (nested, stringified).
player_pro_stat_playerintegerReference tying the profile to a professional stats player record (247Sports field).
player_college_stat_playerintegerReference tying the profile to a college stats player record (247Sports field).
player_bio_or_defaultcharacterPlayer bio text, falling back to a default blurb when none is authored.
player_ratinginteger247Sports numeric rating (0-1 scale) for the primary sport.
player_star_ratingintegerStar tier (2-5) derived from the rating.
player_national_rankintegerOverall national rank in the recruit's class.
player_position_rankintegerRank within position for the class.
player_state_rankintegerRank within home state for the class.
player_hometown_statecharacterState of the player's hometown.
player_hometown_citycharacterCity of the player's hometown.
player_player_high_school_namecharacterName of the player's high school.
player_primary_player_position_abbreviationcharacterAbbreviation of the player's primary position.

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

Example​

sports247_site_pages_season_recruits(season='2026-Football')

Last validated n/a.

sports247_site_pages_season_roster_embed​

Signed-class roster embed (PlayerSport rows). Accuracy can lag.

Endpoint URL: GET https://247sports.com/Season/{season}/Roster/Embed.json

Valid URL: https://247sports.com/Season/2020-Football/Roster/Embed.json

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason path segment in {year}-{Sport} form, e.g. 2026-Football.

Returns​

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

col_nametypedescription
keyintegerPrimary key of this entity (the id used in its .json route).
playerintegerPlayer name.
player_institutionintegerNested player-institution stint the player-sport profile points to (stringified).
stateintegerHome state of the recruit, per 247Sports.
sportintegerNested 247Sports sport for the profile (stringified).
ratinginteger247Sports rating string (0-1).
rating_or_defaultinteger247Sports in-house rating, falling back to a default value when unrated.
local_indexinteger247Sports' own industry-index value for the player, alongside the Rivals and ESPN indexes.
rivals_gradenumericRivals source grade (industry composite input).
rivals_rankintegerPlayer's rank in the Rivals industry ranking, as tracked by 247Sports.
rivals_indexnumericRivals index value for the player, as tracked by 247Sports.
espn_gradeintegerESPN source grade (industry composite input).
espn_rankintegerPlayer's rank in the ESPN industry ranking, as tracked by 247Sports.
espn_indexnumericESPN index value for the player, as tracked by 247Sports.
composite_strengthintegerComposite strength points (team-ranking weight).
composite_ratingnumeric247Sports Composite rating (industry blend).
composite_rating_or_defaultnumeric247Sports Composite rating, falling back to a default value when unrated.
average_ranknumericPlayer's average rank across the tracked industry services.
previous_recruitmentintegerNested record for the player's previous recruitment (stringified).
primarycharacterWhether this is the player's primary sport.
class_year_overridecharacterOverride of the player's recruiting class year, when 247Sports reassigns it.
class_yearcharacterRecruiting class year.
recruitmentintegerFK -> Recruitment aggregate for this player-sport.
primary_institution_predictionnumericNested leading Crystal Ball institution prediction for the player (stringified).
secondary_institution_predictionintegerNested second-place Crystal Ball institution prediction (stringified).
primary_institution_prediction_percentagenumericShare of Crystal Ball predictions favoring the leading institution.
show_unranked_ratingcharacter247Sports display flag to show the rating even while the player is unranked.
current_player_sport_yearnumericCurrent ranking-cycle year for the player-sport profile.
unpublished_player_sport_rankingnumericNested not-yet-published ranking row for the player (stringified).
current_player_sport_rankingnumericNested current published ranking row for the player (stringified).
primary_player_positionintegerNested 247Sports record for the player's primary position (stringified).
primary_positionintegerPlayer's primary position on the 247Sports profile.
primary_position_groupintegerPosition group the player's primary position belongs to.
default_namecharacterServer-rendered display label for the entity.
star_ratingintegerStar tier (2-5).
secondary_institution_prediction_percentagenumericShare of Crystal Ball predictions favoring the second-place institution.
jerseyintegerJersey number.

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

Example​

sports247_site_pages_season_roster_embed(season='2020-Football')

Last validated n/a.