Showcase
What people build with this
This is data infrastructure. We deliberately do not build training plans, workout tracking, gym CRM or coaching. Those are our customers’ products, and competing with them would be a strange way to run a data business.
A career page that builds itself
Resolve a name to a stable id, then pull every competition that athlete has entered. The alternative is scraping sixteen seasons of leaderboards and reconciling the results by name, which goes wrong on accents and on the several athletes who share one.
GET /v1/athletes/search?q=Panchik
GET /v1/athletes/{id}/resultsIds survive the source reorganising, so a profile URL you save today still resolves next season.
Your gym's own board, during the Open
Filter a division down to one affiliate and render it on a screen in the gym. The cursor is keyed on rank plus a tiebreaker, so the two hundredth page costs what the first one costs and tied athletes do not get skipped at a page boundary.
GET /v1/open/2026/divisions
GET /v1/open/2026/leaderboard?division=men-35-39&gym={id}The shape of a workout, not just the winner
A per-workout leaderboard ranks on that workout alone and carries the decoded reps and time next to the untouched source value. Enough to plot a distribution, find the median, or see where a time cap bunched everyone together.
GET /v1/open/2026/workouts
GET /v1/workouts/{id}/leaderboard?division=men&scaled=allscore_raw is the source's own packed integer. Check our decoding whenever you like.
Affiliates near a postcode
Radius search over affiliate coordinates, then the athletes who competed for each one. Latitude first, kilometres, great-circle distance returned on every row.
GET /v1/gyms?near=50.85,4.35&radius_km=25
GET /v1/gyms/{id}/athletesFollow a field from the Open to the Games
The Open, the Quarterfinals, the Semifinals and the Games share one schema and one set of athlete ids, so the same athlete can be traced through every stage of a season without matching anything by hand.
GET /v1/competitions?year=2026
GET /v1/competitions/{id}/leaderboard?division=womenRx against scaled, on the same workout
Every result carries which scaling it was performed at, and the scaled and foundations fields are kept apart rather than interleaved. Ask for all three and compare them.
GET /v1/workouts/{id}/leaderboard?scaled=rx
GET /v1/workouts/{id}/leaderboard?scaled=scaledHave a look round first
The explorer pages on this site run on the same endpoints you would be calling.
Those pages go through the same API you get. The site holds no database connection, so it can show only what the API already exposes. See the documentation.
Build one of these
Plans from $15 a month.