stats.ncaa.org APIstats.ncaa.org ↗
Access NCAA player, team, and coach statistics via 9 endpoints. Get box scores, play-by-play, schedules, rosters, and national rankings from stats.ncaa.org.
curl -X GET 'https://api.parse.bot/scraper/cc788f52-a551-42c0-9350-031581a15442/search_players?query=Smith&length=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for players by name across all sports and teams. Returns player names, IDs, seasons played, and team affiliations.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword for player name |
| start | integer | Pagination offset |
| length | integer | Number of results to return |
{
"type": "object",
"fields": {
"total": "integer total number of matching records",
"players": "array of player objects with name, player_id, seasons, and teams"
},
"sample": {
"data": {
"total": 2913845,
"players": [
{
"name": "Smith Alce",
"teams": [
{
"team_name": "Hiram Football",
"team_history_url": "/teams/history/MFB/281"
}
],
"seasons": "1",
"player_id": "3907478"
}
]
},
"status": "success"
}
}About the stats.ncaa.org API
This API covers 9 endpoints against stats.ncaa.org, returning structured data on college sports including players, teams, head coaches, game results, and statistical rankings. The get_box_score endpoint returns per-player statistics for both teams in a given contest, while search_head_coaches surfaces win/loss records, tenure, and alma mater across all supported NCAA sports and divisions.
Player, Team, and Coach Search
Three search endpoints cover the primary NCAA entities. search_players accepts a query string plus start and length pagination params, returning a total count alongside an array of player objects with name, player_id, seasons, and teams. search_teams takes a term and returns matching entries with vid, label (display name including conference), value, and org_id. search_head_coaches accepts a query and an optional sport code (e.g., MBB, WBB, MFB); each coach record includes wins, losses, ties, wl_pct, tenure, seasons, and alma_mater.
Game Data: Scoreboard, Box Scores, and Play-by-Play
get_scoreboard filters by date (MM/DD/YYYY), year (academic year such as 2026 for the 2025–26 season), sport, and division (1, 2, or 3), returning an array of games with team names, IDs, and box score links. Once you have a contest_id from the scoreboard, get_box_score returns per-player statistics for both teams, and get_play_by_play returns an event log with period, time, team, event description, and running score.
Team Schedules, Rosters, and Rankings
get_team_schedule and get_team_roster both take a team_id sourced from search_teams or the scoreboard. The roster response includes player name, position, class, height, and hometown. get_rankings accepts year, sport, and division, returning an array of ranking category objects — each with stat_name, stat_seq, and a url pointing to the detailed national rankings page for that category.
- Build a coach career tracker using
search_head_coachesto pull win/loss records and tenure across sports - Populate a live game feed using
get_scoreboardfiltered by sport and division, then drill intoget_box_scorefor per-player stats - Reconstruct game timelines by pulling
get_play_by_playevents with period, time, team, and score fields - Generate team season summaries by combining
get_team_scheduleresults withget_team_rosterplayer details - Identify top statistical performers by iterating
get_rankingscategories for a given sport, division, and academic year - Search and cross-reference player careers across teams and seasons using
search_playerswith pagination viastartandlength - Power a conference comparison tool by resolving team IDs via
search_teamsand mapping schedule and roster data
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does stats.ncaa.org provide an official public developer API?+
How does sport and division filtering work across endpoints?+
get_scoreboard, get_rankings, and search_head_coaches — accept a sport parameter using NCAA sport codes such as MBB (men's basketball), WBB (women's basketball), and MFB (football). Division is passed as 1, 2, or 3. Omitting either parameter typically returns results across all applicable sports or divisions, depending on the endpoint.Does the API return historical play-by-play or box scores beyond the current season?+
get_box_score and get_play_by_play endpoints require a contest_id, which can be obtained from get_scoreboard or get_team_schedule. Coverage depends on whether the underlying contest records are available on stats.ncaa.org. Deep historical game-level data may not be present for older seasons.Are individual player season statistics — like per-game averages or cumulative totals — returned anywhere?+
What identifiers link endpoints together?+
team_id is the primary key shared between search_teams, get_team_schedule, and get_team_roster. contest_id links get_scoreboard and get_team_schedule results to get_box_score and get_play_by_play. player_id is returned by search_players but is not currently an input to any other endpoint in this API.