{"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"},"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"},"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"},"example":"biceps"},{"name":"equipment","in":"query","required":false,"description":"Equipment","schema":{"type":"string"},"example":"dumbbell"},{"name":"category","in":"query","required":false,"description":"Category","schema":{"type":"string"},"example":"cardio"},{"name":"size","in":"query","required":false,"description":"1..10 (default 1)","schema":{"type":"string"},"example":"1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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"},"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"}