Skip to contents

Every game of one season, all divisions, played and scheduled, with teams, venue, status and score.

Endpoint: GET https://api.tpbl.basketball/api/seasons/{season}/games

Usage

tpbl_games(season, team_id = NULL, verify = NULL)

Arguments

season

Required. Season END year (2026 = the 2025-26 season; 2025 is the first). The API keys a season by its own small integer (1, 2, 3 = 2024-25, 2025-26, 2026-27; the event id of /events/{id}/* is the same number): the runtime reads /seasons once and sends that id, so the example URL shows the year. A year the list lacks raises hoopR_no_data.

team_id

TPBL team id (2-8): keep only that team's games (the API's own filter). Cannot be combined with verify. Default NULL: every team.

verify

Default NULL (off). Cross-check the list for completeness: every division's completed games must equal the matches of its own standings (one extra request per division; a division whose standings are empty is checked against the team-filtered lists instead). A mismatch raises hoopR_asset_fetch.

Value

A hoopR_data tibble: Every game of one season, all divisions, played and scheduled, with teams, venue, status and score. An empty answer raises hoopR_no_data; the columns are always these, in this order (sportsdataverse-py tpbl_games):

col_nametypedescription
seasonintegerSeason END year (2026 = the 2025-26 season), the year asked for. Null when the body was parsed without the request stamp.
season_idintegerTPBL season id (key space: TPBL seasons on api.tpbl.basketball; 1 = 2024-25, 2 = 2025-26, 3 = 2026-27): the {season_id} of the season game list and, equal to it, the {event_id} of /events/{event_id}/*. Not the GoHoops season id. Null when the body was parsed without the request stamp.
game_idintegerTPBL game id (key space: TPBL games on api.tpbl.basketball): the {game_id} of the game routes. Not sequential by date (2024-25 = 1-1367, 2025-26 = 1371-8641, 2026-27 = 27535-27667). The box score echoes no game id, so a box frame parsed without the request stamp has a null game_id.
gohoops_game_idintegerGoHoops game id (key space: GoHoops games; 1242 for TPBL game 6). Not the TPBL game id.
division_idintegerTPBL division id (key space: TPBL divisions, one competition phase of one season; 1, 2, 5, 6, 7 = 2024-25, 8, 9, 11, 12, 35 = 2025-26, 655, 656 = 2026-27): the {division_id} of every division route. Not the GoHoops division id.
gohoops_division_idintegerGoHoops division id (key space: GoHoops divisions; e.g. 64 = the 2024-25 preseason, 65 = the 2024-25 regular season). Not the TPBL division id.
gohoops_season_idintegerGoHoops season id (key space: GoHoops seasons, the id system the API echoes beside its own; 101 = 2024-25, 213 = 2025-26, 275 = 2026-27). Not the TPBL season id. Read from the home team.
gohoops_event_idintegerGoHoops event id (key space: GoHoops events, one per TPBL season; 319 = 2024-25, 490 = 2025-26, 613 = 2026-27). Not the TPBL season id and not the GoHoops season id. Read from the home team.
codecharacterGame code inside the division: the game number as text in the regular season ('1' ... '42'), a series label in the playoffs ('AG1' = series A game 1, 'G7' = finals game 7), ” for preseason games.
statuscharacterGame status. Observed: COMPLETED (finished) and NOT_STARTED (scheduled). A game in progress has is_live true.
is_livelogicalTrue while the game is being played; false for finished and scheduled games.
periodsintegerNumber of quarters played: 4 for a regulation game, 5 for one overtime, 6 for two; 0 before tip-off.
game_dateDateGame date (Taiwan local date).
game_day_of_weekcharacterTraditional Chinese weekday in parentheses: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
game_timecharacterScheduled tip-off 'HH:MM:SS'. Taiwan local date and time (UTC+8 by every tip-off seen; the API sends no zone).
tipoffPOSIXctScheduled tip-off as a naive timestamp (no zone). Taiwan local date and time (UTC+8 by every tip-off seen; the API sends no zone).
venuecharacterVenue name in Traditional Chinese (Xinzhuang Gymnasium, Heping Basketball Gymnasium, Taichung Intercontinental Mini Dome, Hsinchu County Gymnasium, Kaohsiung Arena, Taoyuan Arena).
attendanceintegerAttendance as an integer, parsed from the API's visitors string; null before the game, when the API sends none or on a postponed game.
home_team_idintegerHome TPBL team id (key space: TPBL teams = franchises, 2-8 so far; stable across seasons): the {team_id} of the division team routes. Not the GoHoops franchise id and not the squad id.
home_gohoops_team_idintegerHome GoHoops franchise id (key space: GoHoops franchises, 940-946; stable across seasons; = the TPBL team id + 938).
home_gohoops_squad_idintegerHome GoHoops squad id (key space: GoHoops squads = one team in one season: 8209-8215 in 2024-25, 11931-11937 in 2025-26, 15536-15542 in 2026-27; it changes every season).
home_teamcharacterHome team name. Team name in Traditional Chinese with the sponsor (Kaohsiung Aquas, Formosa Dreamers, Hsinchu Lioneers, Taoyuan Leopards, New Taipei CTBC DEA, New Taipei Kings, Taipei Mars).
home_alt_namecharacterHome team slug. Lowercase English slug of the team: aquas, dreamers, lioneers, leopards, dea, kings, mars.
home_scoreintegerHome team final score (points scored); null before tip-off.
away_team_idintegerAway TPBL team id (key space: TPBL teams = franchises, 2-8 so far; stable across seasons): the {team_id} of the division team routes. Not the GoHoops franchise id and not the squad id.
away_gohoops_team_idintegerAway GoHoops franchise id (key space: GoHoops franchises, 940-946; stable across seasons; = the TPBL team id + 938).
away_gohoops_squad_idintegerAway GoHoops squad id (key space: GoHoops squads = one team in one season: 8209-8215 in 2024-25, 11931-11937 in 2025-26, 15536-15542 in 2026-27; it changes every season).
away_teamcharacterAway team name. Team name in Traditional Chinese with the sponsor (Kaohsiung Aquas, Formosa Dreamers, Hsinchu Lioneers, Taoyuan Leopards, New Taipei CTBC DEA, New Taipei Kings, Taipei Mars).
away_alt_namecharacterAway team slug. Lowercase English slug of the team: aquas, dreamers, lioneers, leopards, dea, kings, mars.
away_scoreintegerAway team final score (points scored); null before tip-off.
recap_urlcharacterYouTube recap URL; null when the game has none (the list can omit it, the game detail carries it).
live_stream_urlcharacterYouTube live-stream URL of the game; null when the API omits it.
judgement_report_urlcharacterURL of the referees' judgement report (a Google Drive file); null when none.
ticket_urlcharacterURL of the ticket page; null on most rows.

Details

Source, terms of use, request pacing, seasons, ids, coverage and error classes of this family: see the notes in tpbl_seasons().

Examples

# \donttest{
  try(tpbl_games(season = 2026))
#> ── TPBL Games from api.tpbl.basketball ────────────────────────── hoopR 3.2.0 ──
#> ℹ Data updated: 2026-10-31 21:35:08 UTC
#> # A tibble: 150 × 34
#>    season season_id game_id gohoops_game_id division_id gohoops_division_id
#>     <int>     <int>   <int>           <int>       <int>               <int>
#>  1   2026         2    1371            8062           9                 358
#>  2   2026         2    1372            8063           9                 358
#>  3   2026         2    1373            8064           9                 358
#>  4   2026         2    1374            8065           9                 358
#>  5   2026         2    1375            8066           9                 358
#>  6   2026         2    1376            8067           9                 358
#>  7   2026         2    1377            8068           9                 358
#>  8   2026         2    1378            8069           9                 358
#>  9   2026         2    1379            8070           9                 358
#> 10   2026         2    1380            8071           9                 358
#> # ℹ 140 more rows
#> # ℹ 28 more variables: gohoops_season_id <int>, gohoops_event_id <int>,
#> #   code <chr>, status <chr>, is_live <lgl>, periods <int>, game_date <date>,
#> #   game_day_of_week <chr>, game_time <chr>, tipoff <dttm>, venue <chr>,
#> #   attendance <int>, home_team_id <int>, home_gohoops_team_id <int>,
#> #   home_gohoops_squad_id <int>, home_team <chr>, home_alt_name <chr>,
#> #   home_score <int>, away_team_id <int>, away_gohoops_team_id <int>, …
# }