College Athlete Recruiting Profiles Scraper — On3 & Rivals avatar

College Athlete Recruiting Profiles Scraper — On3 & Rivals

Pricing

Pay per event

Go to Apify Store
College Athlete Recruiting Profiles Scraper — On3 & Rivals

College Athlete Recruiting Profiles Scraper — On3 & Rivals

Scrape 80,000+ college football and multi-sport recruiting profiles from On3.com (the platform that acquired Rivals in 2023). Extracts star ratings, national/position/state rankings, commitment data, transfer portal status, physical measurements, and social handles across class years 2016-2034.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

1

Bookmarked

12

Total users

2

Monthly active users

16 hours

Issues response

12 days ago

Last modified

Share

On3 & Rivals College Athlete Recruiting Profiles Scraper — Rankings, Transfer Portal & NIL

An On3 scraper and Rivals scraper that pulls structured recruiting profiles for 80,000+ college football athletes — and thousands more across basketball, baseball, softball, and volleyball — directly from On3.com, the platform that absorbed Rivals.com in 2023. Build a college football recruiting database with star ratings, national rankings, transfer portal status, and NIL valuations. All legacy Rivals profiles now live at on3.com/rivals/* and are fully covered.

Data is extracted from On3's sitemap-driven player index, covering recruiting classes from 2016 through 2034. Each run pages through the full athlete catalog for the selected sport and class year, returning one structured record per athlete.

What You Get

Each record contains the following fields:

FieldDescription
athlete_idOn3 unique athlete identifier
nameAthlete full name
sportSport (Football, Basketball, etc.)
position / position_fullPosition abbreviation and full name
class_yearRecruiting class year (HS graduation year)
class_rankAcademic class (Freshman, Sophomore, Junior, Senior)
height / weightPhysical measurements
ageCurrent age
high_school / high_school_fullHigh school name and mascot
hs_city / hs_stateHometown
collegeCommitted or current college (null if uncommitted)
commitment_dateISO-format commitment date
transfer_statusTransfer portal status (None, Transfer, ExpectedToTransfer, WithdrawnTransfer)
star_ratingOn3 star rating (2–5 stars; null if unranked)
ratingNumeric score (0–100 scale)
ranking_nationalNational rank among all prospects in class
ranking_positionPosition rank in class
ranking_stateState rank in class
five_star_plusWhether rated as an elite five-star-plus prospect
nil_statusNIL valuation status flag (Active, Private, or Pending)
nil_valuationNIL market value in USD — present only for athletes whose valuations are publicly listed on On3
nil_rankNIL rank among all athletes (when public)
twitter_handle / instagram_handle / tiktok_handleSocial handles (when publicly listed)
organization_levelCurrent level (HighSchool, JuniorCollege, College)
athlete_verifiedWhether On3 has verified the profile
profile_urlDirect URL to athlete's On3 profile

How to Use

Quick Start

  1. Open the actor on Apify and click Try for free
  2. Select a sport (default: football)
  3. Optionally set a classYear to narrow to one recruiting class
  4. Set maxItems to limit output size for testing (set to 0 for a full run)
  5. Click Start and collect results from the Dataset tab

Input Parameters

ParameterTypeDefaultDescription
sportstringfootballSport to scrape. Options: football, basketball, womens-basketball, baseball, softball, volleyball
classYearinteger0Recruiting class year filter. Set to 0 to collect all available years.
maxItemsinteger0Cap on number of profiles returned. 0 = no limit.

Example API Call

{
"sport": "football",
"classYear": 2026,
"maxItems": 500
}

Sample Output

{
"athlete_id": 156049,
"platform": "on3",
"slug": "kody-strayhorn-156049",
"profile_url": "https://www.on3.com/rivals/kody-strayhorn-156049/",
"name": "Kody Strayhorn",
"sport": "Football",
"position": "IOL",
"position_full": "Interior Offensive Lineman",
"class_year": 2028,
"class_rank": "Senior",
"height": "6-3",
"weight": 295,
"high_school": "Lebanon",
"hs_city": null,
"hs_state": "MI",
"college": null,
"commitment_date": null,
"transfer_status": "None",
"star_rating": 3,
"rating": 87.4,
"ranking_national": 524,
"ranking_position": 30,
"ranking_state": 76,
"five_star_plus": false,
"nil_status": "Private",
"nil_valuation": null,
"nil_rank": null,
"twitter_handle": "kodystrayhorn",
"instagram_handle": null,
"tiktok_handle": null,
"organization_level": "HighSchool",
"athlete_verified": true
}

Data Scale — Recruiting Rankings Coverage by Sport

SportApproximate Coverage
Football80,000+ profiles, class years 2016–2034
Basketball (Men's)15,000+ profiles
Basketball (Women's)Available
Baseball / Softball / VolleyballAvailable

On3's player sitemap updates daily. A full football run with no filters will pull the complete catalog.

Use Cases

  • NIL agencies and sports agents — Identify ranked recruits by position, class year, and state; filter by star rating to surface top prospects
  • College recruiting services — Build and maintain a structured database of prospects with commitment and transfer portal status
  • Sports analytics platforms — Enrich player databases with recruiting pedigree, physical measurements, and position rankings
  • Sports journalism and research — Track transfer portal trends, commitment waves, and ranking changes across class years
  • Fantasy / DFS tools — Add recruiting-grade signal to player profiles for college sports products

Pricing

This actor uses pay-per-result pricing. You are charged per athlete profile returned. A full football catalog run (80,000+ records) is priced accordingly. Use maxItems to run a small sample before committing to a full pull.

Limitations

  • NIL valuations are mostly private. On3 only displays NIL market values for high-profile athletes who have opted in. Expect nil_valuation: null for the majority of profiles. The nil_status field (Active / Private / Pending) is always returned.
  • Rivals.com is fully absorbed. There is no separate Rivals scraper needed — all Rivals athlete profiles now live on On3 at on3.com/rivals/* and are included in this actor's output.
  • 247Sports is a separate platform (owned by CBS Sports) and is not covered by this actor.
  • Social handles depend on athlete privacy settings. Handles are only returned when publicly listed on the athlete's profile.
  • Historical class years (pre-2020) have thinner coverage — fewer profiles and less ranking data as On3 backfilled legacy Rivals records.

FAQ

How do I scrape On3 recruiting rankings by class year? Set the classYear input to the graduation year you want (e.g. 2026) and the sport field. The actor pages through On3's player sitemap for that class and returns national, position, and state rankings per athlete.

Can I export a college football recruiting database with transfer portal status? Yes. Every record includes transfer_status (None, Transfer, ExpectedToTransfer, WithdrawnTransfer) alongside commitment data, so you can build and maintain a transfer portal tracker from the dataset output.

Does this scrape NIL valuations from On3? It returns nil_status, nil_valuation, and nil_rank for athletes whose NIL values are publicly listed on On3. Most profiles are private, so expect nil_valuation: null for the majority.

Does this cover Rivals.com athlete profiles? Yes. Rivals was absorbed into On3 in 2023 and all legacy Rivals profiles now live at on3.com/rivals/*, which this actor scrapes. There is no separate Rivals scraper to run.

Need More Features?

Request a field, sport, or filter by opening an issue at console.apify.com/actors/issues.