Discover/NCAA API
live

NCAA APIstats.ncaa.org ↗

Access NCAA player stats, team rosters, schedules, box scores, play-by-play, coach records, and passing efficiency leaders via the stats.ncaa.org API.

Endpoint health
verified 1h ago
search_teams
get_players_participation
get_team_participation_matrix
search_players
search_head_coaches
10/17 passing latest checkself-healing
Endpoints
17
Updated
2d ago

What is the NCAA API?

This API exposes 17 endpoints covering NCAA sports statistics from stats.ncaa.org, including player search, game-level box scores, play-by-play logs, team rosters and schedules, head coach win-loss records, and division-wide passing efficiency rankings. The get_box_score endpoint returns per-player stat columns for both teams in a contest, while get_play_by_play delivers every logged event with period, time, score, and team attribution.

This call costs2 credits / call— charged only on success
Try it
Search keyword for player name
Pagination offset (0-based index of first result)
Number of results to return per page
→ api.parse.bot/scraper/cc788f52-a551-42c0-9350-031581a15442/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/cc788f52-a551-42c0-9350-031581a15442/search_players?query=Harris&start=0&length=10' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 17 totalmissing one? ·

Search for players by name across all sports and teams. Returns player names, IDs, seasons played, and team affiliations. Paginates via offset/length parameters.

Input
ParamTypeDescription
queryrequiredstringSearch keyword for player name
startintegerPagination offset (0-based index of first result)
lengthintegerNumber of results to return per page
Response
{
  "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": 2913931,
      "players": [
        {
          "name": "Harrison Aakre",
          "teams": [
            {
              "team_name": "Concordia-M'head Football",
              "team_history_url": "/teams/history/MFB/161"
            }
          ],
          "seasons": "1",
          "player_id": "3297520"
        }
      ]
    },
    "status": "success"
  }
}

About the NCAA API

Player and Team Discovery

The search_players endpoint accepts a name query and returns player objects carrying player_id, affiliated teams, and seasons played. Pagination is controlled by start and length parameters, and the response includes a total count. search_teams uses an autocomplete lookup and returns vid, label (name plus conference), value (team ID), and org_id. get_team_roster accepts a team_id and returns each player's number, Class, Position, Height, Hometown, High School, and player_id, making it straightforward to build a full player list for any team-season.

Game Data: Scores, Box Scores, and Play-by-Play

The get_scoreboard endpoint takes date (MM/DD/YYYY), year, sport, and division and returns game objects with team1_name, team1_id, team1_score, team2_name, team2_id, team2_score, and contest_id. That contest_id is the key for both get_box_score, which returns per-player stats for every player on both teams, and get_play_by_play, which returns a full event log with period, time, team, event description, and running score. Team schedules—including opponent, result, contest_id, and attendance—are available via get_team_schedule.

Football-Specific Stats and Participation

Several endpoints are scoped to college football. get_offensive_player_stats and get_defensive_player_stats accept a player_id and optional season year and return season totals: passing yards, completions, rush touchdowns, receptions, and points for offense; solo tackles, sacks, sack yards, passes defended, and forced fumbles for defense. get_player_game_log returns one entry per game the player appeared in, with stats merged from up to 12 requested categories. The get_passing_efficiency_leaders endpoint returns the division ranking table for passing efficiency, with fields including rank, games_played, pass_attempts, completion_pct, pass_yards, pass_tds, interceptions, and efficiency_rating, with an optional ranking_period for weekly cuts.

Participation and Coach Data

get_team_participation_matrix builds a player-by-game grid for a team-season: each roster player row has a cells array aligned to the header's contest_id, date, opponent, and opponent_team_id arrays, with X or empty string indicating appearance. search_head_coaches returns coach records with wins, losses, ties, wl_pct, tenure, alma_mater, and sport, and accepts an optional sport code to narrow results. The get_rankings endpoint lists available statistical ranking categories for a given sport, division, and season, returning stat_name, stat_seq, and a URL to the full national ranking table.

Reliability & maintenanceVerified

The NCAA API is a managed, monitored endpoint for stats.ncaa.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when stats.ncaa.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official stats.ncaa.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1h ago
Latest check
10/17 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Track live NCAA game scores and results by polling get_scoreboard for a given sport and date.
  • Build player comparison tools using get_offensive_player_stats and get_defensive_player_stats season totals.
  • Reconstruct game timelines for analysis using get_play_by_play event logs with period, time, and score fields.
  • Compile head coach career win-loss records across all sports using search_head_coaches with tenure and win percentage fields.
  • Generate team depth charts by cross-referencing get_team_roster position data with get_team_participation_matrix game appearance grids.
  • Identify top college football passers by division using get_passing_efficiency_leaders with weekly ranking_period filtering.
  • Map recruiting pipelines by extracting Hometown and High School fields from get_team_roster across multiple team-seasons.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does stats.ncaa.org have an official public developer API?+
No. The NCAA does not publish a documented public API for stats.ncaa.org. This Parse API provides structured access to the same statistics data available on the site.
What does `get_player_game_log` return, and how do I filter by stat category?+
It returns one object per game the player appeared in, with date, opponent, opponent_team_id, result, contest_id, and a stats object whose keys are stat column names. You supply a comma-separated categories parameter (e.g. Tackles,Sacks) to control which stat columns are fetched and merged. Up to 12 categories can be fetched per call; any additional available categories appear in skipped_categories.
Are sports other than football covered for player stats endpoints?+
The get_offensive_player_stats, get_defensive_player_stats, get_player_game_log, get_passing_efficiency_leaders, get_position_participation, and get_team_participation_matrix endpoints are scoped to college football. Endpoints like search_players, get_box_score, get_scoreboard, and get_team_roster cover multiple sports. You can fork the API on Parse and revise it to add sport-specific stat endpoints for basketball, baseball, or other NCAA sports.
How does pagination work for `search_players` and `search_head_coaches`?+
search_players uses start (0-based offset) and length (page size) parameters. The response includes a total integer so you can calculate the number of pages. search_head_coaches returns both a total (full database count) and filtered_total (count matching current filters), but does not expose offset/length parameters — it returns all matching coaches in one response.
Does the API return historical season data going back more than one year?+
Individual player profiles via get_player_profile include a seasons array listing all available academic years with their corresponding player_id values, so multi-year lookups are possible by iterating seasons. However, the API does not include a dedicated endpoint for bulk historical season archives or year-over-year trend tables. You can fork the API on Parse and revise it to add an endpoint that aggregates multi-season stat rows for a given player or team.
Page content last updated . Spec covers 17 endpoints from stats.ncaa.org.
Related APIs in SportsSee all →
maxpreps.com API
Access high school sports data from MaxPreps. Search for schools, retrieve team rosters and schedules, look up athlete profiles, and browse national or state rankings across all sports.
fotmob.com API
Get live football scores, detailed match results, and comprehensive league statistics across multiple competitions. Access player and team performance data, browse upcoming fixtures by date, and dive into in-depth analytics for your favorite leagues and matches.
teamrankings.com API
Access data from teamrankings.com.
pro-football-reference.com API
Access comprehensive NFL data including season schedules, team standings, player statistics, game boxscores, play-by-play details, and player profiles to research teams, players, and game information. Search for specific players and dive into detailed game analysis with boxscore information and minute-by-minute play data.
atptour.com API
Access data from atptour.com.
whoscored.com API
Search for players and teams, then dive deep into their performance metrics, match statistics, and detailed passing data to analyze football games and player abilities. Get comprehensive insights on team performance, individual player stats, and play-by-play event information to power your football analysis and decision-making.
statshub.com API
Access detailed football match statistics including xG, xGA, and possession metrics across multiple leagues, plus retrieve fixtures by date and current league standings. Get comprehensive season-level and match-level performance data to analyze team and player statistics in depth.
fmplayer.net API
Search and filter Football Manager players across FM 18-26 databases to discover detailed player profiles including abilities, attributes, contract details, best roles, and comparable players. Find the perfect talent for your team by accessing comprehensive player information and performance data all in one place.