/v1/meta
Spec
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/heartrate-api/v1/meta" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/heartrate-api/v1/meta", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/heartrate-api/v1/meta");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/heartrate-api/v1/meta",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"name": "Heart Rate Zone API",
"notes": "HRmax from age by Fox/Tanaka/Gulati, or pass max_hr. With resting_hr the Karvonen (heart-rate-reserve) method is used. Informational, not medical advice. Nothing is stored.",
"version": "v1",
"endpoints": [
{
"path": "/v1/max-heart-rate",
"params": {
"age": "years"
},
"returns": "estimated HRmax by the Fox, Tanaka and Gulati formulas"
},
{
"path": "/v1/zones",
"params": {
"age": "years (or max_hr)",
"formula": "fox|tanaka|gulati (default fox)",
"resting_hr": "for Karvonen (optional)"
},
"returns": "the five training zones in bpm"
},
{
"path": "/v1/target",
"params": {
"age": "years (or max_hr)",
"intensity": "percent, e.g. 70",
"resting_hr": "for Karvonen (optional)"
},
"returns": "the target heart rate"
},
{
"path": "/v1/meta",
"params": [],
"returns": "this document"
}
],
"description": "Heart-rate training maths as an API. The max-heart-rate endpoint estimates maximum heart rate from age by the three common formulas — Fox (220 − age), Tanaka (208 − 0.7 × age) and Gulati (206 − 0.88 × age, validated for women). The zones endpoint returns the five training zones (recovery, endurance, aerobic, threshold and maximal) as beats-per-minute ranges, computed either as a simple percentage of the maximum heart rate or, when you give a resting heart rate, by the more accurate Karvonen heart-rate-reserve method. The target endpoint computes the target heart rate for any intensity, by percentage of max or by Karvonen. You can pass an age (and pick a formula) or give your own measured max heart rate. Everything is computed locally and deterministically, so it is instant and private. Ideal for fitness and running apps, wearables and gym equipment, coaching tools, and cardio training. Informational only — not medical advice. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. This is heart-rate maths; for BMI/BMR/calories use a health-calculator API and for running pace use a pace API."
},
"meta": {
"timestamp": "2026-06-03T17:42:08.962Z",
"request_id": "8d10ae78-259e-4af7-bed3-2667a568d71d"
},
"status": "ok",
"message": "Meta",
"success": true
}