Skip to content

Free Throws ​

The free_throws section in the markings response contains shooting mechanics data for every free throw attempt, similar to jump shot data but without jump-related fields.

Overview ​

Free throw mechanics data mirrors jump shot mechanics data in structure, with checkpoints, ball position, timing, and joint angle data. Since players typically don't jump during free throws, the jump-related checkpoints and metrics are excluded.

Sample Response ​

json
{
  "markings": {
    "free_throws": [
      {
        "ball_height_relative_to_neck_at_min_hips_in": 4.14,
        "ball_in_hands_sec": 1.1,
        "ball_in_hands_to_min_hips_sec": 0.67,
        "ball_release_height_in": 99.09,
        "ball_velocity_after_release_inches_per_sec": 244.28,
        "ball_velocity_min_ball_to_set_inches_per_sec": 51.11,
        "ball_velocity_set_to_release_inches_per_sec": 94.52,
        "distance_to_center_of_rim_2d": 7.03,
        "elbow_relative_to_ball_at_release_forward_back_inches": 2.65,
        "elbow_relative_to_ball_at_release_side_to_side_inches": 2.94,
        "elbow_relative_to_ball_at_set_forward_back_inches": 11.16,
        "elbow_relative_to_ball_at_set_side_to_side_inches": 5.77,
        "entry_angle": 42.1,
        "entry_speed_inches_per_sec": 209.49,
        "first_ball_in_hands_he_frame": 56383,
        "first_ball_in_hands_wall_clock": "2025-12-23T01:26:14.201+00:00",
        "first_frame_non_shooting_wrist_below_eye": 56616,
        "first_frame_shooting_wrist_below_eye": 56622,
        "first_non_shooting_wrist_below_eye_after_release_he_frame": 56616,
        "first_non_shooting_wrist_below_eye_after_release_wall_clock": "2025-12-23T01:26:18.084+00:00",
        "first_shooting_wrist_below_eye_after_release_he_frame": 56622,
        "first_shooting_wrist_below_eye_after_release_wall_clock": "2025-12-23T01:26:18.184+00:00",
        "free_throw_id_ctg": "free_throw_b476f695d74a148454e2e4a0a84ae6b6",
        "free_three_num_in_trip": 1,
        "free_throws_attempted_in_trip": 2,
        "free_throws_made_in_trip": 1,
        "game_id_nba": "0022500404",
        "hand_closest_to_ball_on_release": "right",
        "hip_facing_angle_relative_to_rim_at_first_ball_in_hands": 15.5,
        "hip_facing_angle_relative_to_rim_at_min_hips": 21.89,
        "hip_facing_angle_relative_to_rim_at_release": 26.78,
        "hip_turn_from_min_hips_to_release": 4.89,
        "is_made": false,
        "last_ball_in_hands_he_frame": 56449,
        "last_ball_in_hands_wall_clock": "2025-12-23T01:26:15.301+00:00",
        "left_hip_bend_angle_at_min_ball": 132.11,
        "left_hip_bend_angle_at_min_hips": 142.79,
        "left_knee_bend_angle_at_min_ball": 143.45,
        "left_knee_bend_angle_at_min_hips": 126.6,
        "location_relative_to_hoop_center_x": 1.09,
        "location_relative_to_hoop_center_y": 6.94,
        "min_ball_height_ball_position_forward_to_back_in": 25.18,
        "min_ball_height_ball_position_side_to_side_in": 0.06,
        "min_ball_height_he_frame": 56383,
        "min_ball_height_relative_to_hips_in": 0.85,
        "min_ball_height_wall_clock": "2025-12-23T01:26:14.201+00:00",
        "min_hips_height_he_frame": 56423,
        "min_hips_height_wall_clock": "2025-12-23T01:26:14.868+00:00",
        "nba_game_id": "0022500404",
        "nba_player_id": 202691,
        "neck_relative_to_feet_midpoint_at_release_xy_distance_in": 2.61,
        "neck_relative_to_knee_midpoint_at_release_xy_distance_in": 3.02,
        "neck_relative_to_mid_hip_at_release_xy_distance_in": 2.42,
        "non_shooting_wrist_above_eye_after_release_sec": 2.88,
        "non_shooting_wrist_below_eye_wall_clock": "2025-12-23T01:26:18.084+00:00",
        "pbp_event_id": 113,
        "player_id_nba": 202691,
        "release_angle": 47.22,
        "release_frame": 56449,
        "release_height_above_min_ball_height_in": 59.91,
        "release_height_above_nose_in": 24.17,
        "release_point_ball_position_forward_to_back_in": 4.56,
        "release_point_ball_position_side_to_side_in": -3.27,
        "release_wall_clock": "2025-12-23T01:26:15.301+00:00",
        "right_hip_bend_angle_at_min_ball": 130.16,
        "right_hip_bend_angle_at_min_hips": 145.52,
        "right_knee_bend_angle_at_min_ball": 135.13,
        "right_knee_bend_angle_at_min_hips": 122.14,
        "rim_depth": 0.76,
        "rim_left_right": 6.99,
        "set_height_above_min_ball_height_in": 43.96,
        "set_point_ball_position_forward_to_back_in": -2.57,
        "set_point_ball_position_side_to_side_in": -1.79,
        "set_point_frame": 56438,
        "set_point_he_frame": 56438,
        "set_point_height_above_nose_in": 12.46,
        "set_point_height_in": 83.13,
        "set_point_wall_clock": "2025-12-23T01:26:15.118+00:00",
        "set_to_release_sec": 0.18,
        "shooting_elbow_flare_angle_at_set_point": 19.6,
        "shooting_elbow_shoulder_hip_angle_at_set_point": 121.8,
        "shooting_elbow_shoulder_hoop_angle_at_set_point": -2.09,
        "shooting_wrist_above_eye_after_release_sec": 2.78,
        "shooting_wrist_below_eye_wall_clock": "2025-12-23T01:26:18.184+00:00",
        "shooting_wrist_elbow_shoulder_angle_at_set_point": 88.6,
        "shoulder_facing_angle_relative_to_rim_at_first_ball_in_hands": 10.1,
        "shoulder_facing_angle_relative_to_rim_at_min_hips": 13.03,
        "shoulder_facing_angle_relative_to_rim_at_release": 24.02,
        "shoulder_turn_from_min_hips_to_release": 10.99,
        "vertical_shoulder_tilt_at_min_hips": -2.13,
        "wrist_relative_to_ball_at_release_forward_back_inches": 2.32,
        "wrist_relative_to_ball_at_release_side_to_side_inches": -0.24,
        "wrist_relative_to_ball_at_set_forward_back_inches": 5.26,
        "wrist_relative_to_ball_at_set_side_to_side_inches": 0.72
      }
    ]
  }
}

Fields ​

Identifiers ​

free_throw_id_ctg ​

Type: string

CTG-generated unique identifier for this free throw 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 shooter


nba_player_id deprecated ​

Type: integer

NBA player ID of the shooter

Deprecated

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


pbp_event_id ​

Type: integer

Play-by-play event ID (i.e. NGSS ID) for this free throw

Outcome ​

is_made ​

Type: boolean

true if the free throw was made


free_three_num_in_trip ​

Type: integer

Which free throw this was within its trip. For example, the first free throw in a two-shot trip is 1, and the second is 2.


free_throws_made_in_trip ​

Type: integer

Total number of made free throws in the free throw trip this free throw belongs to


free_throws_attempted_in_trip ​

Type: integer

Total number of attempted free throws in the free throw trip this free throw belongs to


Checkpoints ​

Fields ending in _he_frame are Hawk-Eye frame numbers (60 FPS), and corresponding _wall_clock fields are UTC timestamps.

first_ball_in_hands_he_frame ​

Type: integer

First frame where shooter has both hands on the ball continuously until release

NOTE

This frame may be well before the actual shooting motion if the player has the ball in both hands the entire time. For example, if the shooter catches and holds the ball for a while and then goes into their shooting motion, this frame would be multiple seconds before the shooting motion begins.


first_ball_in_hands_wall_clock ​

Type: string

UTC timestamp of the above frame


min_ball_height_he_frame ​

Type: integer

Frame where ball is at lowest height before upward motion into shot


min_ball_height_wall_clock ​

Type: string

UTC timestamp of the above frame


min_hips_height_he_frame ​

Type: integer

Frame where mid hips are at lowest height before upward motion


min_hips_height_wall_clock ​

Type: string

UTC timestamp of the above frame


set_point_he_frame ​

Type: integer

Our estimate for the "set point" of the shot. We define this as the point in which the ball is furthest back away from the rim before it starts going forward towards the rim.


set_point_frame deprecated ​

Type: integer

Our estimate for the "set point" of the shot

Deprecated

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


set_point_wall_clock ​

Type: string

UTC timestamp of the above frame


last_ball_in_hands_he_frame ​

Type: integer

Our estimate for the "release point" of the shot. This is the first frame where we are confident the ball is not touching either hand.


release_frame deprecated ​

Type: integer

Our estimate for the "release point" of the shot

Deprecated

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


last_ball_in_hands_wall_clock ​

Type: string

UTC timestamp of the above frame


release_wall_clock deprecated ​

Type: string

UTC timestamp of the above frame

Deprecated

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


first_shooting_wrist_below_eye_after_release_he_frame ​

Type: integer

First frame where shooting wrist drops below eye level after release


first_frame_shooting_wrist_below_eye deprecated ​

Type: integer

First frame where shooting wrist drops below eye level after release

Deprecated

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


first_shooting_wrist_below_eye_after_release_wall_clock ​

Type: string

UTC timestamp of the above frame


shooting_wrist_below_eye_wall_clock deprecated ​

Type: string

UTC timestamp of the above frame

Deprecated

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


first_non_shooting_wrist_below_eye_after_release_he_frame ​

Type: integer

First frame where non-shooting wrist drops below eye level after release


first_frame_non_shooting_wrist_below_eye deprecated ​

Type: integer

First frame where non-shooting wrist drops below eye level after release

Deprecated

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


first_non_shooting_wrist_below_eye_after_release_wall_clock ​

Type: string

UTC timestamp of the above frame


non_shooting_wrist_below_eye_wall_clock deprecated ​

Type: string

UTC timestamp of the above frame

Deprecated

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


Shot Mechanics ​

General Metrics ​

hand_closest_to_ball_on_release ​

Type: string

Whether the left or right hand is closer to the center of the ball at release. This is almost always the shooting hand of the shooter, so it is a good way to filter these metrics based on the shooter's handedness.


release_angle ​

Type: float | Unit: degrees

The angle the ball is released at from the shooter's hands, in degrees. 90 degrees would be straight up in the air, 0 degrees would be in a straight line parallel to the ground. This is calculated between the release frame and 1/6th of a second later.

Ball Position ​

min_ball_height_relative_to_hips_in ​

Type: float | Unit: inches

How many inches above the shooter's mid hip joint the ball is at the min_ball_height_he_frame, i.e. when the ball is at its lowest point before the upward motion into the shot.


ball_release_height_in ​

Type: float | Unit: inches

Ball height above ground at release


release_height_above_nose_in ​

Type: float | Unit: inches

Ball height above shooter's nose at release


set_point_height_in ​

Type: float | Unit: inches

Ball height above ground at set point


set_point_height_above_nose_in ​

Type: float | Unit: inches

Ball height above shooter's nose at set point


ball_height_relative_to_neck_at_min_hips_in ​

Type: float | Unit: inches

How many inches the ball is above the neck at the min_hips_height_he_frame, when the hips are at their lowest point before the upward motion into the shot.


release_height_above_min_ball_height_in ​

Type: float | Unit: inches

How many inches the ball is released above the height of the ball at the min_ball_height_he_frame, i.e. when the ball is at its lowest point before the upward motion into the shot.


set_height_above_min_ball_height_in ​

Type: float | Unit: inches

How much higher the ball is at the set point vs. the min_ball_height_he_frame.

Ball Position (Side to Side) ​

Positive = left of nose, negative = right.

set_point_ball_position_side_to_side_in ​

Type: float | Unit: inches

How many inches the ball is to the left or right of the nose at the set point. Positive values are to the left, negative values to the right.


min_ball_height_ball_position_side_to_side_in ​

Type: float | Unit: inches

How many inches the ball is to the left or right of the nose at the min_ball_height_he_frame. Positive values are to the left, negative values to the right.


release_point_ball_position_side_to_side_in ​

Type: float | Unit: inches

How many inches the ball is to the left or right of the nose at release. Positive values are to the left, negative values to the right.

Ball Position (Forward to Back) ​

set_point_ball_position_forward_to_back_in ​

Type: float | Unit: inches

Ball distance in front of nose at set point


min_ball_height_ball_position_forward_to_back_in ​

Type: float | Unit: inches

Ball distance in front of nose at min ball height


release_point_ball_position_forward_to_back_in ​

Type: float | Unit: inches

Ball distance in front of nose at release


Shot Timing ​

ball_in_hands_sec ​

Type: float | Unit: seconds

Duration from first ball in hands to release


set_to_release_sec ​

Type: float | Unit: seconds

Duration from set point to release


ball_in_hands_to_min_hips_sec ​

Type: float | Unit: seconds

Duration from first ball in hands to min hips


shooting_wrist_above_eye_after_release_sec ​

Type: float | Unit: seconds

How many seconds the shooting hand remained above the shooter's eye level after release. This can help with measuring a player holding their follow through.


non_shooting_wrist_above_eye_after_release_sec ​

Type: float | Unit: seconds

How many seconds the non-shooting hand (aka guide hand) remained above the shooter's eye level after release.


Ball Velocity ​

ball_velocity_min_ball_to_set_inches_per_sec ​

Type: float | Unit: in/sec

How many inches the ball traveled from the min_ball_height_he_frame to the set point divided by how many seconds elapsed in that time.


ball_velocity_set_to_release_inches_per_sec ​

Type: float | Unit: in/sec

How many inches the ball traveled from the set point to release divided by how many seconds elapsed in that time.


ball_velocity_after_release_inches_per_sec ​

Type: float | Unit: in/sec

How many inches the ball traveled from release to 1/6th of a second later divided by how many seconds elapsed in that time.


Joint Angles ​

Shoulder Tilt ​

vertical_shoulder_tilt_at_min_hips ​

Type: float | Unit: degrees

A measurement of how tilted to the right or left the shoulders are at the min_hips_height_he_frame. 0 degrees means parallel to the ground, 90 degrees would mean the shoulders are stacked vertically, one on top of the other (i.e. the player is sideways in the air). Negative values mean the right shoulder is higher than the left, positive values mean the left shoulder is higher than the right.

Hip Facing (relative to rim) ​

0° = facing rim, 90° = facing left of rim, -90° = facing right.

hip_facing_angle_relative_to_rim_at_first_ball_in_hands ​

Type: float | Unit: degrees

Hip angle at first ball in hands


hip_facing_angle_relative_to_rim_at_min_hips ​

Type: float | Unit: degrees

Hip angle at min hips


hip_facing_angle_relative_to_rim_at_release ​

Type: float | Unit: degrees

Hip angle at release


hip_turn_from_min_hips_to_release ​

Type: float | Unit: degrees

The difference in the hip facing angle from the min_hips_height_he_frame to release. A positive number means the player rotated to the left, a negative number means they rotated to the right.

Shoulder Facing (relative to rim) ​

shoulder_facing_angle_relative_to_rim_at_first_ball_in_hands ​

Type: float | Unit: degrees

Shoulder angle at first ball in hands


shoulder_facing_angle_relative_to_rim_at_min_hips ​

Type: float | Unit: degrees

Shoulder angle at min hips


shoulder_facing_angle_relative_to_rim_at_release ​

Type: float | Unit: degrees

Shoulder angle at release


shoulder_turn_from_min_hips_to_release ​

Type: float | Unit: degrees

The difference in the shoulder facing angle from the min_hips_height_he_frame to release. A positive number means the player rotated to the left, a negative number means they rotated to the right.

Knee Bend ​

Angle formed by hip, knee, and ankle.

left_knee_bend_angle_at_min_hips ​

Type: float | Unit: degrees

Left knee angle at min hips


left_knee_bend_angle_at_min_ball ​

Type: float | Unit: degrees

Left knee angle at min ball height


right_knee_bend_angle_at_min_hips ​

Type: float | Unit: degrees

Right knee angle at min hips


right_knee_bend_angle_at_min_ball ​

Type: float | Unit: degrees

Right knee angle at min ball height

Hip Bend ​

Angle formed by shoulder, hip, and knee.

left_hip_bend_angle_at_min_hips ​

Type: float | Unit: degrees

Left hip angle at min hips


left_hip_bend_angle_at_min_ball ​

Type: float | Unit: degrees

Left hip angle at min ball height


right_hip_bend_angle_at_min_hips ​

Type: float | Unit: degrees

Right hip angle at min hips


right_hip_bend_angle_at_min_ball ​

Type: float | Unit: degrees

Right hip angle at min ball height


Shooting Arm Position ​

At Set Point ​

shooting_wrist_elbow_shoulder_angle_at_set_point ​

Type: float | Unit: degrees

Angle formed by wrist, elbow, shoulder (from the side).


shooting_elbow_shoulder_hip_angle_at_set_point ​

Type: float | Unit: degrees

Angle formed by elbow, shoulder, hip.


shooting_elbow_shoulder_hoop_angle_at_set_point ​

Type: float | Unit: degrees

Measures where the elbow is pointing relative to the hoop. This tells you the angle formed by the shooting elbow, shooting shoulder, and hoop at the set point, where 0 degrees would be aiming straight at the rim, negative is to the left of the rim and positive to the right.


shooting_elbow_flare_angle_at_set_point ​

Type: float | Unit: degrees

How flared out or in is the shooting elbow relative to the shoulders at the set point. 0 degrees would mean the elbow is directly in line with the way the shoulders are pointing, a positive number means it's flared out away from the center of the body (regardless of whether it's the left or right arm), a negative number would mean it's pointed in toward the center of the body.

Elbow/Wrist Relative to Ball ​

elbow_relative_to_ball_at_set_forward_back_inches ​

Type: float | Unit: inches

Viewed from above, how far in front of or behind the center of the ball is the elbow at the set point. The forward-back axis here is the line from the center of the ball to the center of the rim.


elbow_relative_to_ball_at_set_side_to_side_inches ​

Type: float | Unit: inches

Viewed from above, how far to the left or right of the center of the ball is the elbow at the set point. The side-to-side axis here is the line perpendicular to the line from the center of the ball to the center of the rim. Negative is to the left of the ball, positive is to the right.


elbow_relative_to_ball_at_release_forward_back_inches ​

Type: float | Unit: inches

Viewed from above, how far in front of or behind the center of the ball is the elbow at the release point. The forward-back axis here is the line from the center of the ball to the center of the rim.


elbow_relative_to_ball_at_release_side_to_side_inches ​

Type: float | Unit: inches

Viewed from above, how far to the left or right of the center of the ball is the elbow at the release point. The side-to-side axis here is the line perpendicular to the line from the center of the ball to the center of the rim. Negative is to the left of the ball, positive is to the right.


wrist_relative_to_ball_at_set_forward_back_inches ​

Type: float | Unit: inches

Viewed from above, how far in front of or behind the center of the ball is the wrist at the set point. The forward-back axis here is the line from the center of the ball to the center of the rim.


wrist_relative_to_ball_at_set_side_to_side_inches ​

Type: float | Unit: inches

Viewed from above, how far to the left or right of the center of the ball is the wrist at the set point. The side-to-side axis here is the line perpendicular to the line from the center of the ball to the center of the rim. Negative is to the left of the ball, positive is to the right.


wrist_relative_to_ball_at_release_forward_back_inches ​

Type: float | Unit: inches

Viewed from above, how far in front of or behind the center of the ball is the wrist at the release point. The forward-back axis here is the line from the center of the ball to the center of the rim.


wrist_relative_to_ball_at_release_side_to_side_inches ​

Type: float | Unit: inches

Viewed from above, how far to the left or right of the center of the ball is the wrist at the release point. The side-to-side axis here is the line perpendicular to the line from the center of the ball to the center of the rim. Negative is to the left of the ball, positive is to the right.


Balance Metrics ​

neck_relative_to_feet_midpoint_at_release_xy_distance_in ​

Type: float | Unit: inches

Imagine looking at a player from straight overhead as they release their shot. This field measures the two-dimensional distance (ignoring the height distance) between the player's neck and the point in between their left and right ankles. A player standing straight up and down would have their neck right over their ankles (and a distance close to 0), while a player leaning back would have their neck much further from their ankles.


neck_relative_to_knee_midpoint_at_release_xy_distance_in ​

Type: float | Unit: inches

2D distance from neck to midpoint between knees


neck_relative_to_mid_hip_at_release_xy_distance_in ​

Type: float | Unit: inches

Imagine looking at a player from straight overhead as they release their shot. This field measures the two-dimensional distance (ignoring the height distance) between the player's neck and the point in between their left and right hips. A player standing straight up and down would have their neck right over their hips (and a distance close to 0), while a player leaning back would have their neck much further from their hips.


Rim Contact Metrics ​

Where and how the ball entered (or missed) the basket.

location_relative_to_hoop_center_x ​

Type: float | Unit: inches

X coordinate of ball with hoop center as origin


location_relative_to_hoop_center_y ​

Type: float | Unit: inches

Y coordinate of ball with hoop center as origin


distance_to_center_of_rim_2d ​

Type: float | Unit: inches

2D distance from rim center at entry


entry_angle ​

Type: float | Unit: degrees

Ball entry angle. 90° = straight down


entry_speed_inches_per_sec ​

Type: float | Unit: in/sec

Ball speed at basket entry


rim_depth ​

Type: float | Unit: inches

How far forward/back from rim center. Positive = long, negative = short


rim_left_right ​

Type: float | Unit: inches

How far left/right from rim center. Positive = right

  • Jump Shots — Similar mechanics data for jump shots during gameplay