Skip to contents

Team game totals of both teams: shooting, rebounds, assists, turnovers, fouls, paint, bench and fast-break points.

Endpoint: GET https://lkl.lt/api/livestream/boxscore/{game_id}

Usage

lkl_team_box(game_id)

Arguments

game_id

Required. lkl.lt game id (integer), e.g. 11446; game_id in lkl_results. Not sequential by season before 2018-19. Only a finished game is served.

Value

A hoopR_data tibble. Two rows (home first). The body keys the totals by team id with no side marker, so team_side comes from the game page the runtime stamps (null on a body without the stamp). Percentages are 0-100 floats (the site sends two-decimal strings); time_leading is seconds (the site sends a string). points_off_turnovers, fast_break_points, second_chance_points and points_in_paint are 0 before 2024-25 (not tracked). Per-period points are in lkl_period_scores. A body without gameStatistics gives a zero-row tibble. Every column below is always present (a zero-row tibble keeps them and their types); an answer with nothing in it raises hoopR_no_data, as in sportsdataverse-py.

col_nametypedescription
game_idintegerlkl.lt game id (key space: LKL games; the {gameId} of every route). Not sequential by season before 2018-19; not the Genius matchId. A frame parsed from a bare body has a null game_id when the body does not echo it (the runtime stamps it under _request).
team_idintegerlkl.lt team id (key space: lkl.lt clubs, STABLE across seasons and renamings: 6 = Rytas). Joins lkl_game_info home_team_id / away_team_id; not the Genius team id. Null on a frame parsed from a bare body.
team_sidecharacterSide of the game the row belongs to: home or away (the game page's teams_info side; the box score, leaders and plays say home / away, and gameStatistics is keyed by team id so the runtime supplies the side).
pointsintegerTeam points: the final score (the capture banks finished games only).
seconds_playedintegerSummed playing time of all the team's players in seconds (12000 = 5 x 40:00; 13500 with one overtime).
field_goals_made_totalintegerField goals made, 2PT + 3PT.
field_goals_attempted_totalintegerField goals attempted, 2PT + 3PT.
field_goals_made_2ptintegerTwo-point field goals made.
field_goals_attempted_2ptintegerTwo-point field goals attempted.
field_goals_made_3ptintegerThree-point field goals made.
field_goals_attempted_3ptintegerThree-point field goals attempted.
free_throws_madeintegerFree throws made by the team in the game (count).
free_throws_attemptedintegerFree throws attempted by the team in the game (count).
offensive_reboundsintegerTeam offensive rebounds in the game (count).
defensive_reboundsintegerTeam defensive rebounds in the game (count).
total_reboundsintegerTeam rebounds, offensive + defensive (count).
assistsintegerTeam assists in the game (count).
stealsintegerTeam steals in the game (count).
blocksintegerBlocks made by the team in the game (count).
blocks_receivedintegerShots of this team that were blocked.
turnoversintegerTeam turnovers in the game (count).
foulsintegerFouls committed.
fouls_onintegerFouls drawn (fouls committed on this team).
efficiencyintegerTeam efficiency rating (Efektyvumas), a PIR-style index (points + rebounds + assists + steals + blocks + fouls drawn - missed shots - turnovers - shots blocked - fouls). The exact formula is unverified: game 11590 home gives 121 where that formula gives 122.
points_off_turnoversintegerPoints off the opponent's turnovers; 0 on the 2007-08 sample (not tracked then).
fast_break_pointsintegerFast-break points; 0 on the 2007-08 sample.
second_chance_pointsintegerSecond-chance points (after an offensive rebound); 0 on the 2007-08 sample.
points_in_paintintegerPoints in the paint; 0 on the 2007-08 sample.
bench_pointsintegerPoints by players who did not start.
biggest_leadintegerThis team's biggest lead in points (0 when it never led).
biggest_scoring_runintegerThis team's longest unanswered scoring run, in points.
lead_changesintegerLead changes in the game (the same value on both rows).
tie_resultsintegerTimes the score was tied (the same value on both rows).
time_leadingintegerSeconds this team led during the game (the site sends it as a string; 1892 = 31:32).
field_goals_percentagedoubleField-goal percentage, 0-100 float (the site sends a two-decimal string).
field_goals_2pt_percentagedoubleTwo-point percentage, 0-100 float (the site sends a two-decimal string).
field_goals_3pt_percentagedoubleThree-point percentage, 0-100 float (the site sends a two-decimal string).
free_throws_percentagedoubleFree-throw percentage, 0-100 float (the site sends a two-decimal string).

Details

Unofficial and unsupported: these are the routes lkl.lt's own game page calls (found in its front-end bundle) and its server-rendered pages. The site's robots.txt allows everything and sets no crawl-delay; the runtime still spaces requests at least 1 s apart. The site's terms were not reviewed; check them before you republish the data.

Coverage: game wrappers serve FINISHED games only (an unfinished game raises hoopR_asset_fetch). The box score, summary, score line, statistics and leaders answer for every season from 1993-94 (before 2024-25 the scoring splits and lead statistics are 0). Play-by-play and shots exist from 2024-25 only; an earlier finished game raises hoopR_no_data. From 2016-17 the results season id is also the Genius LiveStats competition id (see the genius family) which holds play-by-play for older games; lkl.lt game, team and player ids are lkl.lt's own and do not join Genius ids. The King Mindaugas Cup shares the routes but is not wrapped. Text fields are Lithuanian.

Errors: hoopR_no_data when lkl.lt has nothing for the request (HTTP 404, an unknown game or standings season, a season the site's selects do not list, a season without played games, a finished game before 2024-25 asked for play-by-play or shots); hoopR_bad_request for a game id or season that is not an integer, or HTTP 400 / 422; hoopR_asset_fetch when the fetch failed or the answer is not the one asked for (an unfinished game, a body or page for another game or season, an error or changed body, a truncated results list). All inherit hoopR_error. Dates and times are Lithuanian local (Europe/Vilnius) as the site prints them.

Examples

# \donttest{
  try(lkl_team_box(game_id = 11446))
#> Error in lkl_team_box(game_id = 11446) : 
#>   lkl.lt/rungtynes/11446 answered HTTP 403: <!DOCTYPE html><html
#> lang="en-US"><head><title>Just a moment...</title><meta
#> http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta
#> http-equiv="X-UA-Compatible" content="IE=Edge"><meta nam
# }