---
title: "Get exercise by ID"
method: GET
path: "/exercises/{exercise_id}"
tags: ["exercises"]
---

# Get exercise by ID

`GET /exercises/{exercise_id}`

Retrieve detailed information for a specific exercise. Use detail=true for additional metadata.

## Path parameters

- `exercise_id` integer, required — Exercise ID

## Query parameters

- `detail` boolean — Return detailed information with additional metadata
- `gender` string, nullable — Filter videos by gender: 'male' or 'female'
- `lang` string, nullable — Response language code (e.g. 'en-us', 'pt-br'). Defaults to 'en-us' when omitted. See GET /languages for the full list. Non-English languages require GROWTH tier or higher (BASIC keys get them in the Playground).

## Response `200`

Successful Response

- union
  - ExerciseStandard — Standard exercise information with essential details. This model provides a good balance between data completeness and response size, suitable for most use cases. Attributes: id: Unique exercise identifier. name: Exercise name. primary_muscles: Primary muscle groups targeted. category: Equipment category (e.g., Barbell, Dumbbells, Bodyweight). force: Force type (Push, Pull, Hold) - may be null for some exercises. grips: Grip types used (e.g., Overhand, Underhand, Neutral). mechanic: Exercise mechanic type (Isolation, Compound) - may be null. difficulty: Difficulty level (Novice, Beginner, Intermediate, Advanced) - may be null. steps: List of instruction steps. videos: List of available video demonstrations. bodymap_male: Base bodymap stream URL for male images. bodymap_female: Base bodymap stream URL for female images.
    - `id` integer, required — Unique exercise identifier
    - `name` string, required — Exercise name
    - `primary_muscles` string[], required — Primary muscle groups targeted
    - `category` string, required — Equipment category
    - `force` string, nullable — Force type: Push, Pull, or Hold
    - `grips` string[], required — Grip types used
    - `mechanic` string, nullable — Exercise mechanic: Isolation or Compound
    - `difficulty` string, nullable — Difficulty level: Novice, Beginner, Intermediate, or Advanced
    - `steps` string[], required — Step-by-step instructions
    - `videos` Video[], required — Available video demonstrations
      - `url` string, nullable — Direct URL to the video file (can be null)
      - `angle` string, required — Camera angle: front or side
      - `gender` string, required — Gender variant: male or female
      - `og_image` string, nullable — Open Graph image URL for preview/thumbnail
    - `bodymap_male` string, nullable — Base bodymap stream URL for male images
    - `bodymap_female` string, nullable — Base bodymap stream URL for female images
  - ExerciseDetailed — Detailed exercise information with all available data. This model extends ExerciseStandard with additional metadata and should only be used when explicitly requested to minimize bandwidth usage. Attributes: All attributes from ExerciseStandard, plus: video_count: Total number of available videos. image_count: Total number of available thumbnail images. step_count: Total number of instruction steps.
    - `id` integer, required — Unique exercise identifier
    - `name` string, required — Exercise name
    - `primary_muscles` string[], required — Primary muscle groups targeted
    - `category` string, required — Equipment category
    - `force` string, nullable — Force type: Push, Pull, or Hold
    - `grips` string[], required — Grip types used
    - `mechanic` string, nullable — Exercise mechanic: Isolation or Compound
    - `difficulty` string, nullable — Difficulty level: Novice, Beginner, Intermediate, or Advanced
    - `steps` string[], required — Step-by-step instructions
    - `videos` Video[], required — Available video demonstrations
      - `url` string, nullable — Direct URL to the video file (can be null)
      - `angle` string, required — Camera angle: front or side
      - `gender` string, required — Gender variant: male or female
      - `og_image` string, nullable — Open Graph image URL for preview/thumbnail
    - `bodymap_male` string, nullable — Base bodymap stream URL for male images
    - `bodymap_female` string, nullable — Base bodymap stream URL for female images
    - `video_count` integer, required — Total number of available videos
    - `image_count` integer, required — Total number of available thumbnail images
    - `step_count` integer, required — Total number of instruction steps

## Other responses

- `404` — Exercise not found
- `422` — Validation Error

---

[API](https://skmtc.dev/musclewiki/apis/musclewiki-api.md) · [All operations](https://skmtc.dev/musclewiki/apis/musclewiki-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/musclewiki/musclewiki-api/revisions/fccb1308d3dc/schema)
