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
      }
    ]
  }
}

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


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