Appearance
Dribbles
The dribbles section in the markings response contains individual dribble events with handedness, timing, and ball height information.
Overview
Each record represents a single dribble—from when the ball leaves the player's hand to when they touch it again. Occassionally, there are plays that are unclear whether they are dribbles or uncontrolled bouncing of the ball (e.g. a deflection of a pass onto the ground and then picking the ball up).
NOTE
For the purpose of this data set, a dribble is defined as a player having two consecutive touches of the ball with the ball hitting the ground in between. If a dribble is stolen or deflected and the offensive player doesn't recover the ball, that attempted dribble will not be included in this data set.
Sample Response
json
{
"markings": {
"dribbles": [
{
"chance_id_ctg": "chance_51bfc1fda2cc0deb125bee9988859667",
"did_switch_hands": false,
"dribble_end_hand": "left",
"dribble_end_height_in": 22.19,
"dribble_hand": "left",
"dribble_id_ctg": "dribble_f00be85fa245d2860c8f25018a840e62",
"dribble_start_height_in": 23.26,
"end_game_clock": 717,
"end_he_frame": 252,
"end_shot_clock": 22,
"end_wall_clock": "2025-12-23T01:10:38.473+00:00",
"game_id_nba": "0022500404",
"nba_game_id": "0022500404",
"nba_player_id": 1642843,
"period": 1,
"player_id_nba": 1642843,
"start_game_clock": 718,
"start_he_frame": 241,
"start_shot_clock": 23,
"start_wall_clock": "2025-12-23T01:10:37.473+00:00"
}
]
}
}Fields
Identifiers
dribble_id_ctg
Type: string
CTG-generated unique identifier for this dribble event
game_id_nba
Type: string
NBA game ID
nba_game_id deprecated
Type: string
NBA game ID
Deprecated
Use game_id_nba instead. This field will be removed in a future version.
player_id_nba
Type: integer
NBA player ID of the dribbler
nba_player_id deprecated
Type: integer
NBA player ID of the dribbler
Deprecated
Use player_id_nba instead. This field will be removed in a future version.
chance_id_ctg
Type: string
CTG chance ID. null if the dribble doesn't fall within any chance window (which could occur due to a data error, e.g. the chances data not having a correct start and end frame)
Timing
Period
period
Type: integer
Period in which the dribble occurred
Start (Ball Leaves Hand)
start_game_clock
Type: float
Game clock (seconds remaining) when ball left dribbler's hands
start_shot_clock
Type: float
Shot clock when ball left hands
start_he_frame
Type: integer
Hawk-Eye frame when ball left hands
start_wall_clock
Type: string
UTC timestamp when ball left hands
End (Ball Touched Again)
end_game_clock
Type: float
Game clock when ball is touched again by dribbler
end_shot_clock
Type: float
Shot clock when ball touched again
end_he_frame
Type: integer
Hawk-Eye frame when ball touched again
end_wall_clock
Type: string
UTC timestamp when ball touched again
Handedness
dribble_hand
Type: string
right or left — which hand touched the ball last before the dribble
dribble_end_hand
Type: string
right or left — which hand touched the ball first after it hit ground
did_switch_hands
Type: boolean
true if dribble_end_hand differs from dribble_hand (e.g. a crossover dribble)
Ball Height
dribble_start_height_in
Type: float | Unit: inches
Ball height when leaving the player's hand
dribble_end_height_in
Type: float | Unit: inches
Ball height when player touches it again
