Skip to content

Deflections ​

The deflections section in the markings response contains an object for each time a defender touched the ball with a hand while the game clock is running (or which causes the clock to start running), where the ball is loose or the defensive touch knocks the ball loose.

Overview ​

The deflection markings include some situations which we might not typically think of as a deflection, for example:

  • "deflecting" the ball with two hands, like catching a pass as a steal
  • collecting loose balls, which might be the result of a prior deflection by the player or a teammate

It does not include touches with feet, legs, shoulders, or other body parts.

NOTE

Due to imprecision in finger tracking data, this data can have a higher error rate than other markings.

Sample Response ​

json
{
  "markings": {
    "deflections": [
      {
        "chance_id_ctg": "chance_4c33ded97f95174cc013b446c3981347",
        "context": "other",
        "def_player_id": 203076,
        "def_player_id_nba": 203076,
        "deflection_id_ctg": "deflection_b8126b816b292f3ad52049fe11477726",
        "deflection_touch_start_game_clock": 689,
        "deflection_touch_start_he_frame": 1911,
        "deflection_touch_start_shot_clock": 7,
        "deflection_touch_start_wall_clock": "2025-12-23T01:11:06.305+00:00",
        "game_id_nba": "0022500404",
        "is_high_hand_deflection": true,
        "location": "on_ball",
        "nba_game_id": "0022500404",
        "off_player_id": 1630180,
        "off_player_id_nba": 1630180,
        "offense_retains_possession": true,
        "outcome": "tipped_live_ball",
        "pass_id_ctg": null,
        "period": 1,
        "offensive_possession_touch_id_ctg": "possession_touch_5cc8c170e139e0fdfdf30fccfe15c0fc"
      }
    ]
  }
}

Fields ​

Identifiers ​

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.


deflection_id_ctg ​

Type: string

CTG-generated unique deflection ID


chance_id_ctg ​

Type: string

CTG chance ID


pass_id_ctg ​

Type: string

If context is pass, the CTG pass ID. null otherwise


offensive_possession_touch_id_ctg ​

Type: string | Nullable

CTG-generated ID for the offensive possession touch active during the deflection. null if no possession touch can be linked.


Participants ​

def_player_id_nba ​

Type: integer

NBA player ID of the defender who made the deflection


def_player_id deprecated ​

Type: integer

NBA player ID of the defender who made the deflection

Deprecated

Use def_player_id_nba instead. This field will be removed in a future version.


off_player_id_nba ​

Type: integer

NBA player ID of the offensive player who last touched ball. null for loose balls


off_player_id deprecated ​

Type: integer

NBA player ID of the offensive player who last touched ball. null for loose balls

Deprecated

Use off_player_id_nba instead. This field will be removed in a future version.


Timing ​

period ​

Type: integer

Period when the deflection occurred


deflection_touch_start_game_clock ​

Type: float

Game clock when defender first touched ball


deflection_touch_start_shot_clock ​

Type: float

Shot clock when defender first touched ball


deflection_touch_start_he_frame ​

Type: integer

Hawk-Eye frame when defender first touched ball


deflection_touch_start_wall_clock ​

Type: string

UTC timestamp when defender first touched ball


Context ​

context ​

Type: string

Game situation when deflection occurred:

  • pass: While offense was attempting to pass or just after pass was received
  • drive: While an offensive player was driving to the basket
  • during_offensive_touch: While offensive player was touching ball (not passing or driving)
  • other: Anything else, usually a loose ball situation

location ​

Type: string

Deflector's location/role when making the deflection (see values below)

  • on_ball: Guarding the passer/ball handler or right on the ball
  • loose_ball: Touching the ball while it is loose
  • passing_lane: Touching ball during a pass, not close to passer, receiver hasn't caught it
  • receiver: Deflecting the ball after the pass has been caught
  • help: When context is drive and deflector is not the ball handler's matchup

Outcome ​

outcome ​

Type: string

What happens as a result of the deflection:

  • tipped_live_ball: Deflector tips the ball and it remains live
  • caught_live_ball: Deflector catches the ball and it remains live
  • out_of_bounds: Ball goes out of bounds before anyone else touches it
  • foul: Deflector commits a foul during the deflection

offense_retains_possession ​

Type: boolean

true if offense keeps the ball (no turnover within 2 seconds), false otherwise


Deflection Style ​

is_high_hand_deflection ​

Type: boolean

true if deflection was made with hand up high in the air