HYROX Race Results Scraper avatar

HYROX Race Results Scraper

Pricing

$0.90 / 1,000 race results

Go to Apify Store
HYROX Race Results Scraper

HYROX Race Results Scraper

Collect published HYROX race results from the official timing portal. Choose seasons, events, divisions, and summary or detailed splits. Get rankings, times, participant details, result status, and official result links when available in a dataset.

Pricing

$0.90 / 1,000 race results

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

🏁 HYROX race results for focused analysis

Coaches, athletes, sports analysts, and developers can collect the complete published HYROX race results for selected seasons, events, and divisions. Each row keeps participant or team context, ranks, times, result status, and official source links when available, with detailed station and running-leg splits when the source publishes them. Use the rows for performance analysis, ranking tools, and downstream data workflows.

🧾 Published HYROX result rows

Each row represents one published participant or team result from the public HYROX timing portal. It can include the event, division, race date, gender, age group, nationality, bib, rank, time, result status, and official result link when available. Detailed runs can also include station and running-leg split arrays. The Actor preserves published station penalties and time bonuses when they are present.

▶️ Choose the race scope and detail level

Run one shared scope at a time. Pick the seasons, event names, and division names shown by the official timing portal. Supported formats include Standard, PRO, Doubles, Relay, Adaptive, and Youngstars. Choose summary for core fields or detailed for station and running-leg splits when the source publishes them. Turn on non-finishers to include published disqualified entrants and entrants with no recorded result.

  1. Open the Actor input.
  2. Enter one or more seasons, events, and divisions from the official timing portal.
  3. Choose Summary or Detailed splits, then choose whether to include non-finishers.
  4. Run the Actor and open the results link in the Output tab.

⚙️ Input

Each run uses one set of seasons, events, and divisions. Choose summary results or detailed results with station and running-leg splits when the official source publishes them. Include published disqualified entrants and registered entrants with no recorded result alongside ranked finishers.

Input fields

FieldTypeWhat it does
seasonsarray of stringsNames one or more seasons or years shown by the official HYROX timing portal.
eventsarray of stringsNames one or more HYROX events shown by the official timing portal.
divisionsarray of stringsNames one or more competition divisions. Supported formats include Standard, PRO, Doubles, Relay, Adaptive, and Youngstars.
detailLevelstringChooses summary for core result fields or detailed for station and running-leg splits when published.
includeNonFinishersbooleanAdds published disqualified entrants and registered entrants with no recorded result alongside ranked finishers.

Example input

This small input is from a successful current-beta run.

{
"seasons": [
"2026"
],
"events": [
"2026 Amsterdam"
],
"divisions": [
"Men"
],
"detailLevel": "summary",
"includeNonFinishers": false
}

🧾 Output

Open the results output link to read the default dataset. Rows use one public dataset schema. Summary and detailed runs differ in which optional fields are returned by the selected detail level and the source.

Output link

FieldTypeWhat it does
resultslinkOpens the collected HYROX race results in the default dataset view.

Summary result rows

Summary rows contain the core result fields below. A field is omitted when the official source does not publish it. Summary rows do not include stationSplits or runningLegSplits.

FieldTypeWhat it does
seasonstringShows the season published by the official timing portal.
eventNamestringShows the HYROX event name.
raceDatedate stringShows the published race date when available.
divisionstringShows the competition division.
genderstringShows the published gender category when available.
ageGroupstringShows the published age-group category when available.
entryNamestringShows the published participant or team name.
nationalitystringShows the published nationality or country value.
bibstringShows the published bib number or label.
resultStatusstringShows the published status: finished, didNotFinish, disqualified, or noResult.
disqualificationReasonstringShows the published disqualification reason when available.
overallRankintegerShows the published overall rank when available.
ageGroupRankintegerShows the published age-group rank when available.
finishTimestringShows the published finish time in the source time format when available.
runningTotalTimestringShows the published running-total time when available.
transitionTimestringShows the published transition time when available.
sourceResultUrlURL stringLinks to the official source result page when available.

This is a genuine summary row from a successful current-beta run.

{
"season": "2026",
"eventName": "2026 Amsterdam",
"division": "HYROX PRO DOUBLES - Wednesday",
"entryName": "Chaabane, Leonie (NED) / Serrant, Vannah (NED)",
"nationality": "NED",
"bib": "124013",
"resultStatus": "finished",
"ageGroup": "35-39",
"gender": "Mixed",
"overallRank": 1,
"ageGroupRank": 1,
"finishTime": "01:22:50",
"runningTotalTime": "00:46:17",
"transitionTime": "00:06:37",
"sourceResultUrl": "https://results.hyrox.com/season-8/?content=detail&fpid=search&pid=search&idp=LR3MS4JI456FBE&lang=EN_CAP&event=HDP_LR3MS4JI1236&num_results=100&pidp=ranking_nav&ranking=time_finish_netto&search%5Bsex%5D=X&search%5Bage_class%5D=%25&search_event=HDP_LR3MS4JI1236&event_main_group=2026+Amsterdam"
}

Detailed result rows

Detailed rows use the complete field set below when the source publishes each value. Nested paths show the fields inside each split object.

FieldTypeWhat it does
seasonstringShows the season published by the official timing portal.
eventNamestringShows the HYROX event name.
raceDatedate stringShows the published race date when available.
divisionstringShows the competition division.
genderstringShows the published gender category when available.
ageGroupstringShows the published age-group category when available.
entryNamestringShows the published participant or team name.
nationalitystringShows the published nationality or country value.
bibstringShows the published bib number or label.
resultStatusstringShows the published status: finished, didNotFinish, disqualified, or noResult.
disqualificationReasonstringShows the published disqualification reason when available.
overallRankintegerShows the published overall rank when available.
ageGroupRankintegerShows the published age-group rank when available.
finishTimestringShows the published finish time in the source time format when available.
runningTotalTimestringShows the published running-total time when available.
transitionTimestringShows the published transition time when available.
stationSplitsarray of objectsLists published station splits in race order.
stationSplits[].stationNumberintegerShows the station's position in the race.
stationSplits[].stationNamestringShows the published station name.
stationSplits[].splitTimestringShows the station split time.
stationSplits[].runningTotalTimestringShows the running-total time at the station when available.
stationSplits[].penaltyTimestringShows the published station penalty time when available.
stationSplits[].bonusTimestringShows the published station bonus time when available.
runningLegSplitsarray of objectsLists published running-leg splits in race order.
runningLegSplits[].legNumberintegerShows the running leg's position in the race.
runningLegSplits[].splitTimestringShows the running-leg split time.
runningLegSplits[].runningTotalTimestringShows the running-total time after the running leg when available.
sourceResultUrlURL stringLinks to the official source result page when available.

This is a genuine detailed row from a successful current-beta run.

{
"season": "2026",
"eventName": "2026 Amsterdam",
"division": "HYROX - Sunday",
"entryName": "Maref, Awin (NED)",
"nationality": "NED",
"bib": "120037",
"resultStatus": "finished",
"ageGroup": "35-39",
"gender": "Men",
"overallRank": 1,
"ageGroupRank": 1,
"finishTime": "01:48:58",
"runningTotalTime": "00:49:56",
"transitionTime": "00:09:48",
"stationSplits": [
{
"stationNumber": 1,
"stationName": "1000m SkiErg",
"splitTime": "00:05:17",
"runningTotalTime": "00:04:50"
},
{
"stationNumber": 2,
"stationName": "50m Sled Push",
"splitTime": "00:03:27",
"runningTotalTime": "00:10:43"
},
{
"stationNumber": 3,
"stationName": "50m Sled Pull",
"splitTime": "00:06:23",
"runningTotalTime": "00:17:01"
},
{
"stationNumber": 4,
"stationName": "80m Burpee Broad Jump",
"splitTime": "00:10:51",
"runningTotalTime": "00:23:25"
},
{
"stationNumber": 5,
"stationName": "1000m Row",
"splitTime": "00:06:01",
"runningTotalTime": "00:29:58"
},
{
"stationNumber": 6,
"stationName": "200m Farmers Carry",
"splitTime": "00:02:14",
"runningTotalTime": "00:36:27"
},
{
"stationNumber": 7,
"stationName": "100m Sandbag Lunges",
"splitTime": "00:05:42",
"runningTotalTime": "00:42:54"
},
{
"stationNumber": 8,
"stationName": "Wall Balls",
"splitTime": "00:09:25",
"runningTotalTime": "00:50:00"
}
],
"runningLegSplits": [
{
"legNumber": 1,
"splitTime": "00:04:50",
"runningTotalTime": "00:04:50"
},
{
"legNumber": 2,
"splitTime": "00:05:53",
"runningTotalTime": "00:10:43"
},
{
"legNumber": 3,
"splitTime": "00:06:18",
"runningTotalTime": "00:17:01"
},
{
"legNumber": 4,
"splitTime": "00:06:24",
"runningTotalTime": "00:23:25"
},
{
"legNumber": 5,
"splitTime": "00:06:33",
"runningTotalTime": "00:29:58"
},
{
"legNumber": 6,
"splitTime": "00:06:29",
"runningTotalTime": "00:36:27"
},
{
"legNumber": 7,
"splitTime": "00:06:27",
"runningTotalTime": "00:42:54"
},
{
"legNumber": 8,
"splitTime": "00:07:06",
"runningTotalTime": "00:50:00"
}
],
"sourceResultUrl": "https://results.hyrox.com/season-8/?content=detail&fpid=search&pid=search&idp=LR3MS4JI456E56&lang=EN_CAP&event=H_LR3MS4JI123A&num_results=100&pidp=ranking_nav&ranking=time_finish_netto&search%5Bsex%5D=M&search%5Bage_class%5D=%25&search_event=H_LR3MS4JI123A&event_main_group=2026+Amsterdam"
}

Non-finisher rows use the same fields. Their resultStatus can be disqualified or noResult, and disqualificationReason, ranks, and times are present only when the source publishes them.

💳 Pricing

Billable event

The Actor charges one event for each published participant or team race result saved to the dataset. The current price is shown in the Actor's pricing panel.

🔌 Integrations

After a run, open the results output link to read the default dataset. Use Apify's dataset API or export options to pass the published rows to analysis and other data workflows.

Video guide

❓ FAQ

How do I get the latest HYROX race results for 2026?

Enter 2026 and the event and division names currently shown by the official timing portal. Run the Actor with summary or detailed results, depending on the fields you need.

How do I collect results for one event and division?

Enter the season, event name, and division name shown by the official timing portal. The run uses that shared selection for the requested result detail level.

What is the difference between summary and detailed results?

Summary rows provide the core participant, rank, and time fields. Detailed rows add station and running-leg split arrays when the official source publishes them.

Can I include disqualified entrants and entrants with no recorded result?

Yes. Turn on includeNonFinishers to include those published statuses alongside ranked finishers. The Actor does not infer why an entrant has no recorded result.

Which HYROX division formats are supported?

The input accepts division names for Standard, PRO, Doubles, Relay, Adaptive, and Youngstars formats when the official portal publishes them.

Does the Actor show live race tracking?

No. It collects published results from the public HYROX timing portal and does not provide live tracking, forecasts, or coaching recommendations.

Can an incomplete large collection resume?

Yes. The Actor supports resuming incomplete large collections without re-delivering rows already returned.

What happens when the source does not publish a field?

That field is omitted or left unavailable in the row. The Actor keeps source-published values and does not guess missing facts.

📝 Changelog

v0.0 (28-09-2026)

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré