Appearance
Possession Touches
The possession_touches section in the markings response contains an object for each individual player "possession touch" during the game.
Overview
A possession touch represents a continuous period where a single player has control of the ball, including dribbling. So they can take their hands off the ball during a possession touch, as long as nobody else touches it in between.
In other data sources these can be referred to simply as "touches", however we use the name "possession touch" to distinguish it from data that would indicate whether a player is touching the ball or not.
Sample Response
json
{
"markings": {
"possession_touches": [
{
"chance_id_ctg": "chance_51bfc1fda2cc0deb125bee9988859667",
"duration_sec": 0.78,
"end_game_clock": 718.0,
"end_he_frame": 167,
"end_loc_x": -309.77,
"end_loc_y": 84.92,
"end_wall_clock": "2025-12-23T01:10:37.24+00:00",
"game_id_nba": "0022500404",
"is_inbounds": false,
"num_dribbles": 0,
"outcome_ctg_id": "pass_ddcb210634b503b4b98c8f95610863b1",
"outcome_game_clock_seconds": 718,
"outcome_pbp_event_id": null,
"outcome_type": "pass",
"period": 1,
"player_id_nba": 1642948,
"possession_touch_id_ctg": "possession_touch_0ffa15a0b96c63c29b1d6041f60fb589",
"start_game_clock": 719.0,
"start_he_frame": 120,
"start_loc_x": -297.69,
"start_loc_y": 61.2,
"start_wall_clock": "2025-12-23T01:10:36.457+00:00",
"team_id_nba": 1610612742
}
]
}
}Fields
Identifiers
possession_touch_id_ctg
Type: string
CTG-generated unique ID for this possession touch
game_id_nba
Type: string
NBA game ID
team_id_nba
Type: integer
NBA team ID of the player's team
player_id_nba
Type: integer
NBA player ID of the player with the ball
chance_id_ctg
Type: string
CTG-generated chance ID that this possession touch belongs to. null if the touch could not be associated with a chance.
Timing
period
Type: integer
Period in which the possession touch occurred. Overtime would be period 5, double overtime period 6, etc.
start_he_frame
Type: integer
Hawk-Eye frame when the possession touch began.
end_he_frame
Type: integer
Hawk-Eye frame when the possession touch ended.
start_wall_clock
Type: string
UTC timestamp when the possession touch began.
end_wall_clock
Type: string
UTC timestamp when the possession touch ended.
start_game_clock
Type: float
Game clock (in seconds remaining in the period) when the possession touch began.
end_game_clock
Type: float
Game clock (in seconds remaining in the period) when the possession touch ended.
duration_sec
Type: float
Duration of the possession touch in seconds.
Context
is_inbounds
Type: boolean
true if this possession touch involves the player making an inbounds pass.
num_dribbles
Type: integer
Number of dribbles the player took during this possession touch. null if dribble count could not be determined.
start_loc_x
Type: float | Unit: inches
X coordinate of the player's centroid at the start of the touch. Positive X is toward one basket, negative X toward the other.
start_loc_y
Type: float | Unit: inches
Y coordinate of the player's centroid at the start of the touch. Positive Y is toward one sideline, negative Y toward the other.
end_loc_x
Type: float | Unit: inches
X coordinate of the player's centroid at the end of the touch.
end_loc_y
Type: float | Unit: inches
Y coordinate of the player's centroid at the end of the touch.
Outcome
These fields describe how the possession touch ended - what event concluded this player's time with the ball.
outcome_type
Type: string
The type of event that ended this possession touch. Possible values:
shot- Touch ended with a shot attemptpass- Touch ended with a pass to another playerturnover- Touch ended with a turnoverfoul- Touch ended due to a foulviolation- Touch ended due to a violationstoppage- Touch ended due to a game stoppageunknown- Could not determine how the touch ended
outcome_game_clock_seconds
Type: float
Game clock (in seconds remaining in the period) when the outcome event is recorded as occurring. null if the outcome type is unknown.
outcome_pbp_event_id
Type: integer
NBA Play-by-Play event ID associated with the outcome event. null if no PBP event is associated.
outcome_ctg_id
Type: string
CTG ID of the related event (e.g., shot ID, pass ID). null if not applicable or unknown.
