STAT-API

NBA game_player_stats API

game_player_statsnba.game_player_stats
Each NBA player's stat line for each game — points, rebounds, assists, steals, blocks, shooting line, three-point line, free-throw line, plus-minus, and minutes played.
GET/api/v1/nba/game_player_stats
Requires one of: game_id or player_id — requests satisfying none of these return 400.
Parameters
game_idquerybigintoptional
Filter to a single game.
player_idquerybigintoptional
Filter to a single player — their full game log, newest first. Combine with game_date ranges to window it.
team_idquerybigintoptional
Filter by team.
game_datequeryintegeroptional
Filter by game day (YYYYMMDD integer, US Eastern). Range syntax: game_date__gte=, game_date__lte=, game_date__between=.
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 5000.
from_idquerybigintoptional
Return rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/nba/game_player_stats?game_id=1'
Responses
200game_player_stats rows matching the declared filter set, wrapped in { game_player_stats, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.application/json
Response Schema(113 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
game_id
bigint—
e.g. 122
player_id
bigint—
e.g. 75
team_id
bigint—
e.g. 17
abnormal_exit_clock
integer——
e.g. 0
abnormal_exit_period
integer——
e.g. 0
alley_oops
integer——
e.g. 0
and_ones
integer——
e.g. 0
assist_percentage
decimalnullable——
e.g. 0.0000
assist_ratio
decimalnullable——
e.g. 0.0000
assist_to_turnover
decimalnullable——
e.g. 0.0000
assists
integer——
e.g. 0
avg_dribbles_per_touch
decimalnullable——
e.g. 0.0000
avg_seconds_per_touch
decimalnullable——
e.g. 0.0000
backcourt_violations
integer——
e.g. 0
balls_stolen
integernullable——
e.g. 0
basket_interference_violations
integer——
e.g. 0
blocks
integer——
e.g. 0
box_outs
integernullable——
e.g. 0
carrying_palming_violations
integer——
e.g. 0
challenges_requested
integer——
e.g. 0
charges_taken
integernullable——
e.g. 0
comment
stringnullable——
e.g. — (all-null in sample)
competitive_minutes
decimal——
e.g. 0.0
contests
integernullable——
e.g. 1
defensive_rating
decimalnullable——
e.g. 100.0000
defensive_rebound_percentage
decimalnullable——
e.g. 0.0000
defensive_rebounds
integer——
e.g. 1
deflections
integernullable——
e.g. 1
double_doubles
integer——
e.g. 0
double_dribble_violations
integer——
e.g. 0
drives
integernullable——
e.g. 0
dunks
integer——
e.g. 0
effective_field_goal_percentage
decimalnullable——
e.g. 0.0000
ejections
integer——
e.g. 0
elbow_touches
integernullable——
e.g. 0
estimated_defensive_rating
decimalnullable——
e.g. 100.0000
estimated_net_rating
decimalnullable——
e.g. 0.0000
estimated_offensive_rating
decimalnullable——
e.g. 100.0000
estimated_pace
decimalnullable——
e.g. 84.7100
estimated_usage_percentage
decimalnullable——
e.g. 0.1670
fast_break_pts
integer——
e.g. 0
field_goal_percentage
decimalnullable——
e.g. 0.0000
field_goals_attempted
integer——
e.g. 5
field_goals_made
integer——
e.g. 1
foul_trouble_severity
integer——
e.g. 0
fouls
integer—Total fouls: personal_fouls + technical_fouls. Use personal_fouls, not this, to judge foul trouble — a player fouls out on 6 PERSONAL fouls and technicals do not count toward that.
e.g. 1
fouls_drawn
integer——
e.g. 0
free_throw_percentage
decimalnullable——
e.g. 0.0000
free_throws_attempted
integer——
e.g. 0
free_throws_made
integer——
e.g. 0
front_court_touches
integernullable——
e.g. 14
game_date
integer——
e.g. 20251112
garbage_time_minutes
decimal——
e.g. 0
goaltending_violations
integer——
e.g. 0
hockey_assists
integernullable——
e.g. 0
jump_balls_lost
integer——
e.g. 0
jump_balls_won
integer——
e.g. 0
lane_violations
integer——
e.g. 0
layups
integer——
e.g. 0
loose_balls_recovered
integernullable——
e.g. 0
minutes
decimal——
e.g. 31.7000
minutes_deviation_pct
decimal——
e.g. 0
net_rating
decimalnullable——
e.g. 0.0000
offensive_fouls
integer—Offensive fouls. A SUBSET of personal_fouls, not an addition to it.
e.g. 0
offensive_rating
decimalnullable——
e.g. 100.0000
offensive_rebound_percentage
decimalnullable——
e.g. 0.0000
offensive_rebounds
integer——
e.g. 0
paint_touches
integernullable——
e.g. 0
pass_percentage
decimalnullable——
e.g. 0.0000
passes
integernullable——
e.g. 18
passes_deflected
integernullable——
e.g. 0
personal_fouls
integer—Personal fouls only — the count a player fouls out on at 6. Includes offensive and flagrant fouls, which the NBA scores as personal fouls.
e.g. 1
player_impact_estimate
decimal——
e.g. 0.0000
plus_minus
integer——
e.g. 0
possessions
integer——
e.g. 53
post_touches
integernullable——
e.g. 0
potential_assists
integernullable——
e.g. 0
pts
integer——
e.g. 0
pts_per_elbow_touch
decimalnullable——
e.g. — (all-null in sample)
pts_per_paint_touch
decimalnullable——
e.g. — (all-null in sample)
pts_per_post_touch
decimalnullable——
e.g. — (all-null in sample)
pts_per_touch
decimalnullable——
e.g. 0.0000
put_backs
integer——
e.g. 0
rebound_percentage
decimalnullable——
e.g. 0.0000
rebounds
integer——
e.g. 2
role_anomalous_game
boolean——
Values:falsetrue
role_archetype
stringnullable——
Values:deep_benchco_starcore_starterrotationend_of_benchalphasixth_mantwo_way
role_archetype_confidence
decimal——
e.g. 0.6
rotation_context
stringnullable——
Values:normalgarbage_time_boostambiguous_anomalyblowout_restfoul_troublefoul_outinjury_exitdnp_coach
rotation_context_confidence
decimal——
e.g. 0.5
screen_assists
integernullable——
e.g. 0
second_chance_pts
integer——
e.g. 0
shot_clock_violations
integer——
e.g. 0
shot_contested_count
integernullable——
e.g. 1
shots_blocked
integernullable——
e.g. 0
start_position
stringnullable——
Values:GFC
steals
integer——
e.g. 0
substitutions_in
integer——
e.g. 0
substitutions_out
integer——
e.g. 0
technical_fouls
integer—Technical fouls. The one foul type the NBA keeps OUT of the personal count; 2 means ejection.
e.g. 0
three_point_percentage
decimalnullable——
e.g. 0.0000
three_pointers_attempted
integer——
e.g. 0
three_pointers_made
integer——
e.g. 0
time_of_possession
decimalnullable——
e.g. 0.2000
timeouts_called
integer——
e.g. 0
touches
integernullable——
e.g. 28
traveling_violations
integer——
e.g. 0
triple_doubles
integer——
e.g. 0
true_shooting_percentage
decimalnullable——
e.g. 0.0000
turnover_ratio
decimalnullable——
e.g. 0.0000
turnovers
integer——
e.g. 0
usage_percentage
decimalnullable——
e.g. 0.0000
GET/api/v1/nba/game_player_stats/{id}
Parameters
idpathbigintrequired
Primary key (id) of the game_player_stat row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  'https://api.stat-api.com/api/v1/nba/game_player_stats/{pk_value}'
Responses
200Single game_player_stat row.application/jsonshow example ▸
404Row not found.
Response Schema(113 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
game_id
bigint—
e.g. 122
player_id
bigint—
e.g. 75
team_id
bigint—
e.g. 17
abnormal_exit_clock
integer——
e.g. 0
abnormal_exit_period
integer——
e.g. 0
alley_oops
integer——
e.g. 0
and_ones
integer——
e.g. 0
assist_percentage
decimalnullable——
e.g. 0.0000
assist_ratio
decimalnullable——
e.g. 0.0000
assist_to_turnover
decimalnullable——
e.g. 0.0000
assists
integer——
e.g. 0
avg_dribbles_per_touch
decimalnullable——
e.g. 0.0000
avg_seconds_per_touch
decimalnullable——
e.g. 0.0000
backcourt_violations
integer——
e.g. 0
balls_stolen
integernullable——
e.g. 0
basket_interference_violations
integer——
e.g. 0
blocks
integer——
e.g. 0
box_outs
integernullable——
e.g. 0
carrying_palming_violations
integer——
e.g. 0
challenges_requested
integer——
e.g. 0
charges_taken
integernullable——
e.g. 0
comment
stringnullable——
e.g. — (all-null in sample)
competitive_minutes
decimal——
e.g. 0.0
contests
integernullable——
e.g. 1
defensive_rating
decimalnullable——
e.g. 100.0000
defensive_rebound_percentage
decimalnullable——
e.g. 0.0000
defensive_rebounds
integer——
e.g. 1
deflections
integernullable——
e.g. 1
double_doubles
integer——
e.g. 0
double_dribble_violations
integer——
e.g. 0
drives
integernullable——
e.g. 0
dunks
integer——
e.g. 0
effective_field_goal_percentage
decimalnullable——
e.g. 0.0000
ejections
integer——
e.g. 0
elbow_touches
integernullable——
e.g. 0
estimated_defensive_rating
decimalnullable——
e.g. 100.0000
estimated_net_rating
decimalnullable——
e.g. 0.0000
estimated_offensive_rating
decimalnullable——
e.g. 100.0000
estimated_pace
decimalnullable——
e.g. 84.7100
estimated_usage_percentage
decimalnullable——
e.g. 0.1670
fast_break_pts
integer——
e.g. 0
field_goal_percentage
decimalnullable——
e.g. 0.0000
field_goals_attempted
integer——
e.g. 5
field_goals_made
integer——
e.g. 1
foul_trouble_severity
integer——
e.g. 0
fouls
integer—Total fouls: personal_fouls + technical_fouls. Use personal_fouls, not this, to judge foul trouble — a player fouls out on 6 PERSONAL fouls and technicals do not count toward that.
e.g. 1
fouls_drawn
integer——
e.g. 0
free_throw_percentage
decimalnullable——
e.g. 0.0000
free_throws_attempted
integer——
e.g. 0
free_throws_made
integer——
e.g. 0
front_court_touches
integernullable——
e.g. 14
game_date
integer——
e.g. 20251112
garbage_time_minutes
decimal——
e.g. 0
goaltending_violations
integer——
e.g. 0
hockey_assists
integernullable——
e.g. 0
jump_balls_lost
integer——
e.g. 0
jump_balls_won
integer——
e.g. 0
lane_violations
integer——
e.g. 0
layups
integer——
e.g. 0
loose_balls_recovered
integernullable——
e.g. 0
minutes
decimal——
e.g. 31.7000
minutes_deviation_pct
decimal——
e.g. 0
net_rating
decimalnullable——
e.g. 0.0000
offensive_fouls
integer—Offensive fouls. A SUBSET of personal_fouls, not an addition to it.
e.g. 0
offensive_rating
decimalnullable——
e.g. 100.0000
offensive_rebound_percentage
decimalnullable——
e.g. 0.0000
offensive_rebounds
integer——
e.g. 0
paint_touches
integernullable——
e.g. 0
pass_percentage
decimalnullable——
e.g. 0.0000
passes
integernullable——
e.g. 18
passes_deflected
integernullable——
e.g. 0
personal_fouls
integer—Personal fouls only — the count a player fouls out on at 6. Includes offensive and flagrant fouls, which the NBA scores as personal fouls.
e.g. 1
player_impact_estimate
decimal——
e.g. 0.0000
plus_minus
integer——
e.g. 0
possessions
integer——
e.g. 53
post_touches
integernullable——
e.g. 0
potential_assists
integernullable——
e.g. 0
pts
integer——
e.g. 0
pts_per_elbow_touch
decimalnullable——
e.g. — (all-null in sample)
pts_per_paint_touch
decimalnullable——
e.g. — (all-null in sample)
pts_per_post_touch
decimalnullable——
e.g. — (all-null in sample)
pts_per_touch
decimalnullable——
e.g. 0.0000
put_backs
integer——
e.g. 0
rebound_percentage
decimalnullable——
e.g. 0.0000
rebounds
integer——
e.g. 2
role_anomalous_game
boolean——
Values:falsetrue
role_archetype
stringnullable——
Values:deep_benchco_starcore_starterrotationend_of_benchalphasixth_mantwo_way
role_archetype_confidence
decimal——
e.g. 0.6
rotation_context
stringnullable——
Values:normalgarbage_time_boostambiguous_anomalyblowout_restfoul_troublefoul_outinjury_exitdnp_coach
rotation_context_confidence
decimal——
e.g. 0.5
screen_assists
integernullable——
e.g. 0
second_chance_pts
integer——
e.g. 0
shot_clock_violations
integer——
e.g. 0
shot_contested_count
integernullable——
e.g. 1
shots_blocked
integernullable——
e.g. 0
start_position
stringnullable——
Values:GFC
steals
integer——
e.g. 0
substitutions_in
integer——
e.g. 0
substitutions_out
integer——
e.g. 0
technical_fouls
integer—Technical fouls. The one foul type the NBA keeps OUT of the personal count; 2 means ejection.
e.g. 0
three_point_percentage
decimalnullable——
e.g. 0.0000
three_pointers_attempted
integer——
e.g. 0
three_pointers_made
integer——
e.g. 0
time_of_possession
decimalnullable——
e.g. 0.2000
timeouts_called
integer——
e.g. 0
touches
integernullable——
e.g. 28
traveling_violations
integer——
e.g. 0
triple_doubles
integer——
e.g. 0
true_shooting_percentage
decimalnullable——
e.g. 0.0000
turnover_ratio
decimalnullable——
e.g. 0.0000
turnovers
integer——
e.g. 0
usage_percentage
decimalnullable——
e.g. 0.0000