Play-by-play of a finished game: every action with shot coordinates, running scores and jersey numbers.
Endpoint: GET https://stats.segevstats.com/realtimestat_heb/api/?method=getActions
Value
A hoopR_data tibble with these columns:
| col_name | type | description |
| game_id | integer | Segev game id (key space: one flat sequence across seasons and competitions); equals the IBBA ibba_games segev_game_id from 2025-26. Not an IBBA game id. |
| action_id | integer | Action id (key space: Segev actions; unique and increasing within one game, 500001 ... for game 50). |
| parent_action_id | integer | Id of the action this one follows from (rebound -> missed shot, steal -> turnover, assist or block -> shot); null when none. |
| period | integer | Period number (1-4 regulation, 5+ overtime). |
| clock | character | Game clock remaining in the period as 'mm:ss', counting down from 10:00. |
| user_time_utc | character | Wall-clock time the scorer logged the action, 'HH:MM:SS', UTC (inferred: game 50 tipped at 18:40 Israel time and its first tick reads 15:42). |
| type | character | Action type: game, quarter, clock, substitution, shot, freeThrow, rebound, assist, steal, turnover, block, deflection, foul, foul-drawn or timeout. |
| subtype | character | Subtype by type: shot jump-shot / lay-up / dunk; rebound offensive / defensive; turnover bad-pass, ball-handling, travelling, ...; foul personal / technical / unsportsmanlike; start-of-game, end-of-quarter, ... |
| team_id | integer | Segev team id of the acting side (stable across seasons); null on game-level actions. |
| player_id | integer | Segev player id (key space: Segev players, stable across seasons: Jaylen Hoard = 1000 in games 50 and 419); null on team lines and on actions without a player. Not an IBBA player-season id. |
| team_side | character | Side of the game: home or away (the feed's homeTeam / awayTeam; an action's parameters.team 1 = home, 2 = away). |
| jersey | character | Jersey number (a string, not an id) of the acting player; null when none (team rebound, timeout). |
| score_away | integer | Away running score after a scoring action (the feed's score reads away-home); null otherwise. |
| score_home | integer | Home running score after a scoring action; null otherwise. |
| player_points | integer | The scorer's running points after a scoring action; null otherwise. |
| points | integer | Shot value, 2 or 3; null on other actions. |
| made | character | Shot or free-throw result: made, missed, or blocked (shots only). |
| x | double | Shot x: across the half court, sideline to sideline, 0-1470, basket near 735; which sideline is 0 and the metric scale are unverified. |
| y | double | Shot y: distance out from the baseline, rim near 112-140, deepest observed 1176; metric scale unverified. |
| fast_break | logical | True when the shot or free throw came on a fast break. |
| second_chance | logical | True when the attempt followed an offensive rebound. |
| points_from_turnover | logical | True when the attempt came off an opponent turnover. |
| free_throw_number | integer | Which free throw of the set (1, 2, 3). |
| free_throws_awarded | integer | Free throws in the set. |
| foul_kind | character | Foul kind, shooting or offensive; absent on some fouls. 'shooting' also appears on technical and offensive-unsportsmanlike fouls, so it does not prove a shooting foul. |
| fouled_on_jersey | character | Jersey number (string) of the fouled player. |
| foul_free_throws | integer | Free throws the foul awards (the feed sends a string when non-zero, 0 otherwise). |
| is_coach_foul | logical | True on a foul charged to the coach or bench (player_id null); null otherwise. |
| player_in_jersey | character | Substitution: jersey of the player coming in; null on the row that records the player going out. |
| player_out_jersey | character | Substitution: jersey of the player going out; null on the row that records the player coming in. |
Details
Source, terms of use, request pacing, seasons, ids, coverage and error classes of this family: see the notes in ibba_segev_game_info().
See also
Other IBBA Segev Functions:
ibba_segev_game_info(),
ibba_segev_period_scores(),
ibba_segev_player_box(),
ibba_segev_rosters(),
ibba_segev_team_box()
Examples
# \donttest{
try(ibba_segev_pbp(game_id = 50))
#> ── IBBA Segev play-by-play ────────────────────────────────────── hoopR 3.2.0 ──
#> ℹ Data updated: 2026-10-31 21:30:50 UTC
#> # A tibble: 768 × 30
#> game_id action_id parent_action_id period clock user_time_utc type subtype
#> <int> <int> <int> <int> <chr> <chr> <chr> <chr>
#> 1 50 500001 NA 1 10:00 15:21:43 game start-…
#> 2 50 500002 NA 1 10:00 15:29:07 quarter start-…
#> 3 50 500003 NA 1 10:00 15:29:51 substi… NA
#> 4 50 500004 NA 1 10:00 15:29:52 substi… NA
#> 5 50 500005 NA 1 10:00 15:29:53 substi… NA
#> 6 50 500006 NA 1 10:00 15:29:57 substi… NA
#> 7 50 500007 NA 1 10:00 15:29:58 substi… NA
#> 8 50 500008 NA 1 10:00 15:31:26 substi… NA
#> 9 50 500009 NA 1 10:00 15:31:28 substi… NA
#> 10 50 500010 NA 1 10:00 15:31:30 substi… NA
#> # ℹ 758 more rows
#> # ℹ 22 more variables: team_id <int>, player_id <int>, team_side <chr>,
#> # jersey <chr>, score_away <int>, score_home <int>, player_points <int>,
#> # points <int>, made <chr>, x <dbl>, y <dbl>, fast_break <lgl>,
#> # second_chance <lgl>, points_from_turnover <lgl>, free_throw_number <int>,
#> # free_throws_awarded <int>, foul_kind <chr>, fouled_on_jersey <chr>,
#> # foul_free_throws <int>, is_coach_foul <lgl>, player_in_jersey <chr>, …
# }
