STAT-API

NBA game_player_props API

game_player_propsnba.game_player_props
NBA player prop bets for each game — points, rebounds, assists, threes made, steals, blocks, and other player-statistic markets offered by sportsbooks.
GET/api/v1/nba/game_player_props
Requires one of: game_id or player_id + season_id — requests satisfying none of these return 400.
Parameters
game_idquerybigintoptional
Filter to a single game.
player_idquerybigintoptional
Filter to a single player. With season_id: the player's prop history across a season.
season_idquerybigintoptional
Filter by season.
operator_idquerybigintoptional
Filter by sportsbook. Historical rows are operator 6 (Consensus); per-book rows (1 DraftKings, 2 FanDuel, 1683 Pinnacle, 1684 BetMGM, 1685 Caesars, 1686 BetRivers, 1687 ESPN BET) begin 2026-05.
categoryquerystringoptional
Filter by prop category (points, rebounds, assists, pra, etc.). Values: assists, blocks, double_double, points, pts_assists, pts_rebounds, pts_rebounds_assists, rebounds, rebounds_assists, steals, steals_blocks, three_pointers_made, triple_double, turnovers.
market_keyquerystringoptional
Filter by raw market key (e.g., player_points). Values: player_assists, player_blocks, player_blocks_steals, player_double_double, player_points, player_points_assists, player_points_rebounds, player_points_rebounds_assists, player_rebounds, player_rebounds_assists, player_steals, player_threes, player_triple_double, player_turnovers.
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_props?game_id=1'
Responses
200game_player_props rows matching the declared filter set, wrapped in { game_player_props, 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(18 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
game_id
bigint—
e.g. 126
operator_id
bigintUsually consensus
e.g. 6
player_id
bigint—
e.g. 157
season_id
bigintDenormalized for efficient season-level queries
e.g. 2025
book_count
integer—Number of curated books contributing to this consensus value
e.g. 3
captured_at
timestamptz—When this snapshot was captured
e.g. 2025-10-22T04:00:00.000Z
category
string—Canonical category (points, rebounds, assists, pra, etc.)
Values:pointsreboundsthree_pointers_madepts_reboundsdouble_doubleassistspts_rebounds_assistsrebounds_assistspts_assiststriple_doubleblockssteals
is_opening
boolean—True if this is the first captured line for this player/market
e.g. false
line
decimalnullable—Prop line for over/under markets (e.g., 24.5)
e.g. 1.5
market_key
string—Raw market key from source API (e.g., player_points)
Values:player_pointsplayer_reboundsplayer_threesplayer_points_reboundsplayer_double_doubleplayer_assistsplayer_points_rebounds_…player_rebounds_assistsplayer_points_assistsplayer_triple_doubleplayer_blocksplayer_steals
no_odds
integernullable—American odds for no
e.g. -10000
outcome_type
string—ou | yes_no
Values:ouyes_no
over_odds
integernullable—American odds for over
e.g. -120
period_code
stringnullable—Optional period code (Q1, 1H)
e.g. — (all-null in sample)
subcategory
stringnullable—Optional subtype (alternate, boosted, etc.)
e.g. — (all-null in sample)
under_odds
integernullable—American odds for under
e.g. -110
yes_odds
integernullable—American odds for yes
e.g. 1100
GET/api/v1/nba/game_player_props/{id}
Parameters
idpathbigintrequired
Primary key (id) of the game_player_prop 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_props/{pk_value}'
Responses
200Single game_player_prop row.application/jsonshow example ▸
404Row not found.
Response Schema(18 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
game_id
bigint—
e.g. 126
operator_id
bigintUsually consensus
e.g. 6
player_id
bigint—
e.g. 157
season_id
bigintDenormalized for efficient season-level queries
e.g. 2025
book_count
integer—Number of curated books contributing to this consensus value
e.g. 3
captured_at
timestamptz—When this snapshot was captured
e.g. 2025-10-22T04:00:00.000Z
category
string—Canonical category (points, rebounds, assists, pra, etc.)
Values:pointsreboundsthree_pointers_madepts_reboundsdouble_doubleassistspts_rebounds_assistsrebounds_assistspts_assiststriple_doubleblockssteals
is_opening
boolean—True if this is the first captured line for this player/market
e.g. false
line
decimalnullable—Prop line for over/under markets (e.g., 24.5)
e.g. 1.5
market_key
string—Raw market key from source API (e.g., player_points)
Values:player_pointsplayer_reboundsplayer_threesplayer_points_reboundsplayer_double_doubleplayer_assistsplayer_points_rebounds_…player_rebounds_assistsplayer_points_assistsplayer_triple_doubleplayer_blocksplayer_steals
no_odds
integernullable—American odds for no
e.g. -10000
outcome_type
string—ou | yes_no
Values:ouyes_no
over_odds
integernullable—American odds for over
e.g. -120
period_code
stringnullable—Optional period code (Q1, 1H)
e.g. — (all-null in sample)
subcategory
stringnullable—Optional subtype (alternate, boosted, etc.)
e.g. — (all-null in sample)
under_odds
integernullable—American odds for under
e.g. -110
yes_odds
integernullable—American odds for yes
e.g. 1100