An exercise API that comes with the animation.
Exercise data, worked muscles and animation links in one response. GIF, WebP or MP4, on white or dark.

One call, everything you show
Ask for an exercise and get its name, equipment, steps, the muscles it works (with Latin names), and links to the animation for both figures.
Media links are served from our own domain, so you can cache them, hotlink them or download them into your app.
Request
curl https://api.exercisegif.com/v1/exercises/squat \
-H "Authorization: Bearer $EXERCISEGIF_KEY"Response
{
"id": "squat",
"name": "Squat",
"equipment": "Barbell",
"muscles": [
{
"id": "quadriceps",
"name": "Quadriceps",
"latin": "Musculus quadriceps femoris"
},
{
"id": "glutes",
"name": "Glutes",
"latin": "Musculus gluteus maximus"
},
{
"id": "hamstrings",
"name": "Hamstrings",
"latin": "Musculi ischiocrurales"
},
{
"id": "adductors",
"name": "Inner thighs",
"latin": "Musculi adductores"
},
{
"id": "lowerBack",
"name": "Lower back",
"latin": "Musculus erector spinae"
}
],
"steps": [
"Set the barbell at chest height in the squat rack and position safety bars just below your lowest squat position",
"Step under the bar and position it on your upper traps, gripping the bar with hands evenly placed wider than shoulder-width",
"..."
],
"loopSeconds": 3.6,
"media": {
"female": {
"gif": "https://api.exercisegif.com/v1/media/squat?sex=female&format=gif&size=480",
"webp": "https://api.exercisegif.com/v1/media/squat?sex=female&format=webp&size=480",
"mp4": "https://api.exercisegif.com/v1/media/squat?sex=female&format=mp4&size=720"
},
"male": {
"gif": "https://api.exercisegif.com/v1/media/squat?sex=male&format=gif&size=480",
"webp": "https://api.exercisegif.com/v1/media/squat?sex=male&format=webp&size=480",
"mp4": "https://api.exercisegif.com/v1/media/squat?sex=male&format=mp4&size=720"
}
}
}Endpoints
| Endpoint | What it returns |
|---|---|
GET /exercises | Search and list exercises. Filter by name, muscle or equipment. |
GET /exercises/{id} | One exercise: muscles, steps, tips and media links for both figures. |
GET /media/{id} | The animation itself, as GIF, WebP or MP4, female or male, 480 or 720 px. |
GET /muscles | Every muscle we highlight, with plain and Latin names. |
For AI assistants too
The same library is available as an MCP server, so assistants such as Claude can find an exercise and show the right animation while they write a workout.
How the MCP server worksSDKs
Typed clients for JavaScript and Python wrap search, single exercises and media URLs.
See the SDKs265 exercises are finished today, each with a male figure; female figures are being added. More are added as they pass review.