{"openapi":"3.1.0","info":{"title":"Exercises API","version":"1.0.0","description":"A complete exercise and workout database covering 870+ exercises: search and filter by target muscle, required equipment, category, difficulty level, force type and mechanic, fetch a single exercise with step-by-step instructions, primary and secondary muscles and demonstration images, pull a random exercise matching any filter, and read all available facet values to build filter UIs. Every endpoint accepts input via the query string or the request body and returns lean, predictable JSON. Pure server-side data (no third-party upstream), so responses are instant and always available. Ideal for fitness and gym apps, workout planners, personal-trainer tools and health platforms.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/exercises-api","description":"oanor gateway"}],"tags":[{"name":"Exercises"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/exercise":{"get":{"operationId":"get_v1_exercise","tags":["Exercises"],"summary":"Single exercise (full detail) by id","description":"","parameters":[{"name":"id","in":"query","required":true,"description":"Exercise id","schema":{"type":"string"},"example":"Barbell_Full_Squat"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":"Barbell_Full_Squat","name":"Barbell Full Squat","force":"push","level":"intermediate","images":["https://raw.githubusercontent.com/yuhonas/free-exercise-db/main/exercises/Barbell_Full_Squat/0.jpg","https://raw.githubusercontent.com/yuhonas/free-exercise-db/main/exercises/Barbell_Full_Squat/1.jpg"],"category":"strength","mechanic":"compound","equipment":"barbell","instructions":["This exercise is best performed inside a squat rack for safety purposes. To begin, first set the bar on a rack just above shoulder level. Once the correct height is chosen and the bar is loaded, step under the bar and place the back of your shoulders (slightly below the neck) across it.","Hold on to the bar using both arms at each side and lift it off the rack by first pushing with your legs and at the same time straightening your torso.","Step away from the rack and position your legs using a shoulder-width medium stance with the toes slightly pointed out. Keep your head up at all times and maintain a straight back. This will be your starting position.","Begin to slowly lower the bar by bending the knees and sitting back with your hips as you maintain a straight posture with the head up. Continue down until your hamstrings are on your calves. Inhale as you perform this portion of the movement.","Begin to raise the bar as you exhale by pushing the floor with the heel or middle of your foot as you straighten the legs and extend the hips to go back to the starting position.","Repeat for the recommended amount of repetitions."],"primaryMuscles":["quadriceps"],"secondaryMuscles":["calves","glutes","hamstrings","lower back"]},"meta":{"timestamp":"2026-05-30T22:48:34.402Z","request_id":"5fb23d7b-b8df-4508-be6a-59878fe846d0"},"status":"ok","message":"Exercise retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Exercises"],"summary":"Facet values (muscles/equipment/categories/...)","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"total":873,"forces":["pull","push","static"],"levels":["beginner","expert","intermediate"],"muscles":["abdominals","abductors","adductors","biceps","calves","chest","forearms","glutes","hamstrings","lats","lower back","middle back","neck","quadriceps","shoulders","traps","triceps"],"equipment":["bands","barbell","body only","cable","dumbbell","e-z curl bar","exercise ball","foam roll","kettlebells","machine","medicine ball","other"],"mechanics":["compound","isolation"],"categories":["cardio","olympic weightlifting","plyometrics","powerlifting","strength","stretching","strongman"]},"meta":{"timestamp":"2026-05-30T22:48:34.474Z","request_id":"38168f9e-62b3-4ea1-ad13-cddb3179a3dc"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/random":{"get":{"operationId":"get_v1_random","tags":["Exercises"],"summary":"Random exercise(s) by filter","description":"","parameters":[{"name":"muscle","in":"query","required":false,"description":"Target muscle","schema":{"type":"string"}},{"name":"equipment","in":"query","required":false,"description":"Equipment","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Category","schema":{"type":"string"}},{"name":"size","in":"query","required":false,"description":"1..10 (default 1)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":1,"filters":[],"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","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}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["Exercises"],"summary":"Search & filter exercises","description":"","parameters":[{"name":"q","in":"query","required":false,"description":"Free-text","schema":{"type":"string"},"example":"squat"},{"name":"muscle","in":"query","required":false,"description":"Target muscle","schema":{"type":"string"},"example":"chest"},{"name":"equipment","in":"query","required":false,"description":"Equipment","schema":{"type":"string"},"example":"barbell"},{"name":"category","in":"query","required":false,"description":"Category","schema":{"type":"string"},"example":"strength"},{"name":"level","in":"query","required":false,"description":"beginner|intermediate|expert","schema":{"type":"string"},"example":"beginner"},{"name":"force","in":"query","required":false,"description":"push|pull|static","schema":{"type":"string"},"example":"push"},{"name":"mechanic","in":"query","required":false,"description":"compound|isolation","schema":{"type":"string"},"example":"compound"},{"name":"limit","in":"query","required":false,"description":"1..100 (default 20)","schema":{"type":"string"},"example":"20"},{"name":"offset","in":"query","required":false,"description":"Offset","schema":{"type":"string"},"example":"0"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":0,"limit":20,"total":0,"offset":0,"filters":{"q":"squat","force":"push","level":"beginner","muscle":"chest","category":"strength","mechanic":"compound","equipment":"barbell"},"results":[]},"meta":{"timestamp":"2026-05-30T22:48:34.597Z","request_id":"02050a16-1362-44a1-ac41-82803ed72186"},"status":"ok","message":"Search completed","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":15000,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":700,"monthly_call_quota":200000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2200,"monthly_call_quota":1500000,"rps_limit":25,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5500,"monthly_call_quota":7000000,"rps_limit":60,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/exercises-api"}