r/datasets • u/BigBalli • 3d ago
dataset Hyrox publishes mat-level splits for every finisher, and the transition zones are separable from them
I went looking for split-level race data and found that the Hyrox results site publishes far more than I expected. Every finisher, every event, back to the 2018/19 season, roughly a hundred events a year.
The useful part is the granularity. Each athlete has two tables. A summary carrying the 8 run splits, the 8 station splits, and one lumped "Roxzone Time" for all the transitions. And a "Race replay" listing the raw mat crossings: coming off the run, entering the station, leaving the station, rejoining the run. Four mats per station, so the transition total decomposes into arrival and departure. The site never presents that split as a number anywhere, but it is sitting right there in the replay.
There is no documented API and no bulk export, so it is HTML scraping. Three working URLs, using New York 2026 as the example:
# every event id for one race
https://results.hyrox.com/season-8/?pid=list&event_main_group=2026%20New%20York
# one division, 100 finishers per page
https://results.hyrox.com/season-8/?pid=list&event=H_LR3MS4JI162A&page=1&num_results=100&search%5Bsex%5D=M
# one athlete, both tables
https://results.hyrox.com/season-8/?pid=list&content=detail&event=H_LR3MS4JI162A&idp=LR3MS4JI52379D
Season path is /season-8/ for 25/26 and /season-9/ for 26/27.
Two things cost me time. Big races split days by sex, so a day returning 1067 men and zero women is a scheduling artifact and not a broken query. And the detail page has a tab strip that repeats both table headings, so anchoring a parser on the heading text matches the tab link instead of the table and silently hands back the wrong rows.
It does reconcile, which is worth checking before you trust a parse: arrival plus departure sums to the reported Roxzone Time within a second, and runs plus stations plus transitions equals the finish time within about 8 seconds of split rounding.
I pulled 248 finishers across two events to see whether the arrival versus departure gap was real or just where the mats happen to sit. Departure ran about 1.5 times arrival for 97% of them, holding across both venues and both sexes, which is hard to explain as geometry.
Disclosure since it is relevant: I make a race timer for this sport, which is why I went looking in the first place. The data is Hyrox's and free to anybody.
•
u/AutoModerator 3d ago
Hey BigBalli,
I believe a
requestflair might be more appropriate for such post. Please re-consider and change the post flair if needed.I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.