API · /vo2max-api

VO2 Max API

healthy 4,112 Subscribers

Aerobic-capacity (VO2 max) estimation as an API, computed locally and deterministically. The cooper endpoint estimates VO2 max from the Cooper 12-minute run test, VO2max = (distance − 504.9)/44.73, from the distance covered in twelve minutes. The resting endpoint uses the resting heart-rate (Uth-Sørensen) method, VO2max = 15.3 × (HRmax/HRrest), with the maximum heart rate taken directly or as 220 − age — a lower resting pulse signals better fitness. The rockport endpoint applies the Rockport one-mile walk test, a multiple-regression formula on age, weight, sex, walk time and the heart rate at the finish, the most accessible sub-maximal field test. Each result comes with a broad fitness rating from poor to superior and the value in mL/kg/min. Everything is computed locally and deterministically, so it is instant and private. Ideal for fitness, running and endurance-training app developers, coaching and assessment tools, sports-science and wellness dashboards. Pure local computation — no key, no third-party service, instant. Live, nothing stored. Estimates only, not medical advice. 3 endpoints. This is aerobic-capacity estimation; for heart-rate zones use a heart-rate API and for basal metabolism use a BMR API.

api.oanor.com/vo2max-api
Get an API key Try in playground → Contact provider

Machine-readable spec so AI agents can integrate this API.

/api/vo2max-api/openapi.json
/api/vo2max-api/llms.txt

Discovery: GET /api/index.json lists every API.

VO2 Max API — live data on the oanor API marketplace

API health

healthy
Uptime
100.00%
Server probes · 24h
Avg latency
77 ms
Server probes · 24h
Subscribers
4,112
active
Total calls
76
last 7 days
status Full status page → · 12 probes/24h

Pricing

Pick a tier — billed monthly, cancel anytime.

Free

Free

  • 3,000 calls / month
  • 2 requests / second
  • Hard cap (429 above quota, no overage)
  • Cooper 12-minute run VO2 max estimate
  • Deterministic local compute, instant response
  • 3,000 calls/month to prototype your fitness app
Sign in to subscribe

Starter

€4.00 /month

  • 40,000 calls / month
  • 5 requests / second
  • Hard cap (429 above quota, no overage)
  • All Cooper-test VO2 max endpoints
  • Aerobic-capacity output with fitness rating
  • 40,000 calls/month for small fitness apps
  • Email support
Sign in to subscribe

Pro

€12.00 /month

  • 250,000 calls / month
  • 15 requests / second
  • Hard cap (429 above quota, no overage)
  • Full VO2 max + endurance estimation suite
  • Higher 15 rps for workout-session bursts
  • 250,000 calls/month for production wellness apps
  • Priority support
Sign in to subscribe

Mega

€39.00 /month

  • 1,528,000 calls / month
  • 40 requests / second
  • Hard cap (429 above quota, no overage)
  • Unrestricted access to all aerobic-capacity endpoints
  • 40 rps for high-traffic fitness platforms
  • 1,500,000 calls/month at the lowest per-call cost
  • Priority support + uptime SLA
Sign in to subscribe

Built by

Related APIs

Other APIs with overlapping tags.

Swimming API — oanor API marketplace

Swimming API

Swimming maths as an API, computed locally and deterministically — the SWOLF, threshold-pace and per-100 m numbers a swimmer, coach or training app works a set out with. The swolf endpoint scores stroke efficiency for one length: SWOLF (swim + golf) = the strokes taken plus the seconds taken, and like golf lower is better — gliding further per stroke or swimming faster both cut it, so a 25 m length in 18 strokes and 30 s is a SWOLF of 48. Because it is pool-length and stroke dependent, the score is normalized to 25 m so lengths in different pools compare. The css endpoint computes Critical Swim Speed, the swimmer's threshold pace, from two all-out time trials: CSS = (distance1 − distance2) ÷ (time1 − time2) — the classic 400 m and 200 m test, where 6:00 and 2:50 give about 1.05 m/s, a 1:35 / 100 m threshold; training paces are then set as offsets from CSS, the swimmer's equivalent of a runner's threshold or an erg's 2 k pace. The pace endpoint gives speed and the per-100 m pace swimmers actually quote (time ÷ distance × 100), so 100 m in 1:30 is a 1:30 / 100 m pace at 1.11 m/s. Everything is computed locally and deterministically, so it is instant and private. Ideal for swim-training and coaching tools, lap-tracker and triathlon apps, and fitness calculators. Pure local computation — no key, no third-party service, instant. 3 compute endpoints. For running pace use a pace API; for indoor rowing a rowing API.

api.oanor.com/swimming-api

Indoor Rowing API — oanor API marketplace

Indoor Rowing API

Indoor-rowing (Concept2 erg) maths as an API, computed locally and deterministically — the watts, split and calorie numbers a rower, coach or fitness app works a piece out with, using the published Concept2 relations. The split-to-watts endpoint turns a 500 m split into power: on an erg the power is fixed by the pace, not the stroke rate, so watts = 2.80 ÷ pace³ where the pace is the seconds per metre (the split ÷ 500) — a 2:00 split is about 202 W. Because power goes as the inverse cube of pace, small split gains cost a lot of watts: pulling 1:50 instead of 2:00 is roughly 270 W, not 220. The watts-to-split endpoint inverts it — pace = (2.80 ÷ watts)^(1/3), split = pace × 500 — so a target wattage maps to the split on the monitor and a rower's power compares directly with a cyclist's or any other watts figure. The calories endpoint applies the Concept2 calorie formula, Cal/hr = (watts × 4 × 0.8604) + 300, where the +300 is a fixed resting-metabolism term that makes the erg's count run higher than pure mechanical work; 200 W is about 988 Cal/hr, roughly 494 calories over 30 minutes. Everything is computed locally and deterministically, so it is instant and private. Ideal for rowing and erg training tools, coaching and leaderboard apps, and fitness calculators. Pure local computation — no key, no third-party service, instant. Concept2 model — a machine estimate, not lab calorimetry. 3 compute endpoints. For running pace use a pace API; for cycling a cycling API.

api.oanor.com/rowing-api

Powerlifting Score API — oanor API marketplace

Powerlifting Score API

Powerlifting strength-score maths as an API, computed locally and deterministically — the Wilks, DOTS and IPF GL numbers a meet, gym or training app uses to compare lifters across bodyweights and sexes. The wilks endpoint gives the classic Wilks coefficient (1996) and score: total × 500 ÷ a fifth-order polynomial in bodyweight, with separate male and female curves — long the federation standard for "best lifter", a 100 kg man totalling 600 kg scores about 365. The dots endpoint gives the modern DOTS score (2019), the same total × 500 ÷ polynomial idea but fitted to updated data with a fourth-order curve that is fairer across the weight classes and not skewed to the middleweights, now the default in most raw meet software. The ipf-gl endpoint gives the International Powerlifting Federation's current GL Points (2020): 100 × total ÷ (A − B·e^(−C·bodyweight)), with separate constants for sex and for raw (classic) versus equipped lifting, the official metric at IPF championships. Everything is computed locally and deterministically, so it is instant and private. Ideal for meet-management and scoring software, gym leaderboards and training-log apps, and strength-sport tools. Pure local computation — no key, no third-party service, instant. 3 compute endpoints. For one-rep-max estimation and plate loading use a strength-training API.

api.oanor.com/powerlifting-api

Barbell & Lifting API — oanor API marketplace

Barbell & Lifting API

Barbell and weight-training maths as an API, computed locally and deterministically — the plate-loading and percentage numbers a lifter, coach or gym app works out at the rack. The plates endpoint solves the everyday gym puzzle of which plates go on each side for a target weight: 100 kg on a standard 20 kg bar means 40 kg a side, loaded heaviest first as a 25 and a 15; 102.5 kg adds the 1.25 micro-plate; and if a target is not reachable with the plates on hand it loads the closest it can and tells you the shortfall, so you never guess. It works in kilograms or pounds (225 lb on a 45 lb bar is two 45s a side), with a custom bar weight and a custom plate set. The percent endpoint turns a one-rep-max into the working weight you actually load: 80 % of a 100 kg max is 80 kg, and asking for a five-rep weight returns about 85.7 kg via the Epley formula (1RM = weight × (1 + reps ÷ 30)) — five reps sits near 86 % of max, ten reps near 75 %. The warmup endpoint builds a ramp from the empty bar to the working set at roughly 40, 55, 70 and 85 %, each rounded to a loadable increment, with the rep count dropping as the bar gets heavy. Everything is computed locally and deterministically, so it is instant and private. Ideal for gym, strength-training, powerlifting and fitness app developers, workout-logger and coaching tools, and smart-rack and plate-calculator builders. Pure local computation — no key, no third-party service, instant. Exact maths, no simulation. Live, nothing stored. 3 compute endpoints. For one-rep-max estimation from a set use a strength API.

api.oanor.com/barbell-api

Frequently asked questions

Quick answers about pricing, quotas, and integration.

How do I get an API key for VO2 Max API?
Sign up for free at oanor.com, generate an API key from the developer dashboard, and call VO2 Max API with the x-oanor-key header. No credit card needed for the free tier.
What's the rate limit for VO2 Max API?
Free tier allows 1 request per second. Paid plans scale up to 50 requests per second on the Mega tier. Hard limits return HTTP 429 above the quota — no surprise overage charges.
How much does VO2 Max API cost?
VO2 Max API has a free tier with 100 calls / month. Paid plans start at €4.00 / month with higher quotas and faster rate limits.
Can I cancel my subscription anytime?
Yes. Plans are billed monthly and you can cancel anytime from your billing dashboard. No long-term contracts and no cancellation fee.
Is VO2 Max API GDPR-compliant?
All requests to VO2 Max API go through our EU-based gateway. Your upstream API key never leaves our server and no personal data is shared with the upstream provider beyond the request you send.

Pick an endpoint from the list on the left to see its details and try it.

Code snippets

Sign up to get an API key, then call any path under your slug.

curl https://api.oanor.com/vo2max-api/SOME_PATH \
  -H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/vo2max-api/SOME_PATH", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/vo2max-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
    "https://api.oanor.com/vo2max-api/SOME_PATH",
    headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())

Ratings

Sign in to rate.

No reviews yet.

Discussion

Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.

Sign in to start a thread or reply.

Sign in

New thread

/ 4000

📌 Pinned 🔒 Locked

·

· ·

/ 4000

🔒 This thread is locked — no new replies.

  • No threads yet — start the discussion.

Support

Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.

Sign in to open a support ticket.

Sign in

Open new ticket

Describe what you need help with. The provider team gets an email and replies on the ticket page.

  • No tickets yet for this API.

Subscription active — calls can start immediately.

Send your first request —

Subscription active — copy a snippet and fire off your first call.