Skip to contents

Match header: teams, scores, venue, officials' names, best performers and status.

Endpoint: GET https://api.kzs.si/api/v1/public/matches/{match_id}

Usage

kzs_match(match_id)

Arguments

match_id

(required) Match id (match_id in kzs_matches), e.g. 101839. Global across seasons.

Value

A hoopR_data tibble: Match header: teams, scores, venue, officials' names, best performers and status. An empty valid answer raises hoopR_no_data; the columns are always these, in this order (sportsdataverse-py kzs_match):

col_nametypedescription
match_idintegerKZS match id. Joins to /matches/{matchId} (and its /playByPlay, /stats) and stats matchId.
competition_idintegerCompetition id: one per competition per season (men's top league 2025-26 = 579, 2026-27 = 608). Joins to /competitions/{competitionId} and the competitionId query params.
competition_namecharacterCompetition name (Slovenian; the sponsor name changes: Liga Telemach 2007-15, NovaKBM 2015-24, OTP banka 2024-).
competition_typecharacterCompetition type (code table).
competition_phase_idintegerCompetition-phase id. Joins to competitions[].competitionPhaseId on matches and /competitions/{competitionId} phases[].id.
competition_phase_namecharacterPhase name, Slovenian (see phases[].name).
transferredlogicalTrue when the match was carried over from an earlier phase (results transferred).
season_idintegerOpaque KZS season id (27 = 2026/2027); the sdv season is the END year in season.
seasonintegerSeason END year (2026/2027 = 2027), from the row's own season name or id, else from the request.
genius_match_idintegerGenius LiveStats match id parsed from fiba_live_stats_url (org KZS); null before 2015/16.
organiser_team_idintegerTeam id: one club team in one season (Ilirija 2025-26 = 17551). Joins to /teams/{teamId}, standings teamId, box-score teamId and the teamId query params. The organising (home) team.
roundintegerRound (matchday) number within the phase.
fiba_live_stats_urlcharacterGenius Sports LiveStats URL 'https://fibalivestats.dcd.shared.geniussports.com/u/KZS/{geniusMatchId}/'; the number is the Genius match id that keys genius-livestats/ data.json. Absent before 2015-16 (no live stats).
game_indexintegerGame number within the round (fixture order).
date_timecharacterTip-off, UTC (ISO 8601 'Z').
attendanceintegerSpectators (0 when not recorded).
first_team_idintegerMatch-team id: this team's entry in this one match (unique per match and side). Joins to play-by-play matchTeamId; NOT a team id. First (home) side.
first_team_team_idintegerTeam id: one club team in one season (Ilirija 2025-26 = 17551). Joins to /teams/{teamId}, standings teamId, box-score teamId and the teamId query params.
first_team_namecharacterFirst (home) team name; absent on 2007-08 headers.
first_team_home_jersey_colorcharacterFirst team home colour, hex.
first_team_guest_jersey_colorcharacterFirst team away colour, hex.
first_team_logo_uuidcharacterFirst (home) team logo: image file id, served at https://api.kzs.si/public/images/{uuid}.
first_team_codecharacterFirst team 3-letter code.
first_team_forfeitedlogicalTrue when this team forfeited.
first_team_is_placeholderlogicalTrue when the slot is a bracket placeholder.
first_team_best_performer_player_idintegerPlayer id (KZS player registry). Joins to /players/{playerId}, box-score and play-by-play playerId.
first_team_best_performer_player_first_namecharacterThe player's given name as registered with KZS.
first_team_best_performer_player_last_namecharacterThe player's family name as registered with KZS.
first_team_best_performer_player_photo_uuidcharacterPlayer photo: image file id, served at https://api.kzs.si/public/images/{uuid}.
first_team_best_performer_efficiencyintegerEfficiency (PIR) in the match.
first_team_best_performer_pointsintegerPoints in the match.
first_team_best_performer_reboundsintegerRebounds in the match.
first_team_best_performer_assistsintegerAssists in the match.
first_team_best_performer_stealsintegerSteals in the match.
first_team_best_performer_blocksintegerBlocks in the match.
second_team_idintegerMatch-team id: this team's entry in this one match (unique per match and side). Joins to play-by-play matchTeamId; NOT a team id. Second (away) side.
second_team_team_idintegerTeam id: one club team in one season (Ilirija 2025-26 = 17551). Joins to /teams/{teamId}, standings teamId, box-score teamId and the teamId query params.
second_team_namecharacterSecond (away) team name; absent on 2007-08 headers.
second_team_home_jersey_colorcharacterSecond team home colour, hex.
second_team_guest_jersey_colorcharacterSecond team away colour, hex.
second_team_logo_uuidcharacterSecond (away) team logo: image file id, served at https://api.kzs.si/public/images/{uuid}.
second_team_codecharacterSecond team 3-letter code.
second_team_forfeitedlogicalTrue when this team forfeited.
second_team_is_placeholderlogicalTrue when the slot is a bracket placeholder.
second_team_best_performer_player_idintegerPlayer id (KZS player registry). Joins to /players/{playerId}, box-score and play-by-play playerId.
second_team_best_performer_player_first_namecharacterThe player's given name as registered with KZS.
second_team_best_performer_player_last_namecharacterThe player's family name as registered with KZS.
second_team_best_performer_player_photo_uuidcharacterPlayer photo: image file id, served at https://api.kzs.si/public/images/{uuid}.
second_team_best_performer_efficiencyintegerEfficiency (PIR) in the match.
second_team_best_performer_pointsintegerPoints in the match.
second_team_best_performer_reboundsintegerRebounds in the match.
second_team_best_performer_assistsintegerAssists in the match.
second_team_best_performer_stealsintegerSteals in the match.
second_team_best_performer_blocksintegerBlocks in the match.
sport_hall_idintegerSport hall (venue) id. /sportHalls/{id} is in the site bundle, not captured.
sport_hall_namecharacterName of the venue (sports hall) where the game is played or the team is based.
first_team_scoreintegerFirst (home) team final score.
second_team_scoreintegerSecond (away) team final score.
score_inserted_manuallylogicalTrue when the score was typed in by the federation rather than taken from the live-stats feed.
statuscharacterMatch status: FINISHED in every sample (the capture banks final games only); the site also filters POSTPONED matches.
referee1_idintegerOfficial id (referee/commissioner registry); a different key space from person.id. /referees/ and /commissioners/ are in the site bundle but not captured.
referee1_person_idintegerPerson id: the federation's person record behind a player, coach or official; a different key space from player, coach and official ids.
referee1_person_first_namecharacterThe official's given name.
referee1_person_last_namecharacterThe official's family name.
referee1_person_gendercharacterMALE or FEMALE.
referee1_rankscharacterUnobserved: null, or an empty array, in every sample, so its type and meaning are unconfirmed.
referee2_idintegerOfficial id (referee/commissioner registry); a different key space from person.id. /referees/ and /commissioners/ are in the site bundle but not captured.
referee2_person_idintegerPerson id: the federation's person record behind a player, coach or official; a different key space from player, coach and official ids.
referee2_person_first_namecharacterThe official's given name.
referee2_person_last_namecharacterThe official's family name.
referee2_person_gendercharacterMALE or FEMALE.
referee2_rankscharacterUnobserved: null, or an empty array, in every sample, so its type and meaning are unconfirmed.
referee3_idintegerOfficial id (referee/commissioner registry); a different key space from person.id. /referees/ and /commissioners/ are in the site bundle but not captured.
referee3_person_idintegerPerson id: the federation's person record behind a player, coach or official; a different key space from player, coach and official ids.
referee3_person_first_namecharacterThe official's given name.
referee3_person_last_namecharacterThe official's family name.
referee3_person_gendercharacterMALE or FEMALE.
referee3_rankscharacterUnobserved: null, or an empty array, in every sample, so its type and meaning are unconfirmed.
commissioner_idintegerOfficial id (referee/commissioner registry); a different key space from person.id. /referees/ and /commissioners/ are in the site bundle but not captured.
commissioner_person_idintegerPerson id: the federation's person record behind a player, coach or official; a different key space from player, coach and official ids.
commissioner_person_first_namecharacterThe official's given name.
commissioner_person_last_namecharacterThe official's family name.
commissioner_person_gendercharacterMALE or FEMALE.
commissioner_rankscharacterUnobserved: null, or an empty array, in every sample, so its type and meaning are unconfirmed.
referee_controller_idintegerOfficial id (referee/commissioner registry); a different key space from person.id. /referees/ and /commissioners/ are in the site bundle but not captured.
referee_controller_person_idintegerPerson id: the federation's person record behind a player, coach or official; a different key space from player, coach and official ids.
referee_controller_person_first_namecharacterThe official's given name.
referee_controller_person_last_namecharacterThe official's family name.
referee_controller_person_gendercharacterMALE or FEMALE.
referee_controller_rankscharacterUnobserved: null, or an empty array, in every sample, so its type and meaning are unconfirmed.
gendercharacterMALE or FEMALE.
live_statslogicalTrue when the match has live stats (box score and play-by-play).
without_statslogicalTrue when the match keeps no statistics.
delegatedlogicalTrue once officials are assigned to the match.
home_jersey_colorcharacterHome jersey colour, hex '#RRGGBB'.
guest_jersey_colorcharacterAway jersey colour, hex.
bestscharacterEach team's top player per stat.
match_evaluation_idintegerId of the officials' evaluation record (internal; no public route).

Details

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

Examples

# \donttest{
  try(kzs_match(match_id = 101839))
#> ── KZS Match Header from api.kzs.si ───────────────────────────── hoopR 3.2.0 ──
#> ℹ Data updated: 2026-10-31 21:31:16 UTC
#> # A tibble: 1 × 98
#>   match_id competition_id competition_name competition_type competition_phase_id
#>      <int>          <int> <chr>            <chr>                           <int>
#> 1   101839            579 Liga OTP banka   LEAGUE                           5811
#> # ℹ 93 more variables: competition_phase_name <chr>, transferred <lgl>,
#> #   season_id <int>, season <int>, genius_match_id <int>,
#> #   organiser_team_id <int>, round <int>, fiba_live_stats_url <chr>,
#> #   game_index <int>, date_time <chr>, attendance <int>, first_team_id <int>,
#> #   first_team_team_id <int>, first_team_name <chr>,
#> #   first_team_home_jersey_color <chr>, first_team_guest_jersey_color <chr>,
#> #   first_team_logo_uuid <chr>, first_team_code <chr>, …
# }