/v1/power
Estimate cycling power
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/cycling-api/v1/power" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/cycling-api/v1/power", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/cycling-api/v1/power");
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/cycling-api/v1/power",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"speed_kmh": 30,
"weight_kg": 75,
"parameters": {
"cda": 0.3,
"crr": 0.005,
"efficiency": 0.97,
"air_density": 1.225,
"headwind_kmh": 0
},
"power_watts": 141.22,
"watts_per_kg": 1.883,
"grade_percent": 0,
"breakdown_watts": {
"gravity": 0,
"rolling": 31.594,
"aerodynamic": 109.63
}
},
"meta": {
"timestamp": "2026-06-03T17:42:04.650Z",
"request_id": "4fc5c651-5b28-491f-903a-abecf1f4e749"
},
"status": "ok",
"message": "Power",
"success": true
}