Skip to content
AFAIFitnessAPI
Concepts

What Is VO2 Max (and How Do Wearables Estimate It)?

Updated July 9, 2026

VO2 max is the maximum rate at which the body can consume oxygen during intense exercise, measured in milliliters of oxygen per kilogram per minute (mL/kg/min), and it is a widely used proxy for aerobic fitness. On a wearable or fitness API it is almost always an estimate, not a measurement: the device models it from your heart rate and pace during activity rather than the lab gas-analysis test that produces a true VO2 max. Treat the number as a fitness trend to watch over time, not a precise clinical value. This is general wellness information, not medical advice.

What is VO2 max?

VO2 max is the maximum rate at which the body can consume oxygen during intense exercise, expressed in milliliters of oxygen per kilogram of body mass per minute (mL/kg/min). It is one of the most widely used proxies for aerobic, or cardiorespiratory, fitness: a higher VO2 max generally reflects a cardiovascular and respiratory system that can deliver and use more oxygen under load.

The critical thing for a builder to understand is that the VO2 max shown on a watch, ring, or fitness API is almost always an estimate, not a measurement. A true VO2 max comes from a lab test; the number in your data feed is a modeled value inferred from heart rate and pace. Treat it as a fitness trend to watch over time, not a precise clinical figure.

General information, not medical advice. VO2 max on a consumer wearable is a general wellness signal, not a diagnosis or a clinical assessment of cardiovascular health. Nothing here is medical advice.

A bit more depth

Physiologically, VO2 max represents the ceiling of aerobic energy production — the point where oxygen consumption plateaus even as exercise intensity keeps rising. It is shaped by how much oxygen-rich blood the heart can pump, how well the lungs and blood transport oxygen, and how effectively working muscles extract and use it.

VO2 max tends to rise with consistent endurance training and declines gradually with age, so it is often surfaced alongside a "fitness age" or a fitness-level category. Because it summarizes aerobic capacity in a single number, it is popular in running and endurance apps as a long-run progress marker.

How wearables ESTIMATE it (this is the key point)

Wearables do not measure oxygen uptake. The gold-standard VO2 max is obtained from a graded exercise test in a lab, where you exercise to exhaustion while breathing through a mask that analyzes the oxygen and carbon dioxide in your exhaled air (a method called indirect calorimetry). No consumer device does this.

Instead, wearables model VO2 max from the relationship between heart rate and pace or speed during activity, usually a GPS-tracked run or walk. The core idea: at a given pace, a lower heart rate implies better fitness. The algorithm combines that heart-rate-to-effort relationship with your demographic inputs (age, sex, weight) to output an estimate.

  • Garmin uses Firstbeat Analytics to derive its estimate from HR-versus-pace data during runs.
  • Apple combines heart-rate-response modeling with machine learning, using signals such as walking heart rate, speed, and heart-rate recovery.

Either way, the result is an estimate produced by a model, not a value read off a sensor. That distinction is the single most important thing to communicate when you display it.

Why it matters to a builder

If you integrate a running or wearable data source, VO2 max is one of the most requested "fitness level" fields — but it is easy to misrepresent. Presenting an estimate as if it were a clinical measurement can mislead users and invites health-claim risk (this is health-adjacent, YMYL territory).

Two practical consequences shape your UI and copy:

  1. It is a trend, not an absolute. The most useful thing you can do with VO2 max is show its direction over weeks and months for the same person on the same device — not compare a user's number to other people or to a "normal" chart.
  2. Values are not portable across brands. Because each vendor uses its own model and inputs, the "same" user can get different VO2 max numbers from Apple, Garmin, and others. Don't imply the figures are interchangeable.

How it shows up in a fitness API

VO2 max is typically a single scalar on a user-summary or activity-summary object, updated after a qualifying GPS-tracked run or walk, rather than a per-second time series. A simplified shape often looks like this:

{
  "user_id": "abc123",
  "vo2_max": 47.2,
  "unit": "mL/kg/min",
  "fitness_age": 34,
  "updated_at": "2026-07-12T08:15:00Z",
  "source": "garmin"
}

Common field names include vo2_max or vo2Max, sometimes accompanied by a fitness_age or a category label. Aggregators such as Terra or Vital normalize these across providers, but the underlying value is still each vendor's estimate — confirm the exact field name, unit, and update cadence in the specific API docs you integrate.

Measured vs estimated, and individual variation (honest caveat)

VO2 max from a wearable is a modeled estimate, and its accuracy depends heavily on how it is collected:

  • A meta-analysis (INTERLIVE) found near-zero average bias when the estimate came from an actual workout (about -0.09 mL/kg/min) but meaningful overestimation (about +2.17 mL/kg/min) when estimated at rest. The method mattered more than the brand.
  • A validation study of Apple Watch reported a mean absolute percentage error around 13% (mean absolute error roughly 6.9 mL/kg/min).
  • Firstbeat's own validation reports high correlation (about r = 0.97, roughly 3.5% typical error) under good conditions.

The takeaway: individual estimates can be off by several points, and the same person can see different numbers across devices. Use VO2 max as a ballpark and a trend, not a precise number — and verify any vendor-specific error figures against current docs before you cite them. It is a general fitness signal, never a clinical or diagnostic value.

Where this fits

This page defines VO2 max. When you are ready to integrate it, the hands-on guides go deeper:

  • Wearable data APIs — how VO2 max and other modeled metrics arrive through wearable and aggregator APIs, and how to normalize them.
  • Build a running app — where a VO2 max trend fits into a running product alongside pace, GPS, and heart rate.

For related metrics and their measured-vs-estimated framing, see what is HRV and how fitness apps estimate calories.

Frequently asked questions

Is wearable VO2 max measured or estimated?
Estimated. A true VO2 max comes from a lab graded-exercise test where you breathe through a gas-analysis mask (indirect calorimetry). Wearables do not measure oxygen uptake at all; they model VO2 max from the relationship between your heart rate and pace or speed during activity, usually a GPS-tracked run or walk.
How accurate is VO2 max from a smartwatch?
It varies. Accuracy depends more on method than brand: estimates from an actual workout tend to have low average bias, while resting estimates can overestimate. One Apple Watch validation study reported roughly 13% mean absolute percentage error (as of 2026, verify against the current study). Individual numbers can be off by several points, so use VO2 max as a trend and a ballpark rather than a precise figure.
What is a good VO2 max?
VO2 max is expressed in mL/kg/min, often in the 30s to 50s for many recreational adults and higher for trained endurance athletes, declining gradually with age (directional ranges only — verify against a current source, don't use as cutoffs). Because values are directional and vary by person, age, and device, the most useful comparison is against your own trend over time rather than a fixed target. This is general information, not medical advice.
How does VO2 max appear in a fitness API?
Usually as a single scalar field such as vo2_max or vo2Max in mL/kg/min on a user-summary or activity-summary object, sometimes with a fitness_age or category label. It updates after a qualifying GPS-tracked run or walk rather than as a continuous time series. Confirm the exact field name, unit, and update cadence in the specific vendor or aggregator docs.
Why do Apple and Garmin show different VO2 max numbers?
Each vendor uses its own model and inputs. Garmin relies on Firstbeat Analytics from heart-rate-versus-pace data, while Apple combines heart-rate-response modeling with machine learning using signals like walking heart rate and heart-rate recovery. Because the estimates come from different algorithms, the same person can get different values, and the numbers are not interchangeable across brands.

Keep reading

Independent comparison, last reviewed July 9, 2026. Pricing, rate limits, and feature availability change often — confirm current details in each provider’s official documentation before you commit. Product and company names are trademarks of their respective owners; AIFitnessAPI is not affiliated with, endorsed by, or sponsored by any product listed here.

← All concepts · by AIFitnessAPI