Skip to content

VO2 Max API

VO2 Max & Fitness Metrics data from every wearable, in one schema

Cardiorespiratory fitness estimates, fitness age and walk-test distance across platforms.

VO2 Max & Fitness Metrics visualisation

3/6

providers connectable today

5

webhook event types

Canonical unit

ml/kg/min for VO2 max; years for age estimates; metres for walk test

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

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.

Webhook events for vo2 max & fitness metrics

Summary: fitness_metrics.created

Series streams:

  • series.vo2_max.created
  • series.cardiovascular_age.created
  • series.garmin_fitness_age.created
  • series.six_minute_walk_test_distance.created

The full catalogue is in the event catalogue.

FAQ

VO2 Max & Fitness Metrics — frequently 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.

Get vo2 max & fitness metrics from every device your users own

Free for up to 3 connected users. No credit card. Your first API key is issued the moment you sign up.