Appearance
Fouls
The fouls section in the markings response contains foul event data from the game.
Sample Response
json
{
"markings": {
"fouls": [
{
"attacking_positive_x": null,
"event_pbp_descriptor": "shooting",
"event_pbp_foul_personal_total": 1,
"event_pbp_foul_technical_total": 0,
"event_pbp_id": 9,
"event_pbp_qualifiers": "[\"2freethrow\"]",
"event_pbp_subtype": "personal",
"foul_he_frame": 1970,
"foul_id_ctg": "foul_667403419384a15148c093ad99575474",
"foul_wall_clock": "2025-12-23T01:11:07.288+00:00",
"fouled_player_id_nba": 1630180,
"game_clock": 688,
"game_clock_running": true,
"game_id_nba": "0022500404",
"pbp_event_id": 9,
"period": 1,
"player_id_nba": 1629023,
"possession_team_id_nba": 1610612740,
"shot_clock": 6,
"shot_clock_running": true
}
]
}
}Fields
Identifiers
game_id_nba
Type: string
NBA game ID
foul_id_ctg
Type: string
CTG-generated foul ID
player_id_nba
Type: integer
NBA player ID of the player who committed the foul
fouled_player_id_nba
Type: integer
NBA player ID of the fouled player
possession_team_id_nba
Type: integer
NBA team ID of the team with possession
Timing
period
Type: integer
Period when the foul occurred
game_clock
Type: float
Game clock (seconds remaining) at the foul
shot_clock
Type: float
Shot clock at the foul. null if the shot clock is off
foul_he_frame
Type: integer
Hawk-Eye frame of the foul. null if there is no corresponding Hawk-Eye frame in the Hawk-Eye event data
foul_wall_clock
Type: string
UTC timestamp corresponding to foul_he_frame. null if there is no corresponding Hawk-Eye frame.
game_clock_running deprecated
Type: boolean
true if game clock was running
Deprecated
This field is unreliable and not particularly useful for analyzing foul events. This field will be removed in a future version.
shot_clock_running deprecated
Type: boolean
true if shot clock was running
Deprecated
This field is unreliable and not particularly useful for analyzing foul events. This field will be removed in a future version.
Play-by-Play Data
pbp_event_id
Type: integer
Play-by-play event ID (i.e. NGSS event ID) for the foul
event_pbp_id deprecated
Type: integer
Play-by-play event ID (i.e. NGSS event ID) for the foul
Deprecated
Use pbp_event_id instead. This field will be removed in a future version.
event_pbp_subtype
Type: string
The sub_type field from the official play-by-play feed. null if not provided
event_pbp_descriptor
Type: string
The descriptor field from the official play-by-play feed. null if not provided
event_pbp_qualifiers
Type: string
The qualifiers field from the official play-by-play feed. null if not provided
event_pbp_foul_personal_total deprecated
Type: integer
Player's personal foul total for the game. null if not provided
Deprecated
This data is already available in the official NBA play-by-play feed. This field will be removed in a future version.
event_pbp_foul_technical_total deprecated
Type: integer
Player's technical foul total. null if not provided
Deprecated
This data is already available in the official NBA play-by-play feed. This field will be removed in a future version.
Court Context
attacking_positive_x deprecated
Type: boolean
true if offensive team is attacking the positive X basket. null if unknown
Deprecated
This information is not relevant to analyzing foul events. This field will be removed in a future version.
