NBA game_player_props API
game_player_props
nba.game_player_propsNBA 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_propsList game_player_props for NBA
Requires one of:
game_id or player_id + season_id — requests satisfying none of these return 400.Parameters
game_idquerybigintoptionalFilter to a single game.
player_idquerybigintoptionalFilter to a single player. With season_id: the player's prop history across a season.
season_idquerybigintoptionalFilter by season.
operator_idquerybigintoptionalFilter 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.
categoryquerystringoptionalFilter 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_keyquerystringoptionalFilter 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 50Page size. Defaults to 50; max 5000.
from_idquerybigintoptionalReturn 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/jsonResponse Schema(18 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
game_id | bigint | — e.g. 126 | |
operator_id | bigint | Usually consensus e.g. 6 | |
player_id | bigint | — e.g. 157 | |
season_id | bigint | Denormalized 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}Get a single game_player_prop by id
Parameters
idpathbigintrequiredPrimary 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 ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
game_id | bigint | — e.g. 126 | |
operator_id | bigint | Usually consensus e.g. 6 | |
player_id | bigint | — e.g. 157 | |
season_id | bigint | Denormalized 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 |