OpenSportTaxonomy

The sport vocabulary your app was missing.

Every fitness platform invented its own list of sports. Strava says Ride, Garmin says ROAD_CYCLING, Apple says Cycling. None of them agree, none are hierarchical, and none are open. OpenSportTaxonomy is one canonical, hierarchical set of sports any app can adopt, with mappings that translate cleanly between every platform.

With OpenSportTaxonomy, cycling on the road is cycling.road, allowing you to filter on cycling.road specifically, or on cycling to also include for example cycling.gravel.

Standard sports

Browse the catalogue: Every standard sport, each with a human label.

Browse the sports →

Translate

View how sports decode and encode between any two platforms.

Start translating →

How it works

A sport is a single string. Dots separate a sport from its disciplines, and plusses add modifiers that describe the circumstances.

cycling.road+stationary+virtual

That is the entire spec. We publish a curated set of standard sports with human labels and platform mappings. But any string that follows this pattern is a valid sport, so a client can mint whatever it needs.