musclewiki.com APImusclewiki.com ↗
Search and retrieve exercises from MuscleWiki. Filter by muscle group, equipment type, or keyword. Get steps, images, videos, and difficulty for each exercise.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/475e3660-3ef2-46a3-a37d-c3a792b39793/get_exercise_types' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns the list of available equipment types (categories) that can be used to filter exercises via the get_exercises endpoint.
No input parameters required.
{
"type": "object",
"fields": {
"equipments": "array of objects with id (integer) and name (string) for each equipment type"
},
"sample": {
"data": {
"equipments": [
{
"id": 1,
"name": "Barbell"
},
{
"id": 2,
"name": "Dumbbells"
},
{
"id": 3,
"name": "Bodyweight"
}
]
},
"status": "success"
}
}About the musclewiki.com API
The MuscleWiki API exposes 4 endpoints for browsing and retrieving exercise data, including full exercise details with form steps, gendered images, and video demonstrations. Use get_exercises to search and paginate across the full exercise catalog with filters for muscle group and equipment type, or call get_exercise_details to pull structured data for a single exercise including difficulty level, grip types, and targeted muscles.
Exercise Search and Filtering
The get_exercises endpoint accepts up to five optional parameters: query for keyword search, muscle_id and equipment_id for categorical filtering (using IDs from get_muscle_groups and get_exercise_types), and limit/offset for pagination. Each result in the results array includes the exercise id, name, slug, url, thumbnail, equipment, muscles, and difficulty. The total and has_next fields make it straightforward to walk through large result sets page by page.
Lookup Tables
Before filtering, call get_muscle_groups to retrieve the full list of muscle group objects (each with an id and name), and get_exercise_types to get available equipment categories in the same shape. These IDs are what get_exercises expects for the muscle_id and equipment_id filter params. There is no free-text equivalent for these filters; the integer IDs are required.
Exercise Detail
Passing an exercise_id to get_exercise_details returns a richer object: the images and videos fields each contain male and female sub-arrays, so you can surface gender-specific demonstrations. Videos include both a url and a thumbnail. The grips array lists applicable grip variations with their own IDs and names. Additional fields cover difficulty, equipment, seo_tags, and the canonical url and slug for deep-linking.
- Build a workout planner that filters exercises by target muscle group using
muscle_idand available gym equipment usingequipment_id. - Populate an exercise library app with thumbnails, difficulty ratings, and video demonstrations from
get_exercise_details. - Generate equipment-specific workout programs by querying
get_exercise_typesthen listing matching exercises per category. - Display gendered exercise animations or images using the
maleandfemalearrays in theimagesandvideosfields. - Implement an exercise search bar backed by the
queryparameter onget_exerciseswith paginated results. - Catalog exercises by grip variation using the
gripsarray returned in detailed exercise responses. - Build a difficulty-tier workout selector by filtering
get_exercisesresults by thedifficultyfield in each summary.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does MuscleWiki have an official developer API?+
What does `get_exercise_details` return that `get_exercises` does not?+
get_exercises returns a summary per exercise: id, name, slug, thumbnail, equipment, muscles, and difficulty. get_exercise_details adds grips, full images and videos objects with both male and female variants, seo_tags, and the canonical url. It does not include free-text step-by-step form instructions as a discrete field; narrative content is not a named field in the response schema.Can I filter exercises by both muscle group and equipment type at the same time?+
get_exercises endpoint accepts both muscle_id and equipment_id as independent optional parameters, and they can be combined in a single request along with a query keyword and pagination controls.Does the API return user-submitted exercises or community content like workout routines?+
How does pagination work in `get_exercises`?+
limit, offset, total, and has_next. Pass offset incremented by limit on each subsequent request to step through pages. has_next being false indicates you have reached the end of the result set.