ExerciseDB

App · Health & Fitness · 16 actions

Look up exercises from a workflow: 1,500 of them, each with an animated GIF, the muscle it targets, the muscles it also works, the body part and the equipment it needs, plus step-by-step instructions. Search by name or by a rough idea, filter by body part, muscle and equipment at once, pull everything for one muscle, draw a random exercise, or build a whole workout spread evenly across the areas you name and the kit you actually have. Every action reads: nothing here changes anything. No account or API key required.

Actions

ActionWhat it does
Build a workoutPut together a workout from the catalogue, spread evenly across the areas you name.
Check the API statusAsk ExerciseDB's health check whether the service is up.
Filter exercisesFind exercises matching several criteria at once.
Find an exercise by nameTurn an exercise name into its record, without guessing.
Get an exerciseGet one exercise in full: its GIF, the muscle it targets, the muscles it also works, the body part, the equipment and every instruction step.
Get how to do an exerciseGet one exercise's instructions, numbered and ready to send.
Get random exercisesDraw exercises at random, optionally from a narrowed pool.
List body partsThe ten areas of the body the dataset files its exercises under, from ExerciseDB's own body-part endpoint.
List equipmentThe twenty-eight kinds of equipment the dataset names, from ExerciseDB's own equipment endpoint.
List exercisesRead the catalogue of 1,500 exercises, optionally narrowed to names matching some text.
List exercises for a body partEvery exercise for one area of the body, matched exactly rather than fuzzily, so 'chest' returns the 191 chest exercises and nothing that merely mentions the word.
List exercises for a muscleEvery exercise that works one muscle.
List exercises for a piece of equipmentEvery exercise that uses one piece of equipment.
List musclesThe fifty muscles the dataset names, from ExerciseDB's own muscle endpoint.
Search exercisesSearch the catalogue when you do not know the exact words.
Summarise the catalogueSee what the dataset actually holds: every body part, target muscle and piece of equipment, each with how many exercises carry it, commonest first.

Build a workout

Put together a workout from the catalogue, spread evenly across the areas you name. Asking for six exercises over chest, back and legs gives two of each rather than five chest movements and a plank, and limiting the equipment keeps it to what is actually available. Set a seed for a plan that repeats, or leave it empty for a fresh one each run.

Inputs

Body partsbody_partslist
Keep only exercises for these areas of the body. Picking several widens the search: chest and back returns both. Leave it empty for every area.
Equipmentequipmentlist
Keep only exercises that use this equipment. Picking several widens the search, so list everything available and the result is what can actually be done with it. Leave it empty for every kind.
How many exercisesexercise_countnumber
How many exercises the workout should hold. Defaults to six.From 1 to 30. Default: 6.
Repeatable seedseedtext
Set this to any text to make the draw repeatable: the same seed over the same catalogue always picks the same exercises. Leave it empty for a different set every run.

Outputs

areas_coveredlist
The body parts the workout touches
attributiontext
The credit to carry
body_parts_requestedlist
countnumber
How many the workout holds
coversobject
equipment_requestedlist
exercise_idslist
exerciseslist
exercises_by_body_partobject
The exercise names grouped under each body part
has_moretrue/false
Always false
limitnumber
The count asked for
nameslist
pool_sizenumber
How many exercises the criteria left to choose from
requested_countnumber
How many were asked for
returnednumber
How many were drawn
seedtext
The seed used, if any
total_exercisesnumber
The pool size
Example output
{
  "areas_covered": [
    "chest"
  ],
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "body_parts_requested": [
    "chest"
  ],
  "count": 2,
  "covers": {
    "body_parts": [
      "chest"
    ],
    "equipments": [
      "barbell"
    ],
    "target_muscles": [
      "pectorals"
    ]
  },
  "equipment_requested": [
    "barbell"
  ],
  "exercise_ids": [
    "EIeI8Vf",
    "3TZduzM"
  ],
  "exercises": [
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "EIeI8Vf",
      "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
      "instructions": [
        "Lie flat on a bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "Lift the barbell off the rack and hold it directly above your chest.",
        "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
        "Pause for a moment when the barbell touches your chest.",
        "Push the barbell back up to the starting position.",
        "Repeat for the desired number of repetitions."
      ],
      "name": "barbell bench press",
      "secondary_muscles": [
        "triceps",
        "shoulders"
      ],
      "step_count": 7,
      "steps": [
        {
          "detail": "Lie flat on a bench with your feet flat on the ground.",
          "number": 1,
          "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
        },
        {
          "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
          "number": 2,
          "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
        },
        {
          "detail": "Lift the barbell off the rack and hold it directly above your chest.",
          "number": 3,
          "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    },
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "3TZduzM",
      "gif_url": "https://static.exercisedb.dev/media/3TZduzM.gif",
      "instructions": [
        "Set up an incline bench at a 45-degree angle.",
        "Lie down on the bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip, slightly wider than shoulder-width apart."
      ],
      "name": "barbell incline bench press",
      "secondary_muscles": [
        "shoulders",
        "triceps"
      ],
      "step_count": 6,
      "steps": [
        {
          "detail": "Set up an incline bench at a 45-degree angle.",
          "number": 1,
          "text": "Step:1 Set up an incline bench at a 45-degree angle."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    }
  ],
  "exercises_by_body_part": {
    "chest": [
      "barbell bench press",
      "barbell incline bench press"
    ]
  },
  "has_more": false,
  "limit": 2,
  "names": [
    "barbell bench press",
    "barbell incline bench press"
  ],
  "pool_size": 170,
  "requested_count": 2,
  "returned": 2,
  "seed": "week-1",
  "total_exercises": 170
}

Check the API status

Ask ExerciseDB's health check whether the service is up. Use it to gate a longer workflow, or as a one-step check that the connection works. The free tier is rate limited, so this also surfaces a throttled connection before a bigger step hits it.

Inputs

None.

Outputs

attributiontext
The credit to carry
base_urltext
The host that was checked
detailsobject
The health check's whole body, or null
messagetext
Whatever the health check said, or null
reachabletrue/false
True when the health check answered without an error
status_codenumber
The HTTP status it sent
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "base_url": "https://oss.exercisedb.dev/api/v1",
  "details": {
    "message": "ok",
    "success": true
  },
  "message": "ok",
  "reachable": true,
  "status_code": 200
}

Filter exercises

Find exercises matching several criteria at once. Choosing more than one value in a field widens the search and adding a second field narrows it, so chest or back, with a barbell or dumbbell, means exactly that. This is the action to reach for when planning around what somebody actually has to hand.

Inputs

Body partsbody_partslist
Keep only exercises for these areas of the body. Picking several widens the search: chest and back returns both. Leave it empty for every area.
Musclesmuscleslist
Keep only exercises that work these muscles. Picking several widens the search. Leave it empty for every muscle.
Supporting musclessecondary_muscleslist
Keep only exercises that work these muscles in support, rather than targeting them. ExerciseDB filters on supporting muscles separately from target muscles, so this is the field for 'anything that also works the triceps'. Leave it empty to ignore supporting muscles.
Equipmentequipmentlist
Keep only exercises that use this equipment. Picking several widens the search, so list everything available and the result is what can actually be done with it. Leave it empty for every kind.
Name containsname_containstext
Keep only exercises whose name contains this text. Case and accents are ignored, and the match is literal rather than fuzzy, so 'incline' finds the incline variations and nothing else.
How many to returnlimitnumber
How many exercises to return. ExerciseDB serves 25 a page and this follows its cursor for as many pages as the number needs, so the 25-per-request cap is not a ceiling here. Defaults to 25; a larger number costs proportionally more requests.From 1 to 1500. Default: 25.

Outputs

attributiontext
The credit to carry
body_parts_requestedlist
The body parts the filter was given
countnumber
How many are in this result
coversobject
equipment_requestedlist
The equipment the filter was given
exercise_idslist
exerciseslist
has_moretrue/false
True when more match
hinttext
Set only when a muscle filter came back empty for a fixable reason: the muscle is never a target muscle, only a supporting one. Names the switch that would find it
include_secondarytrue/false
Whether supporting muscles counted
limitnumber
The limit actually used
muscles_requestedlist
The target muscles the filter was given
name_containstext
The text the names had to contain
nameslist
returnednumber
How many came back
secondary_muscles_requestedlist
The supporting muscles the filter was given
total_exercisesnumber
How many matched the filters before paging
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "body_parts_requested": [
    "chest"
  ],
  "count": 2,
  "covers": {
    "body_parts": [
      "chest"
    ],
    "equipments": [
      "barbell"
    ],
    "target_muscles": [
      "pectorals"
    ]
  },
  "equipment_requested": [
    "barbell"
  ],
  "exercise_ids": [
    "EIeI8Vf",
    "3TZduzM"
  ],
  "exercises": [
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "EIeI8Vf",
      "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
      "instructions": [
        "Lie flat on a bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "Lift the barbell off the rack and hold it directly above your chest.",
        "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
        "Pause for a moment when the barbell touches your chest.",
        "Push the barbell back up to the starting position.",
        "Repeat for the desired number of repetitions."
      ],
      "name": "barbell bench press",
      "secondary_muscles": [
        "triceps",
        "shoulders"
      ],
      "step_count": 7,
      "steps": [
        {
          "detail": "Lie flat on a bench with your feet flat on the ground.",
          "number": 1,
          "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
        },
        {
          "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
          "number": 2,
          "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
        },
        {
          "detail": "Lift the barbell off the rack and hold it directly above your chest.",
          "number": 3,
          "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    },
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "3TZduzM",
      "gif_url": "https://static.exercisedb.dev/media/3TZduzM.gif",
      "instructions": [
        "Set up an incline bench at a 45-degree angle.",
        "Lie down on the bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip, slightly wider than shoulder-width apart."
      ],
      "name": "barbell incline bench press",
      "secondary_muscles": [
        "shoulders",
        "triceps"
      ],
      "step_count": 6,
      "steps": [
        {
          "detail": "Set up an incline bench at a 45-degree angle.",
          "number": 1,
          "text": "Step:1 Set up an incline bench at a 45-degree angle."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    }
  ],
  "has_more": true,
  "hint": null,
  "include_secondary": false,
  "limit": 2,
  "muscles_requested": [],
  "name_contains": null,
  "names": [
    "barbell bench press",
    "barbell incline bench press"
  ],
  "returned": 2,
  "secondary_muscles_requested": [],
  "total_exercises": 191
}

Find an exercise by name

Turn an exercise name into its record, without guessing. The name is matched exactly first and then as a substring, and a name matching several exercises is refused with the candidates listed rather than resolved to an arbitrary one. Use it to look up something a person named, where picking the wrong movement would be worse than asking again.

Inputs

Exercise namenametextRequired
The name to look up. Case and accents are ignored.

Outputs

attributiontext
The credit to carry
exerciseobject
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "exercise": {
    "all_muscles": [
      "pectorals",
      "shoulders",
      "triceps"
    ],
    "body_part": "chest",
    "body_parts": [
      "chest"
    ],
    "equipment": "barbell",
    "equipments": [
      "barbell"
    ],
    "exercise_id": "EIeI8Vf",
    "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
    "instructions": [
      "Lie flat on a bench with your feet flat on the ground.",
      "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
      "Lift the barbell off the rack and hold it directly above your chest.",
      "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
      "Pause for a moment when the barbell touches your chest.",
      "Push the barbell back up to the starting position.",
      "Repeat for the desired number of repetitions."
    ],
    "name": "barbell bench press",
    "secondary_muscles": [
      "triceps",
      "shoulders"
    ],
    "step_count": 7,
    "steps": [
      {
        "detail": "Lie flat on a bench with your feet flat on the ground.",
        "number": 1,
        "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
      },
      {
        "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "number": 2,
        "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
      },
      {
        "detail": "Lift the barbell off the rack and hold it directly above your chest.",
        "number": 3,
        "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
      }
    ],
    "target_muscle": "pectorals",
    "target_muscles": [
      "pectorals"
    ]
  }
}

Get an exercise

Get one exercise in full: its GIF, the muscle it targets, the muscles it also works, the body part, the equipment and every instruction step. Takes an exercise id or a name, so a step can feed it either an id from an earlier search or a name a person typed.

Inputs

ExerciseexercisetextRequired
The exercise to look up, by its id or by its name. An id such as 'EIeI8Vf' is used as given; anything else is matched against the catalogue's names, exactly first and then as a substring. A name that matches several exercises is refused with the candidates listed, rather than resolved to whichever happened to come first.

Outputs

attributiontext
The credit to carry
exerciseobject
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "exercise": {
    "all_muscles": [
      "pectorals",
      "shoulders",
      "triceps"
    ],
    "body_part": "chest",
    "body_parts": [
      "chest"
    ],
    "equipment": "barbell",
    "equipments": [
      "barbell"
    ],
    "exercise_id": "EIeI8Vf",
    "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
    "instructions": [
      "Lie flat on a bench with your feet flat on the ground.",
      "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
      "Lift the barbell off the rack and hold it directly above your chest.",
      "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
      "Pause for a moment when the barbell touches your chest.",
      "Push the barbell back up to the starting position.",
      "Repeat for the desired number of repetitions."
    ],
    "name": "barbell bench press",
    "secondary_muscles": [
      "triceps",
      "shoulders"
    ],
    "step_count": 7,
    "steps": [
      {
        "detail": "Lie flat on a bench with your feet flat on the ground.",
        "number": 1,
        "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
      },
      {
        "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "number": 2,
        "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
      },
      {
        "detail": "Lift the barbell off the rack and hold it directly above your chest.",
        "number": 3,
        "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
      }
    ],
    "target_muscle": "pectorals",
    "target_muscles": [
      "pectorals"
    ]
  }
}

Get how to do an exercise

Get one exercise's instructions, numbered and ready to send. The steps come back both as a list and as one block of text, with the demonstration GIF and the muscles worked alongside them, so a workflow can drop the whole thing into an email or a message without assembling it.

Inputs

ExerciseexercisetextRequired
The exercise to look up, by its id or by its name. An id such as 'EIeI8Vf' is used as given; anything else is matched against the catalogue's names, exactly first and then as a substring. A name that matches several exercises is refused with the candidates listed, rather than resolved to whichever happened to come first.

Outputs

attributiontext
The credit to carry
body_parttext
The area of the body
equipmenttext
The equipment needed
exercise_idtext
The dataset's id
gif_urltext
The demonstration GIF
instructionslist
The same steps as plain sentences
instructions_texttext
Every step as one numbered block, ready to send
nametext
The exercise's name
secondary_muscleslist
The muscles worked as supporting ones
step_countnumber
How many steps
stepslist
The steps, numbered
target_muscletext
The muscle targeted
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "body_part": "chest",
  "equipment": "barbell",
  "exercise_id": "EIeI8Vf",
  "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
  "instructions": [
    "Lie flat on a bench with your feet flat on the ground."
  ],
  "instructions_text": "1. Lie flat on a bench with your feet flat on the ground.",
  "name": "barbell bench press",
  "secondary_muscles": [
    "triceps",
    "shoulders"
  ],
  "step_count": 7,
  "steps": [
    {
      "detail": "Lie flat on a bench with your feet flat on the ground.",
      "number": 1,
      "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
    }
  ],
  "target_muscle": "pectorals"
}

Get random exercises

Draw exercises at random, optionally from a narrowed pool. Use it for an exercise of the day, or to vary a routine without repeating yourself. Set a seed to make the draw repeatable, or leave it empty for something different each run.

Inputs

How manycountnumber
How many exercises to draw. Defaults to one.From 1 to 50. Default: 1.
Body partsbody_partslist
Keep only exercises for these areas of the body. Picking several widens the search: chest and back returns both. Leave it empty for every area.
Musclesmuscleslist
Keep only exercises that work these muscles. Picking several widens the search. Leave it empty for every muscle.
Equipmentequipmentlist
Keep only exercises that use this equipment. Picking several widens the search, so list everything available and the result is what can actually be done with it. Leave it empty for every kind.
Repeatable seedseedtext
Set this to any text to make the draw repeatable: the same seed over the same catalogue always picks the same exercises. Leave it empty for a different set every run.

Outputs

attributiontext
The credit to carry
countnumber
How many were drawn
coversobject
exercise_idslist
exerciseslist
has_moretrue/false
Always false
limitnumber
The count asked for
nameslist
pool_sizenumber
How many were available to draw from
requested_countnumber
How many were asked for
returnednumber
How many were drawn
seedtext
The seed used, if any
total_exercisesnumber
The pool size
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "count": 1,
  "covers": {
    "body_parts": [
      "chest"
    ],
    "equipments": [
      "barbell"
    ],
    "target_muscles": [
      "pectorals"
    ]
  },
  "exercise_ids": [
    "EIeI8Vf"
  ],
  "exercises": [
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "EIeI8Vf",
      "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
      "instructions": [
        "Lie flat on a bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "Lift the barbell off the rack and hold it directly above your chest.",
        "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
        "Pause for a moment when the barbell touches your chest.",
        "Push the barbell back up to the starting position.",
        "Repeat for the desired number of repetitions."
      ],
      "name": "barbell bench press",
      "secondary_muscles": [
        "triceps",
        "shoulders"
      ],
      "step_count": 7,
      "steps": [
        {
          "detail": "Lie flat on a bench with your feet flat on the ground.",
          "number": 1,
          "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
        },
        {
          "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
          "number": 2,
          "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
        },
        {
          "detail": "Lift the barbell off the rack and hold it directly above your chest.",
          "number": 3,
          "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    }
  ],
  "has_more": false,
  "limit": 1,
  "names": [
    "barbell bench press"
  ],
  "pool_size": 1500,
  "requested_count": 1,
  "returned": 1,
  "seed": null,
  "total_exercises": 1500
}

List body parts

The ten areas of the body the dataset files its exercises under, from ExerciseDB's own body-part endpoint. Use it to check a value before filtering on it, or to drive a loop over every area.

Inputs

None.

Outputs

attributiontext
The credit to carry
body_partslist
The body part names, sorted
countnumber
How many there are
sourcetext
The endpoint the names came from
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "body_parts": [
    "back",
    "cardio",
    "chest",
    "lower arms",
    "lower legs",
    "neck",
    "shoulders",
    "upper arms",
    "upper legs",
    "waist"
  ],
  "count": 10,
  "source": "/bodyparts"
}

List equipment

The twenty-eight kinds of equipment the dataset names, from ExerciseDB's own equipment endpoint. These are the values the equipment filters accept, 'body weight' among them.

Inputs

None.

Outputs

attributiontext
The credit to carry
countnumber
How many there are
equipmentslist
The equipment names, sorted
sourcetext
The endpoint the names came from
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "count": 28,
  "equipments": [
    "assisted",
    "band",
    "barbell",
    "body weight",
    "cable",
    "dumbbell",
    "ez barbell",
    "kettlebell",
    "leverage machine",
    "medicine ball",
    "resistance band",
    "smith machine",
    "stability ball"
  ],
  "source": "/equipments"
}

List exercises

Read the catalogue of 1,500 exercises, optionally narrowed to names matching some text. Each exercise comes back with its GIF, the muscles it works, the equipment it needs and its step-by-step instructions. Use 'Filter exercises' to narrow by body part, muscle or equipment.

Inputs

Name containsnametext
Keep only exercises whose name matches this text. ExerciseDB applies it itself, so it is one request rather than a search over everything.
How many to returnlimitnumber
How many exercises to return. ExerciseDB serves 25 a page and this follows its cursor for as many pages as the number needs, so the 25-per-request cap is not a ceiling here. Defaults to 25; a larger number costs proportionally more requests.From 1 to 1500. Default: 25.

Outputs

attributiontext
The credit AscendAPI asks projects to carry
body_parts_requestedlist
The body parts the filter was given
countnumber
How many are in this result
coversobject
What this result set spans, at a glance
equipment_requestedlist
The equipment the filter was given
exercise_idslist
Just the ids, ready to feed a later step
exerciseslist
The exercises returned
has_moretrue/false
True when the match is larger than what was returned
limitnumber
The limit actually used
muscles_requestedlist
The target muscles the filter was given
name_containstext
The text the names had to match, or null
nameslist
Just the names, ready to feed a later step
returnednumber
How many came back
secondary_muscles_requestedlist
The supporting muscles the filter was given
total_exercisesnumber
How many ExerciseDB says match, before the limit
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "body_parts_requested": [],
  "count": 2,
  "covers": {
    "body_parts": [
      "chest"
    ],
    "equipments": [
      "barbell"
    ],
    "target_muscles": [
      "pectorals"
    ]
  },
  "equipment_requested": [],
  "exercise_ids": [
    "EIeI8Vf",
    "3TZduzM"
  ],
  "exercises": [
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "EIeI8Vf",
      "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
      "instructions": [
        "Lie flat on a bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "Lift the barbell off the rack and hold it directly above your chest.",
        "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
        "Pause for a moment when the barbell touches your chest.",
        "Push the barbell back up to the starting position.",
        "Repeat for the desired number of repetitions."
      ],
      "name": "barbell bench press",
      "secondary_muscles": [
        "triceps",
        "shoulders"
      ],
      "step_count": 7,
      "steps": [
        {
          "detail": "Lie flat on a bench with your feet flat on the ground.",
          "number": 1,
          "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
        },
        {
          "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
          "number": 2,
          "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
        },
        {
          "detail": "Lift the barbell off the rack and hold it directly above your chest.",
          "number": 3,
          "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    },
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "3TZduzM",
      "gif_url": "https://static.exercisedb.dev/media/3TZduzM.gif",
      "instructions": [
        "Set up an incline bench at a 45-degree angle.",
        "Lie down on the bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip, slightly wider than shoulder-width apart."
      ],
      "name": "barbell incline bench press",
      "secondary_muscles": [
        "shoulders",
        "triceps"
      ],
      "step_count": 6,
      "steps": [
        {
          "detail": "Set up an incline bench at a 45-degree angle.",
          "number": 1,
          "text": "Step:1 Set up an incline bench at a 45-degree angle."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    }
  ],
  "has_more": true,
  "limit": 2,
  "muscles_requested": [],
  "name_contains": null,
  "names": [
    "barbell bench press",
    "barbell incline bench press"
  ],
  "returned": 2,
  "secondary_muscles_requested": [],
  "total_exercises": 1500
}

List exercises for a body part

Every exercise for one area of the body, matched exactly rather than fuzzily, so 'chest' returns the 191 chest exercises and nothing that merely mentions the word. The body part is picked from the ten the dataset uses.

Inputs

Body partbody_parttextRequired
The area of the body to pull exercises for, chosen from the ten the dataset uses. Matching is exact and case-insensitive, so this returns every chest exercise rather than everything that sounds like 'chest'.
How many to returnlimitnumber
How many exercises to return. ExerciseDB serves 25 a page and this follows its cursor for as many pages as the number needs, so the 25-per-request cap is not a ceiling here. Defaults to 25; a larger number costs proportionally more requests.From 1 to 1500. Default: 25.

Outputs

attributiontext
The credit to carry
body_parts_requestedlist
The body parts the filter was given
countnumber
How many are in this result
coversobject
equipment_requestedlist
The equipment the filter was given
exercise_idslist
exerciseslist
has_moretrue/false
True when more match
hinttext
Set only when a muscle filter came back empty for a fixable reason: the muscle is never a target muscle, only a supporting one. Names the switch that would find it
include_secondarytrue/false
Whether supporting muscles counted
limitnumber
The limit actually used
muscles_requestedlist
The target muscles the filter was given
name_containstext
The text the names had to contain
nameslist
returnednumber
How many came back
secondary_muscles_requestedlist
The supporting muscles the filter was given
total_exercisesnumber
How many matched the filters before paging
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "body_parts_requested": [
    "chest"
  ],
  "count": 2,
  "covers": {
    "body_parts": [
      "chest"
    ],
    "equipments": [
      "barbell"
    ],
    "target_muscles": [
      "pectorals"
    ]
  },
  "equipment_requested": [
    "barbell"
  ],
  "exercise_ids": [
    "EIeI8Vf",
    "3TZduzM"
  ],
  "exercises": [
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "EIeI8Vf",
      "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
      "instructions": [
        "Lie flat on a bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "Lift the barbell off the rack and hold it directly above your chest.",
        "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
        "Pause for a moment when the barbell touches your chest.",
        "Push the barbell back up to the starting position.",
        "Repeat for the desired number of repetitions."
      ],
      "name": "barbell bench press",
      "secondary_muscles": [
        "triceps",
        "shoulders"
      ],
      "step_count": 7,
      "steps": [
        {
          "detail": "Lie flat on a bench with your feet flat on the ground.",
          "number": 1,
          "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
        },
        {
          "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
          "number": 2,
          "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
        },
        {
          "detail": "Lift the barbell off the rack and hold it directly above your chest.",
          "number": 3,
          "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    },
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "3TZduzM",
      "gif_url": "https://static.exercisedb.dev/media/3TZduzM.gif",
      "instructions": [
        "Set up an incline bench at a 45-degree angle.",
        "Lie down on the bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip, slightly wider than shoulder-width apart."
      ],
      "name": "barbell incline bench press",
      "secondary_muscles": [
        "shoulders",
        "triceps"
      ],
      "step_count": 6,
      "steps": [
        {
          "detail": "Set up an incline bench at a 45-degree angle.",
          "number": 1,
          "text": "Step:1 Set up an incline bench at a 45-degree angle."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    }
  ],
  "has_more": true,
  "hint": null,
  "include_secondary": false,
  "limit": 2,
  "muscles_requested": [],
  "name_contains": null,
  "names": [
    "barbell bench press",
    "barbell incline bench press"
  ],
  "returned": 2,
  "secondary_muscles_requested": [],
  "total_exercises": 191
}

List exercises for a muscle

Every exercise that works one muscle. By default this means the exercises that target it; turn on secondary muscles to also get the ones that work it as a supporting muscle, which roughly triples the answer for a muscle like the triceps. Only 19 of the 50 published muscles are ever targeted directly (the hands and the shins are only ever worked in support), so a muscle with no direct exercises comes back with a hint saying to turn secondary muscles on, rather than with a bare empty list.

Inputs

MusclemuscletextRequired
The muscle to pull exercises for, chosen from the fifty the dataset names. By default this finds the exercises that target it; turn on 'Include secondary muscles' to also find the ones that work it as a supporting muscle.
Include secondary musclesinclude_secondarytrue/false
Also count an exercise when the muscle is worked as a supporting one rather than the one being targeted. Off by default, which is the stricter reading: a barbell bench press targets the pectorals and works the triceps, so this decides whether it counts as a triceps exercise.Default: false.
How many to returnlimitnumber
How many exercises to return. ExerciseDB serves 25 a page and this follows its cursor for as many pages as the number needs, so the 25-per-request cap is not a ceiling here. Defaults to 25; a larger number costs proportionally more requests.From 1 to 1500. Default: 25.

Outputs

attributiontext
The credit to carry
body_parts_requestedlist
The body parts the filter was given
countnumber
How many are in this result
coversobject
equipment_requestedlist
The equipment the filter was given
exercise_idslist
exerciseslist
has_moretrue/false
True when more match
hinttext
Set only when a muscle filter came back empty for a fixable reason: the muscle is never a target muscle, only a supporting one. Names the switch that would find it
include_secondarytrue/false
Whether supporting muscles counted
limitnumber
The limit actually used
muscles_requestedlist
The target muscles the filter was given
name_containstext
The text the names had to contain
nameslist
returnednumber
How many came back
secondary_muscles_requestedlist
The supporting muscles the filter was given
total_exercisesnumber
How many matched the filters before paging
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "body_parts_requested": [
    "chest"
  ],
  "count": 2,
  "covers": {
    "body_parts": [
      "chest"
    ],
    "equipments": [
      "barbell"
    ],
    "target_muscles": [
      "pectorals"
    ]
  },
  "equipment_requested": [
    "barbell"
  ],
  "exercise_ids": [
    "EIeI8Vf",
    "3TZduzM"
  ],
  "exercises": [
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "EIeI8Vf",
      "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
      "instructions": [
        "Lie flat on a bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "Lift the barbell off the rack and hold it directly above your chest.",
        "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
        "Pause for a moment when the barbell touches your chest.",
        "Push the barbell back up to the starting position.",
        "Repeat for the desired number of repetitions."
      ],
      "name": "barbell bench press",
      "secondary_muscles": [
        "triceps",
        "shoulders"
      ],
      "step_count": 7,
      "steps": [
        {
          "detail": "Lie flat on a bench with your feet flat on the ground.",
          "number": 1,
          "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
        },
        {
          "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
          "number": 2,
          "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
        },
        {
          "detail": "Lift the barbell off the rack and hold it directly above your chest.",
          "number": 3,
          "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    },
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "3TZduzM",
      "gif_url": "https://static.exercisedb.dev/media/3TZduzM.gif",
      "instructions": [
        "Set up an incline bench at a 45-degree angle.",
        "Lie down on the bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip, slightly wider than shoulder-width apart."
      ],
      "name": "barbell incline bench press",
      "secondary_muscles": [
        "shoulders",
        "triceps"
      ],
      "step_count": 6,
      "steps": [
        {
          "detail": "Set up an incline bench at a 45-degree angle.",
          "number": 1,
          "text": "Step:1 Set up an incline bench at a 45-degree angle."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    }
  ],
  "has_more": true,
  "hint": null,
  "include_secondary": false,
  "limit": 2,
  "muscles_requested": [],
  "name_contains": null,
  "names": [
    "barbell bench press",
    "barbell incline bench press"
  ],
  "returned": 2,
  "secondary_muscles_requested": [],
  "total_exercises": 191
}

List exercises for a piece of equipment

Every exercise that uses one piece of equipment. Answers 'what can I do with only a kettlebell', and picking 'body weight' answers 'what can I do with nothing at all'.

Inputs

EquipmentequipmenttextRequired
The equipment to pull exercises for, chosen from the twenty-eight kinds the dataset names. Pick 'body weight' for the exercises that need no kit at all.
How many to returnlimitnumber
How many exercises to return. ExerciseDB serves 25 a page and this follows its cursor for as many pages as the number needs, so the 25-per-request cap is not a ceiling here. Defaults to 25; a larger number costs proportionally more requests.From 1 to 1500. Default: 25.

Outputs

attributiontext
The credit to carry
body_parts_requestedlist
The body parts the filter was given
countnumber
How many are in this result
coversobject
equipment_requestedlist
The equipment the filter was given
exercise_idslist
exerciseslist
has_moretrue/false
True when more match
hinttext
Set only when a muscle filter came back empty for a fixable reason: the muscle is never a target muscle, only a supporting one. Names the switch that would find it
include_secondarytrue/false
Whether supporting muscles counted
limitnumber
The limit actually used
muscles_requestedlist
The target muscles the filter was given
name_containstext
The text the names had to contain
nameslist
returnednumber
How many came back
secondary_muscles_requestedlist
The supporting muscles the filter was given
total_exercisesnumber
How many matched the filters before paging
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "body_parts_requested": [
    "chest"
  ],
  "count": 2,
  "covers": {
    "body_parts": [
      "chest"
    ],
    "equipments": [
      "barbell"
    ],
    "target_muscles": [
      "pectorals"
    ]
  },
  "equipment_requested": [
    "barbell"
  ],
  "exercise_ids": [
    "EIeI8Vf",
    "3TZduzM"
  ],
  "exercises": [
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "EIeI8Vf",
      "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
      "instructions": [
        "Lie flat on a bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "Lift the barbell off the rack and hold it directly above your chest.",
        "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
        "Pause for a moment when the barbell touches your chest.",
        "Push the barbell back up to the starting position.",
        "Repeat for the desired number of repetitions."
      ],
      "name": "barbell bench press",
      "secondary_muscles": [
        "triceps",
        "shoulders"
      ],
      "step_count": 7,
      "steps": [
        {
          "detail": "Lie flat on a bench with your feet flat on the ground.",
          "number": 1,
          "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
        },
        {
          "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
          "number": 2,
          "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
        },
        {
          "detail": "Lift the barbell off the rack and hold it directly above your chest.",
          "number": 3,
          "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    },
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "3TZduzM",
      "gif_url": "https://static.exercisedb.dev/media/3TZduzM.gif",
      "instructions": [
        "Set up an incline bench at a 45-degree angle.",
        "Lie down on the bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip, slightly wider than shoulder-width apart."
      ],
      "name": "barbell incline bench press",
      "secondary_muscles": [
        "shoulders",
        "triceps"
      ],
      "step_count": 6,
      "steps": [
        {
          "detail": "Set up an incline bench at a 45-degree angle.",
          "number": 1,
          "text": "Step:1 Set up an incline bench at a 45-degree angle."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    }
  ],
  "has_more": true,
  "hint": null,
  "include_secondary": false,
  "limit": 2,
  "muscles_requested": [],
  "name_contains": null,
  "names": [
    "barbell bench press",
    "barbell incline bench press"
  ],
  "returned": 2,
  "secondary_muscles_requested": [],
  "total_exercises": 191
}

List muscles

The fifty muscles the dataset names, from ExerciseDB's own muscle endpoint. These are the values the muscle filters accept, target and secondary alike.

Inputs

None.

Outputs

attributiontext
The credit to carry
countnumber
How many there are
muscleslist
The muscle names, sorted
sourcetext
The endpoint the names came from
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "count": 50,
  "muscles": [
    "abs",
    "biceps",
    "calves",
    "delts",
    "forearms",
    "glutes",
    "hamstrings",
    "lats",
    "pectorals",
    "quads",
    "traps",
    "triceps",
    "upper back"
  ],
  "source": "/muscles"
}

Search exercises

Search the catalogue when you do not know the exact words. The match is fuzzy across names, target muscles, body parts, equipment and secondary muscles, so 'chest push' finds press and push-up variations. Results keep their relevance ranking, best first, and the threshold sets how loose the matching is. This endpoint has no paging, so it returns every match at once; use the threshold to narrow a search that returns too much.

Inputs

Search forquerytextRequired
What to search for. It is matched against names, muscles, body parts and equipment at once, so a phrase like 'dumbbell shoulder' works.
Fuzzinessthresholdnumber
How loose the matching is, from 0 for an exact match to 1 for very loose. Defaults to 0.3. Raise it when a search finds nothing, lower it when it finds too much.From 0 to 1. Default: 0.3.

Outputs

attributiontext
The credit to carry
countnumber
How many are in this result
coversobject
exercise_idslist
exerciseslist
has_moretrue/false
True when more match
limitnumber
The limit actually used
nameslist
querytext
What was searched for
ranked_by_relevancetrue/false
Always true here: this endpoint keeps its ranking
returnednumber
How many came back
thresholdnumber
The fuzziness used, 0 exact to 1 very loose
total_exercisesnumber
How many matched
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "count": 2,
  "covers": {
    "body_parts": [
      "chest"
    ],
    "equipments": [
      "barbell"
    ],
    "target_muscles": [
      "pectorals"
    ]
  },
  "exercise_ids": [
    "EIeI8Vf",
    "3TZduzM"
  ],
  "exercises": [
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "EIeI8Vf",
      "gif_url": "https://static.exercisedb.dev/media/EIeI8Vf.gif",
      "instructions": [
        "Lie flat on a bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
        "Lift the barbell off the rack and hold it directly above your chest.",
        "Lower the barbell slowly towards your chest, keeping your elbows tucked in.",
        "Pause for a moment when the barbell touches your chest.",
        "Push the barbell back up to the starting position.",
        "Repeat for the desired number of repetitions."
      ],
      "name": "barbell bench press",
      "secondary_muscles": [
        "triceps",
        "shoulders"
      ],
      "step_count": 7,
      "steps": [
        {
          "detail": "Lie flat on a bench with your feet flat on the ground.",
          "number": 1,
          "text": "Step:1 Lie flat on a bench with your feet flat on the ground."
        },
        {
          "detail": "Grasp the barbell with an overhand grip slightly wider than shoulder-width.",
          "number": 2,
          "text": "Step:2 Grasp the barbell with an overhand grip slightly wider than shoulder-width."
        },
        {
          "detail": "Lift the barbell off the rack and hold it directly above your chest.",
          "number": 3,
          "text": "Step:3 Lift the barbell off the rack and hold it directly above your chest."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    },
    {
      "all_muscles": [
        "pectorals",
        "shoulders",
        "triceps"
      ],
      "body_part": "chest",
      "body_parts": [
        "chest"
      ],
      "equipment": "barbell",
      "equipments": [
        "barbell"
      ],
      "exercise_id": "3TZduzM",
      "gif_url": "https://static.exercisedb.dev/media/3TZduzM.gif",
      "instructions": [
        "Set up an incline bench at a 45-degree angle.",
        "Lie down on the bench with your feet flat on the ground.",
        "Grasp the barbell with an overhand grip, slightly wider than shoulder-width apart."
      ],
      "name": "barbell incline bench press",
      "secondary_muscles": [
        "shoulders",
        "triceps"
      ],
      "step_count": 6,
      "steps": [
        {
          "detail": "Set up an incline bench at a 45-degree angle.",
          "number": 1,
          "text": "Step:1 Set up an incline bench at a 45-degree angle."
        }
      ],
      "target_muscle": "pectorals",
      "target_muscles": [
        "pectorals"
      ]
    }
  ],
  "has_more": false,
  "limit": 2,
  "names": [
    "barbell bench press",
    "barbell incline bench press"
  ],
  "query": "bench press",
  "ranked_by_relevance": true,
  "returned": 2,
  "threshold": 0.3,
  "total_exercises": 2
}

Summarise the catalogue

See what the dataset actually holds: every body part, target muscle and piece of equipment, each with how many exercises carry it, commonest first. One step that says what is worth asking for, instead of paging through 1,500 records to find out.

Inputs

None.

Outputs

attributiontext
The credit to carry
body_part_countnumber
How many body parts
body_partslist
Every body part with its exercise count, commonest first
equipment_countnumber
How many kinds
equipmentslist
Every kind of equipment with its count
target_muscle_countnumber
How many muscles
target_muscleslist
Every target muscle with its count, commonest first
total_exercisesnumber
How many exercises the catalogue holds
Example output
{
  "attribution": "Exercise data by AscendAPI (ExerciseDB v1) - ascendapi.com",
  "body_part_count": 10,
  "body_parts": [
    {
      "exercise_count": 323,
      "name": "upper arms"
    },
    {
      "exercise_count": 257,
      "name": "upper legs"
    },
    {
      "exercise_count": 239,
      "name": "back"
    },
    {
      "exercise_count": 195,
      "name": "waist"
    },
    {
      "exercise_count": 191,
      "name": "chest"
    },
    {
      "exercise_count": 156,
      "name": "shoulders"
    },
    {
      "exercise_count": 63,
      "name": "lower legs"
    },
    {
      "exercise_count": 40,
      "name": "lower arms"
    },
    {
      "exercise_count": 33,
      "name": "cardio"
    },
    {
      "exercise_count": 3,
      "name": "neck"
    }
  ],
  "equipment_count": 28,
  "equipments": [
    {
      "exercise_count": 372,
      "name": "body weight"
    },
    {
      "exercise_count": 319,
      "name": "dumbbell"
    },
    {
      "exercise_count": 181,
      "name": "cable"
    },
    {
      "exercise_count": 170,
      "name": "barbell"
    },
    {
      "exercise_count": 91,
      "name": "leverage machine"
    }
  ],
  "target_muscle_count": 50,
  "target_muscles": [
    {
      "exercise_count": 195,
      "name": "abs"
    },
    {
      "exercise_count": 185,
      "name": "pectorals"
    },
    {
      "exercise_count": 162,
      "name": "glutes"
    },
    {
      "exercise_count": 162,
      "name": "biceps"
    },
    {
      "exercise_count": 161,
      "name": "triceps"
    }
  ],
  "total_exercises": 1500
}

On this page