College Athlete Recruiting Profiles Scraper — On3 & Rivals
Pricing
Pay per event
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
Maintained by CommunityActor stats
1
Bookmarked
8
Total users
2
Monthly active users
16 hours
Issues response
3 days ago
Last modified
Categories
Share
Pull 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. 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:
| Field | Description |
|---|---|
athlete_id | On3 unique athlete identifier |
name | Athlete full name |
sport | Sport (Football, Basketball, etc.) |
position / position_full | Position abbreviation and full name |
class_year | Recruiting class year (HS graduation year) |
class_rank | Academic class (Freshman, Sophomore, Junior, Senior) |
height / weight | Physical measurements |
age | Current age |
high_school / high_school_full | High school name and mascot |
hs_city / hs_state | Hometown |
college | Committed or current college (null if uncommitted) |
commitment_date | ISO-format commitment date |
transfer_status | Transfer portal status (None, Transfer, ExpectedToTransfer, WithdrawnTransfer) |
star_rating | On3 star rating (2–5 stars; null if unranked) |
rating | Numeric score (0–100 scale) |
ranking_national | National rank among all prospects in class |
ranking_position | Position rank in class |
ranking_state | State rank in class |
five_star_plus | Whether rated as an elite five-star-plus prospect |
nil_status | NIL valuation status flag (Active, Private, or Pending) |
nil_valuation | NIL market value in USD — present only for athletes whose valuations are publicly listed on On3 |
nil_rank | NIL rank among all athletes (when public) |
twitter_handle / instagram_handle / tiktok_handle | Social handles (when publicly listed) |
organization_level | Current level (HighSchool, JuniorCollege, College) |
athlete_verified | Whether On3 has verified the profile |
profile_url | Direct URL to athlete's On3 profile |
How to Use
Quick Start
- Open the actor on Apify and click Try for free
- Select a
sport(default: football) - Optionally set a
classYearto narrow to one recruiting class - Set
maxItemsto limit output size for testing (set to 0 for a full run) - Click Start and collect results from the Dataset tab
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
sport | string | football | Sport to scrape. Options: football, basketball, womens-basketball, baseball, softball, volleyball |
classYear | integer | 0 | Recruiting class year filter. Set to 0 to collect all available years. |
maxItems | integer | 0 | Cap 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
| Sport | Approximate Coverage |
|---|---|
| Football | 80,000+ profiles, class years 2016–2034 |
| Basketball (Men's) | 15,000+ profiles |
| Basketball (Women's) | Available |
| Baseball / Softball / Volleyball | Available |
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: nullfor the majority of profiles. Thenil_statusfield (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.