Seasonal Statistics (Player & Team)
This guide helps you access NCAA Men's Basketball (NCAAMB) seasonal and player career statistics. It also includes instructions for using the Daily Change Log endpoint to monitor post-game stat revisions.
Introduction to Seasonal Statistics
If you've explored integrating live game updates into your application, you may be familiar with the Game Summary endpoint, which provides game statistics in real-time. This guide focuses on accessing seasonal statistics — an aggregation of game statistics across a season — for both players and teams.
Note on Past Season Statistics
Past seasons may have fewer available statistics as new data points have been added more recently. Keep this in mind when accessing historical data.
Prerequisite - Accessing Available Seasons
To avoid confusion and ensure you're accessing available data, refer to our Seasons feed. This resource lists all the seasons for which we have data.
For example: To ensure data availability for future seasons, such as a schedule in advance of when a season begins, first check the Seasons feed to verify that data for that specific season is already provided.
Starting with this feed can prevent unnecessary errors and streamline your data retrieval process.
Starting Year for Each Season
It's important to note that the
season
parameter uses the starting year of the season; for example, to retrieve data for the 2024-25 NCAAMB season, you would use2024
as the value for the season parameter.
How to Access Seasonal Statistics
You can access seasonal statistics using the Seasonal Statistics feed. This endpoint provides complete team and player seasonal statistics for a given season.
Data Availability
Our seasonal statistics date back to the year 2013, although availability can vary by player and team.
Accessing the Seasonal Statistics Feed:
- Get a team ID: You can access a list of all active teams in the NCAAMB API database with the Teams endpoint.
- Call the Seasonal Statistics feed: Using the team ID, you can retrieve seasonal statistics for that team — covering conference tournament (CT), regular season (REG), or postseason (PST) — by querying the Seasonal Statistics feed.
The call will retrieve seasonal statistics for the team and its individual players.
Recommended Pull Frequency:
- Seasonal stats are updated on a five-minute timer after a game is moved to
closed
- To receive the fastest updates, call the feed five to ten minutes after a game is moved to
closed
. - Otherwise, utilize this feed on an as needed basis.
- The TTL/Cache is 120 seconds.
Tip
Utilize the Daily Change Log endpoint to capture stat revisions after a game has ended. See the Daily Change Log section in this guide for more details.
Example - Retrieving Seasonal Stats for the Michigan Wolverines and Jace Howard
This example shows a response from using the team ID bdc2561d-f603-4fab-a262-f1d2af462277
to access the 2023 regular season stats for the Michigan Wolverines and Jace Howard.
Here are the team seasonal stats to start:
{
"id": "bdc2561d-f603-4fab-a262-f1d2af462277",
"name": "Wolverines",
"market": "Michigan",
"season": {
"id": "05b9e2ec-8916-432f-8a56-6579eb825dd0",
"year": 2023,
"type": "REG"
},
"own_record": {
"total": {
"games_played": 32,
"minutes": 6475,
"field_goals_made": 829,
"field_goals_att": 1869,
"field_goals_pct": 0.444,
"two_points_made": 574,
"two_points_att": 1159,
"two_points_pct": 0.495,
"three_points_made": 255,
"three_points_att": 710,
"three_points_pct": 0.359,
"blocked_att": 123,
"free_throws_made": 421,
"free_throws_att": 599,
"free_throws_pct": 0.703,
"offensive_rebounds": 286,
"defensive_rebounds": 720,
"rebounds": 1006,
"assists": 400,
"turnovers": 402,
"assists_turnover_ratio": 1,
"steals": 133,
"blocks": 114,
"personal_fouls": 549,
"tech_fouls": 7,
"points": 2334,
"fast_break_pts": 178,
"flagrant_fouls": 1,
"points_off_turnovers": 321,
"second_chance_pts": 353,
"ejections": 0,
"foulouts": 14,
"efficiency": 2367,
"points_in_paint": 884,
"team_offensive_rebounds": 54,
"team_defensive_rebounds": 74,
"team_rebounds": 128,
"team_turnovers": 12,
"total_rebounds": 1134,
"total_turnovers": 414,
"true_shooting_att": 2132.56,
"true_shooting_pct": 0.547,
"field_goals_at_rim_made": 211,
"field_goals_at_rim_att": 322,
"field_goals_at_rim_pct": 0.655,
"field_goals_at_midrange_made": 126,
"field_goals_at_midrange_att": 327,
"field_goals_at_midrange_pct": 0.385
},
"average": {
"fast_break_pts": 5.56,
"points_off_turnovers": 10.03,
"second_chance_pts": 11.03,
"minutes": 202.3,
"points": 72.9,
"off_rebounds": 8.94,
"def_rebounds": 22.5,
"rebounds": 31.44,
"assists": 12.5,
"steals": 4.16,
"blocks": 3.56,
"turnovers": 12.56,
"personal_fouls": 17.16,
"flagrant_fouls": 0.03,
"blocked_att": 3.84,
"field_goals_made": 25.91,
"field_goals_att": 58.41,
"three_points_made": 7.97,
"three_points_att": 22.19,
"free_throws_made": 13.16,
"free_throws_att": 18.72,
"two_points_made": 17.94,
"two_points_att": 36.22,
"points_in_paint": 27.63,
"efficiency": 73.97,
"true_shooting_att": 66.64
}
},
"opponents": {
"total": {
"games_played": 32,
"minutes": 6475,
"field_goals_made": 926,
"field_goals_att": 1988,
"field_goals_pct": 0.466,
"two_points_made": 692,
"two_points_att": 1339,
"two_points_pct": 0.517,
"three_points_made": 234,
"three_points_att": 649,
"three_points_pct": 0.361,
"blocked_att": 114,
"free_throws_made": 442,
"free_throws_att": 606,
"free_throws_pct": 0.729,
"offensive_rebounds": 298,
"defensive_rebounds": 718,
"rebounds": 1016,
"assists": 430,
"turnovers": 296,
"assists_turnover_ratio": 1.45,
"steals": 245,
"blocks": 123,
"personal_fouls": 541,
"tech_fouls": 8,
"points": 2528,
"fast_break_pts": 297,
"flagrant_fouls": 2,
"points_off_turnovers": 499,
"second_chance_pts": 366,
"ejections": 0,
"foulouts": 2,
"efficiency": 2820,
"points_in_paint": 1196,
"team_offensive_rebounds": 49,
"team_defensive_rebounds": 52,
"team_rebounds": 101,
"team_turnovers": 10,
"total_rebounds": 1117,
"total_turnovers": 306,
"true_shooting_att": 2254.64,
"true_shooting_pct": 0.561,
"field_goals_at_rim_made": 260,
"field_goals_at_rim_att": 383,
"field_goals_at_rim_pct": 0.679,
"field_goals_at_midrange_made": 102,
"field_goals_at_midrange_att": 284,
"field_goals_at_midrange_pct": 0.359
},
"average": {
"fast_break_pts": 9.28,
"points_off_turnovers": 15.59,
"second_chance_pts": 11.44,
"minutes": 202.3,
"points": 79,
"off_rebounds": 9.31,
"def_rebounds": 22.44,
"rebounds": 31.75,
"assists": 13.4,
"steals": 7.66,
"blocks": 3.84,
"turnovers": 9.25,
"personal_fouls": 16.91,
"flagrant_fouls": 0.06,
"blocked_att": 3.56,
"field_goals_made": 28.94,
"field_goals_att": 62.13,
"three_points_made": 7.31,
"three_points_att": 20.28,
"free_throws_made": 13.81,
"free_throws_att": 18.94,
"two_points_made": 21.63,
"two_points_att": 41.84,
"points_in_paint": 37.38,
"efficiency": 88.13,
"true_shooting_att": 70.46
}
}
}
This code sample provides detailed statistics for the Michigan Wolverines during the 2023 NCAA Men's Basketball regular season. It includes metrics for both the team's overall performance and their opponents, such as field goals made and attempted, shooting percentages, rebounds, assists, turnovers, and points in the paint. The data allows for an in-depth analysis of the Wolverines' offensive and defensive efficiency. For instance, Michigan has a field goal percentage of 44.4%, while opponents shot 46.6%. The team scored an average of 72.9 points per game, while allowing 79 points, showcasing key areas for performance improvement.
This image below showcases how you could visualize detailed college basketball team statistics for the Michigan Wolverines in your application. The metrics include offensive stats like points per game (57.0), rebounds (36.0), assists (15.0), and field goal percentage (34.5%). It also showcases defensive statistics such as opponent points per game (66.0), opponent field goal percentage (38.3%), and opponent three-point percentage (41.2%). This comprehensive view allows users to assess team performance and compare offensive and defensive efficiencies against opponents, facilitating deeper analysis throughout the season.
Team Seasonal Stats Use Case: By integrating team seasonal statistics, your application could feature updates on key NCAAMB metrics such as points scored, shooting percentages, rebounds, and defensive stats. This would enable fans, coaches, and analysts to track team performance throughout the season, strategize for future games, and make predictions based on comprehensive, real-time statistics like field goal percentages, turnovers, and opponent scoring.
Further analysis of the data reveals seasonal statistics for Jace Howard:
{
"players": [
{
"id": "06facdf9-7f9c-419b-a895-1c441609e1c3",
"full_name": "Jace Howard",
"first_name": "Jace",
"last_name": "Howard",
"position": "G",
"primary_position": "NA",
"jersey_number": "25",
"total": {
"games_played": 10,
"games_started": 0,
"minutes": 128,
"field_goals_made": 8,
"field_goals_att": 27,
"field_goals_pct": 0.296,
"two_points_made": 4,
"two_points_att": 12,
"two_points_pct": 0.333,
"three_points_made": 4,
"three_points_att": 15,
"three_points_pct": 0.267,
"blocked_att": 1,
"free_throws_made": 6,
"free_throws_att": 9,
"free_throws_pct": 0.667,
"offensive_rebounds": 4,
"defensive_rebounds": 14,
"rebounds": 18,
"assists": 4,
"turnovers": 5,
"assists_turnover_ratio": 0.8,
"steals": 1,
"blocks": 1,
"personal_fouls": 17,
"tech_fouls": 0,
"points": 26,
"flagrant_fouls": 0,
"ejections": 0,
"foulouts": 0,
"true_shooting_att": 30.96,
"true_shooting_pct": 0.42,
"efficiency": 23,
"field_goals_at_rim_made": 1,
"field_goals_at_rim_att": 1,
"field_goals_at_rim_pct": 1,
"field_goals_at_midrange_made": 2,
"field_goals_at_midrange_att": 5,
"field_goals_at_midrange_pct": 0.4,
"usage_pct": 14.35
},
"average": {
"minutes": 12.8,
"points": 2.6,
"off_rebounds": 0.4,
"def_rebounds": 1.4,
"rebounds": 1.8,
"assists": 0.4,
"steals": 0.1,
"blocks": 0.1,
"turnovers": 0.5,
"personal_fouls": 1.7,
"flagrant_fouls": 0,
"blocked_att": 0.1,
"field_goals_made": 0.8,
"field_goals_att": 2.7,
"three_points_made": 0.4,
"three_points_att": 1.5,
"free_throws_made": 0.6,
"free_throws_att": 0.9,
"two_points_made": 0.4,
"two_points_att": 1.2,
"efficiency": 2.3,
"true_shooting_att": 3.1
}
}
]
}
This data sample provides comprehensive statistics on Jace Howard's performance over 10 games. Key metrics include field goals made (8 out of 27 attempts), rebounds (18 total), assists (4), and points scored (26). His shooting percentages include a 29.6% field goal percentage, 33.3% for two-pointers, and 26.7% from three-point range. Additionally, he has contributed 1 block, 1 steal, and an overall efficiency rating of 23. The data also covers advanced metrics such as usage rate (14.35%) and true shooting percentage (42%), offering an in-depth view of his contributions both offensively and defensively.
Player Seasonal Stats Use Case: You can use this data to enhance a basketball-focused fantasy sports app by offering users real-time updates and detailed statistical insights on players like Jace Howard. With key performance metrics such as field goal percentage, points, rebounds, and assists, users can track players' contributions to their fantasy teams. This data allows users to make informed decisions about lineup changes, player acquisitions, and overall strategy, providing a competitive edge through comprehensive player stats and trends, such as shooting efficiency, minutes played, and overall performance metrics.
Accessing Player Career and Seasonal Statistics
You can also access both seasonal and career statistics for players via the Player Profile endpoint. This feed delivers player seasonal statistics for each season they have played, along with biographical details and draft information.
Note: For players who began their careers before the establishment of the API, some early career stats may not be available.
Accessing the Player Profile Feed:
- Get a Player ID: You can find player IDs using various endpoints, such as:
- Seasonal Statistics: Useful if you're already retrieving seasonal data and want comprehensive career statistics.
- Team Profile: Use this feed if you have a team ID and need player IDs. For a detailed guide on which feeds provide player data, check the NCAAMB API Map.
- Use the Player Profile Feed: Once you have a player ID, use it to access both seasonal and career statistics, providing a comprehensive overview of the player’s performance throughout their career.
Recommended Pull Frequency:
- The Player Profile feed is updated on a five minute timer after a game is moved to
closed
- To receive the fastest updates, call the feed five to ten minutes after a game is moved to
closed
. - Otherwise, utilize this feed on an as needed basis.
- The TTL/Cache is 120 seconds.
Example:
{
"id": "06facdf9-7f9c-419b-a895-1c441609e1c3",
"status": "ACT",
"full_name": "Jace Howard",
"first_name": "Jace",
"last_name": "Howard",
"abbr_name": "J.Howard",
"height": 80,
"weight": 225,
"position": "G",
"primary_position": "NA",
"jersey_number": "25",
"experience": "JR",
"birth_place": "Miami, FL, USA",
"updated": "2023-09-05T18:44:05Z",
"league": {
"id": "cd4268ee-07aa-4c4d-a435-ec44ad2c76cb",
"name": "NCAA MEN",
"alias": "NCAAM"
},
"team": {
"id": "bdc2561d-f603-4fab-a262-f1d2af462277",
"name": "Wolverines",
"market": "Michigan",
"alias": "MICH"
},
"seasons": [
{
"id": "05b9e2ec-8916-432f-8a56-6579eb825dd0",
"year": 2023,
"type": "REG",
"teams": [
{
"id": "bdc2561d-f603-4fab-a262-f1d2af462277",
"name": "Wolverines",
"market": "Michigan",
"alias": "MICH",
"total": {
"games_played": 10,
"games_started": 0,
"minutes": 128,
"field_goals_made": 8,
"field_goals_att": 27,
"field_goals_pct": 0.296,
"two_points_made": 4,
"two_points_att": 12,
"two_points_pct": 0.333,
"three_points_made": 4,
"three_points_att": 15,
"three_points_pct": 0.267,
"blocked_att": 1,
"free_throws_made": 6,
"free_throws_att": 9,
"free_throws_pct": 0.667,
"offensive_rebounds": 4,
"defensive_rebounds": 14,
"rebounds": 18,
"assists": 4,
"turnovers": 5,
"assists_turnover_ratio": 0.8,
"steals": 1,
"blocks": 1,
"personal_fouls": 17,
"tech_fouls": 0,
"points": 26,
"flagrant_fouls": 0,
"ejections": 0,
"foulouts": 0,
"true_shooting_att": 30.96,
"true_shooting_pct": 0.42,
"efficiency": 23,
"field_goals_at_rim_made": 1,
"field_goals_at_rim_att": 1,
"field_goals_at_rim_pct": 1,
"field_goals_at_midrange_made": 2,
"field_goals_at_midrange_att": 5,
"field_goals_at_midrange_pct": 0.4,
"usage_pct": 14.35
},
"average": {
"minutes": 12.8,
"points": 2.6,
"off_rebounds": 0.4,
"def_rebounds": 1.4,
"rebounds": 1.8,
"assists": 0.4,
"steals": 0.1,
"blocks": 0.1,
"turnovers": 0.5,
"personal_fouls": 1.7,
"flagrant_fouls": 0,
"blocked_att": 0.1,
"field_goals_made": 0.8,
"field_goals_att": 2.7,
"three_points_made": 0.4,
"three_points_att": 1.5,
"free_throws_made": 0.6,
"free_throws_att": 0.9,
"two_points_made": 0.4,
"two_points_att": 1.2,
"efficiency": 2.3,
"true_shooting_att": 3.1
}
}
]
},
{
"id": "7aa53f56-bde6-441f-966b-161ecd993de5",
"year": 2023,
"type": "CT",
"teams": [
{
"id": "bdc2561d-f603-4fab-a262-f1d2af462277",
"name": "Wolverines",
"market": "Michigan",
"alias": "MICH",
"total": {
"games_played": 1,
"games_started": 0,
"minutes": 22,
"field_goals_made": 0,
"field_goals_att": 5,
"field_goals_pct": 0,
"two_points_made": 0,
"two_points_att": 3,
"two_points_pct": 0,
"three_points_made": 0,
"three_points_att": 2,
"three_points_pct": 0,
"blocked_att": 0,
"free_throws_made": 2,
"free_throws_att": 3,
"free_throws_pct": 0.667,
"offensive_rebounds": 2,
"defensive_rebounds": 5,
"rebounds": 7,
"assists": 0,
"turnovers": 2,
"assists_turnover_ratio": 0,
"steals": 0,
"blocks": 1,
"personal_fouls": 3,
"tech_fouls": 0,
"points": 2,
"flagrant_fouls": 0,
"ejections": 0,
"foulouts": 0,
"true_shooting_att": 6.32,
"true_shooting_pct": 0.158,
"efficiency": 2,
"field_goals_at_rim_made": 0,
"field_goals_at_rim_att": 0,
"field_goals_at_rim_pct": 0,
"field_goals_at_midrange_made": 0,
"field_goals_at_midrange_att": 0,
"field_goals_at_midrange_pct": 0,
"usage_pct": 18.93
},
"average": {
"minutes": 22,
"points": 2,
"off_rebounds": 2,
"def_rebounds": 5,
"rebounds": 7,
"assists": 0,
"steals": 0,
"blocks": 1,
"turnovers": 2,
"personal_fouls": 3,
"flagrant_fouls": 0,
"blocked_att": 0,
"field_goals_made": 0,
"field_goals_att": 5,
"three_points_made": 0,
"three_points_att": 2,
"free_throws_made": 2,
"free_throws_att": 3,
"two_points_made": 0,
"two_points_att": 3,
"efficiency": 2,
"true_shooting_att": 6.32
}
}
]
},
{
"id": "415ae0cb-38dd-4ace-8f22-fb6015b39006",
"year": 2022,
"type": "REG",
"teams": [
{
"id": "bdc2561d-f603-4fab-a262-f1d2af462277",
"name": "Wolverines",
"market": "Michigan",
"alias": "MICH",
"total": {
"games_played": 30,
"games_started": 0,
"minutes": 234,
"field_goals_made": 12,
"field_goals_att": 33,
"field_goals_pct": 0.364,
"two_points_made": 5,
"two_points_att": 16,
"two_points_pct": 0.313,
"three_points_made": 7,
"three_points_att": 17,
"three_points_pct": 0.412,
"blocked_att": 1,
"free_throws_made": 6,
"free_throws_att": 13,
"free_throws_pct": 0.462,
"offensive_rebounds": 7,
"defensive_rebounds": 19,
"rebounds": 26,
"assists": 4,
"turnovers": 8,
"assists_turnover_ratio": 0.5,
"steals": 2,
"blocks": 2,
"personal_fouls": 29,
"tech_fouls": 0,
"points": 37,
"flagrant_fouls": 0,
"ejections": 0,
"foulouts": 0,
"true_shooting_att": 38.72,
"true_shooting_pct": 0.478,
"efficiency": 35,
"field_goals_at_rim_made": 0,
"field_goals_at_rim_att": 0,
"field_goals_at_rim_pct": 0,
"field_goals_at_midrange_made": 0,
"field_goals_at_midrange_att": 0,
"field_goals_at_midrange_pct": 0,
"usage_pct": 10.63
},
"average": {
"minutes": 7.8,
"points": 1.2,
"off_rebounds": 0.23,
"def_rebounds": 0.63,
"rebounds": 0.87,
"assists": 0.1,
"steals": 0.07,
"blocks": 0.07,
"turnovers": 0.27,
"personal_fouls": 0.97,
"flagrant_fouls": 0,
"blocked_att": 0.03,
"field_goals_made": 0.4,
"field_goals_att": 1.1,
"three_points_made": 0.23,
"three_points_att": 0.57,
"free_throws_made": 0.2,
"free_throws_att": 0.43,
"two_points_made": 0.17,
"two_points_att": 0.53,
"efficiency": 1.17,
"true_shooting_att": 1.29
}
}
]
}
]
}
The Player Profile data for Jace Howard provides a comprehensive overview of his performance across multiple seasons, detailing key statistics such as field goal percentage, rebounds, points, and blocks. For example, in the 2023 season, Howard played 10 games, averaging 12.8 minutes per game with a 29.6% field goal percentage and contributing 1.8 rebounds and 2.6 points per game. The profile also highlights his performance in specific scenarios, like his efficiency in midrange shots, three-pointers, and free throws. This detailed breakdown allows you to track Howard's development and contributions on the court, offering insights into his role and efficiency within the team over time.
Use Case:
When developing a college basketball application, you can leverage detailed player statistics to enhance scouting or recruitment tools for coaches and sports analysts. For instance, the app could feature a "Player Development Tracker" that visualizes a player's performance metrics across multiple seasons. This could include detailed stats such as shooting accuracy, rebounding, defensive contributions, and minutes played. Coaches and recruiters could use these insights to assess player growth, spot strengths or weaknesses, and make more informed decisions about player recruitment or game strategy adjustments.
Monitoring Seasonal Statistics with the Daily Change Log
The Daily Change Log is useful for monitoring adjustments to NCAAMB seasonal statistics. For instance, if a game statistic that affects seasonal totals is corrected, the log will record this update in its results node.
Steps:
- Identify Change Type: Spot any game IDs within the results node to signify changes in game-related data or statistics.
- Retrieve Detailed Data: Use the identified game IDs to pull additional details from relevant feeds such as Game Summary, Play-by-Play, or Game Boxscore, is recommended for its direct impact on seasonal statistics.
- Access the Seasonal Statistics feed: Use the team ID from the detailed data to retrieve information from the Seasonal Statistics feed.
- Verify Changes: Compare the newly retrieved data with previously stored records to confirm changes in statistics. Use the player ID to access the Player Profile feed for deeper analysis of player-specific updates.
Update Frequency
TTL / Cache: 300 seconds
Data Updates:
- Entries populate live for changes to teams, players, game statistics, schedules, and standings.
- Start time of the log is 05:00:00 UTC; end time is 04:59:59 UTC
Updated 2 months ago