Game roster from the game page: every player on either team sheet with the lkl.lt player id and slug.
Endpoint: GET https://lkl.lt/rungtynes/{game_id}
Value
A hoopR_data tibble. One row per rostered player. player_id (lkl.lt persons, stable across seasons) and
slug are the two keys: this frame is the slug -> id map for the box score, leaders and play-by-play, which carry
the slug only. jersey is a string. An empty or unrecognised input 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_name | type | description |
| game_id | integer | lkl.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_side | character | Side 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). |
| team_id | integer | lkl.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. |
| player_id | integer | lkl.lt player id (key space: lkl.lt persons, stable across seasons). Joins the shot chart's player_id; the box score, leaders and play-by-play carry the slug, which this frame maps. |
| player | character | Full player name as the game page prints it. |
| jersey | character | Shirt number as a string (so '00' and '0' stay distinct). |
| slug | character | Player slug (key space: lkl.lt persons; the {slug} of lkl.lt/zaidejai/{slug}). Join key to the player_slug of the box score, leaders and play-by-play. |
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.
lkl_game_players(game_id = 11446)