VO2 Max & Fitness Metrics data from every wearable, in one schema
Cardiorespiratory fitness estimates, fitness age and walk-test distance across platforms.
3 / 6
Providers connectable today
5
Webhook events in this family
ml/kg/min for VO2 max; years for age estimates; metres for walk test
Canonical units
What vo2 max & fitness metrics looks like through one API
VO2 max is the closest thing consumer wearables have to a fitness benchmark, and it is an estimate derived from the relationship between pace and heart rate during outdoor activity — not a laboratory measurement. It updates only when a user does the kind of activity the model can read, which means it can sit unchanged for weeks and then jump.
WearLink carries VO2 max as a series alongside the derived age estimates that vendors build on top of it: cardiovascular age and Garmin fitness age are separate streams because they are separate proprietary transformations, not the same number rounded differently.
Six-minute walk test distance is included because it comes from a different tradition entirely — it is a recognised clinical mobility assessment that Apple Health estimates passively, and it is the metric most relevant to older or lower-mobility populations where VO2 max never updates because the qualifying activity never happens.
Where providers disagree
The part that costs you weeks if you build this yourself. None of the following is a WearLink limitation — it is how the underlying providers actually behave.
VO2 max only updates on qualifying activity
Most models need steady outdoor running or walking with GPS and heart rate. A cyclist, swimmer or treadmill user may see no update for months. A stale value is not a bug; check the sample timestamp before presenting it as current.
Fitness age is a marketing transformation
Cardiovascular age and fitness age are vendor functions of VO2 max and demographics, computed differently by each. They are not comparable and should not be charted together.
Estimates carry real error against lab testing
Wrist-based VO2 max estimates deviate meaningfully from laboratory measurement, with error largest at the extremes of fitness. They are useful for tracking direction within a user, not for classifying someone against a population norm.
Changing device or profile resets the estimate
VO2 max models are anchored to the device that produced them. A user who switches from one brand to another starts a fresh estimate, often several points different, with no indication that the discontinuity is a device change rather than a fitness change. Editing profile weight or age also shifts the estimate retroactively on some platforms. Before showing a trend line, check whether the samples came from the same source — a step change at a device switch is the most common false alarm in this data.
Providers that supply vo2 max & fitness metrics
Status is read from the same provider table the rest of the site uses, so nothing here can claim a provider is connectable when it is not. Coverage also varies by hardware generation within a brand.
Webhook events for vo2 max & fitness metrics
Subscribe to the summary event for settled records, and to the series streams when you need the underlying samples. Event names below are generated from the backend enum, so they cannot drift out of date relative to the API.
Summary object
fitness_metrics.created
Series streams
series.vo2_max.createdseries.cardiovascular_age.createdseries.garmin_fitness_age.createdseries.six_minute_walk_test_distance.createdFrequently asked questions
- Why has a user's VO2 max not changed in weeks?
- The model only updates on qualifying activity — typically steady outdoor running or walking with GPS and heart rate. Without that, the last value persists. Always show the sample date.
- Is wearable VO2 max accurate?
- It is an estimate with real error against lab testing, largest at very high and very low fitness. Treat it as a within-user trend rather than an absolute classification.
- What is six-minute walk test distance doing in a fitness API?
- It is a recognised clinical mobility measure that Apple Health estimates passively. For older or lower-mobility populations it is far more informative than VO2 max, which rarely updates for them.
Related data types
15 normalised data families in total — see them all or browse integrations by provider.