Skip to contents

One game's periods with the points each team scored in each, overtime periods included (ids 11+).

Endpoint: GET https://embed-api.eui.connect.sportradar.com/v1/embed/{website_id}/fixture_detail?sub=statistics

home_points / away_points are the points scored IN that period, not the running score. Overtime periods are period_id 11, 12, ... (not 5).

Usage

atrium_fixture_periods(website_id, fixture_id, locale = NULL)

Arguments

website_id

(integer required): Site config id: which league site's widget this is (12 LNB France, 14 LNBP Mexico, 3 NBL1 Australia, 13 El Salvador, 22 Panama, 236 Austria, 326 Montenegro). Not a league id: one site serves several competitions.

fixture_id

(character required): Game UUID (fixture_id in atrium_fixtures()), e.g. "0dc631bd-c34c-11f1-8d16-4d5a21afb79d".

locale

(character optional): Locale of the labels, e.g. "en-EN" or "fr-FR". Omitted = the site's own language. Ids and codes never change.

Value

A wehoop_data tibble, one row per (fixture_id, period_id):

col_nametypedescription
website_idintegerSite config id the body came from (12 LNB, 14 LNBP, 3 NBL1, 13 El Salvador, 22 Panama, 236 Austria, 326 Montenegro), read from the body's links.self.
fixture_idcharacterGame UUID (fixture); the key of every game frame and of the fixture_detail routes.
season_idcharacterSeason UUID of the game.
period_idintegerPeriod number: 1-4 regulation, 11, 12, ... overtimes (not 5).
labelcharacterShort period label in the site's language (Q1, P1), as sent.
is_overtimelogicalTrue for an overtime period.
is_shootoutlogicalTrue for a shootout period.
startedlogicalTrue once the period has started.
endedlogicalTrue once the period has ended.
duration_minutesintegerLength of the period in minutes.
elapsed_minutes_before_periodintegerMinutes of game time played before the period starts (40 for the first overtime).
home_entity_idcharacterTeam UUID of the home team, from the fixture's isHome flag.
away_entity_idcharacterTeam UUID of the away team, from the fixture's isHome flag.
home_pointsintegerPoints the home team scored in this period (not the running score).
away_pointsintegerPoints the away team scored in this period (not the running score).

Details

Unofficial. This is the public endpoint the Sportradar Atrium / Synergy "Connect" widget calls from every visitor's browser (keyless; the host has no robots.txt). The data is Sportradar's and the leagues'. The wrappers read it on the caller's behalf, one request at least 1 s after the last to the host, and it is not republished as release assets. Keep crawls small and incremental.

Sites and seasons. website_id picks the league site; one site carries many competitions. Seasons are END years (season = 2026): the site's own year is the START year on LNB and the calendar year elsewhere, and a year can hold several competitions, so pair season with competition_id (see atrium_seasons()) or pass season_id. atrium_end_year() maps a site's own year to that END year, and atrium_season_id() finds the season UUID.

Columns are configured per site: a statistic one site omits is NA. A key the documented columns do not list is appended with an inferred type. Player and team ids (UUIDs, character) are shared across sites; the player stat tables carry names only, so person_id there is decoded from the widget link beside each name.

Errors (classed conditions, all inheriting wehoop_error): wehoop_no_data when the site has nothing for the request (HTTP 404, no such season, an empty fixture list, a game with no play-by-play yet, or a fixture id the site does not serve: an unknown id or a game of another site, which the API answers alike with an empty fixture); wehoop_bad_request for HTTP 400 / 422 or an argument that cannot be mapped (an ambiguous END year, season with season_id); wehoop_asset_fetch for any other failed fetch, an error / stub body, or a body that belongs to another site, type, season, game, player or team than the one asked for.

 atrium_fixture_periods(website_id = 14, fixture_id = "0dc631bd-c34c-11f1-8d16-4d5a21afb79d")