Skip to contents

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

Usage

ibba_segev_pbp(game_id)

Arguments

game_id

(integer required): Segev game id (e.g. 50 = Hapoel Be'er Sheva vs Maccabi Tel Aviv, 2025-26 round 1): segev_game_id in ibba_games.

Value

A hoopR_data tibble with these columns:

col_nametypedescription
game_idintegerSegev 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_idintegerAction id (key space: Segev actions; unique and increasing within one game, 500001 ... for game 50).
parent_action_idintegerId of the action this one follows from (rebound -> missed shot, steal -> turnover, assist or block -> shot); null when none.
periodintegerPeriod number (1-4 regulation, 5+ overtime).
clockcharacterGame clock remaining in the period as 'mm:ss', counting down from 10:00.
user_time_utccharacterWall-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).
typecharacterAction type: game, quarter, clock, substitution, shot, freeThrow, rebound, assist, steal, turnover, block, deflection, foul, foul-drawn or timeout.
subtypecharacterSubtype 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_idintegerSegev team id of the acting side (stable across seasons); null on game-level actions.
player_idintegerSegev 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_sidecharacterSide of the game: home or away (the feed's homeTeam / awayTeam; an action's parameters.team 1 = home, 2 = away).
jerseycharacterJersey number (a string, not an id) of the acting player; null when none (team rebound, timeout).
score_awayintegerAway running score after a scoring action (the feed's score reads away-home); null otherwise.
score_homeintegerHome running score after a scoring action; null otherwise.
player_pointsintegerThe scorer's running points after a scoring action; null otherwise.
pointsintegerShot value, 2 or 3; null on other actions.
madecharacterShot or free-throw result: made, missed, or blocked (shots only).
xdoubleShot x: across the half court, sideline to sideline, 0-1470, basket near 735; which sideline is 0 and the metric scale are unverified.
ydoubleShot y: distance out from the baseline, rim near 112-140, deepest observed 1176; metric scale unverified.
fast_breaklogicalTrue when the shot or free throw came on a fast break.
second_chancelogicalTrue when the attempt followed an offensive rebound.
points_from_turnoverlogicalTrue when the attempt came off an opponent turnover.
free_throw_numberintegerWhich free throw of the set (1, 2, 3).
free_throws_awardedintegerFree throws in the set.
foul_kindcharacterFoul 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_jerseycharacterJersey number (string) of the fouled player.
foul_free_throwsintegerFree throws the foul awards (the feed sends a string when non-zero, 0 otherwise).
is_coach_foullogicalTrue on a foul charged to the coach or bench (player_id null); null otherwise.
player_in_jerseycharacterSubstitution: jersey of the player coming in; null on the row that records the player going out.
player_out_jerseycharacterSubstitution: 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().

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>, …
# }