/v1/random
Random exercise(s) by filter
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/exercises-api/v1/random" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/exercises-api/v1/random", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/exercises-api/v1/random");
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/exercises-api/v1/random",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"count": 1,
"filters": {
"q": null,
"force": null,
"level": null,
"muscle": null,
"category": null,
"mechanic": null,
"equipment": null
},
"results": [
{
"id": "Dynamic_Chest_Stretch",
"name": "Dynamic Chest Stretch",
"force": "pull",
"level": "beginner",
"images": [
"https://raw.githubusercontent.com/yuhonas/free-exercise-db/main/exercises/Dynamic_Chest_Stretch/0.jpg",
"https://raw.githubusercontent.com/yuhonas/free-exercise-db/main/exercises/Dynamic_Chest_Stretch/1.jpg"
],
"category": "stretching",
"mechanic": null,
"equipment": null,
"instructions": [
"Stand with your hands together, arms extended directly in front of you. This will be your starting position.",
"Keeping your arms straight, quickly move your arms back as far as possible and back in again, similar to an exaggerated clapping motion. Repeat 5-10 times, increasing speed as you do so."
],
"primaryMuscles": [
"chest"
],
"secondaryMuscles": [
"middle back"
]
}
]
},
"meta": {
"timestamp": "2026-05-31T02:39:56.531Z",
"request_id": "c4cc3cd0-9981-4f3b-b799-92477f3fb5f4"
},
"status": "ok",
"message": "Random exercise retrieved",
"success": true
}