Skip to content

Exercise API

An exercise API with images you can ship

MoveIndex is a REST exercise API: one request returns exercises with their muscles, equipment, written instructions and a demonstration image for each. The images are ours, licensed for commercial use, and served from a CDN that a plain <img> tag can read.

This page covers what the API returns, how the images work, what it costs and where it stops. The integration docs have the full reference.

What the exercise database API returns

Every exercise comes back with the same fields, so a list screen and a detail screen read the same shape.

slug Stable identifier. Builds the image URL, and aliases resolve to it.
name Display name.
primary_muscle The main muscle worked, from a fixed vocabulary.
secondary_muscles Other muscles worked, same vocabulary.
equipment What the movement needs, from barbell to bodyweight.
category Movement type, for grouping in your UI.
frame_count How many phases the image shows: 2 or 3.
instructions Written coaching steps, or null where none exist yet.
images CDN URLs: a default, plus male and female variants where approved.

Lists are paged with limit and offset and report a total. A slug that is an alias, such as a naming variant your app already uses, returns its canonical exercise rather than a 404.

Try it in one request

Get a key from the portal (no card), then:

bash
curl https://api.moveindex.dev/v1/exercises/farmer-carry \
  -H "Authorization: Bearer $MOVEINDEX_KEY"
json
{
  "slug": "farmer-carry",
  "name": "Farmer Carry",
  "primary_muscle": "forearms",
  "equipment": "dumbbell",
  "frame_count": 2,
  "instructions": "…",
  "images": {
    "default": "https://cdn.moveindex.dev/$MOVEINDEX_KEY/exercises/farmer-carry.png",
    "male":    "https://cdn.moveindex.dev/$MOVEINDEX_KEY/exercises/farmer-carry-male.png",
    "female":  "https://cdn.moveindex.dev/$MOVEINDEX_KEY/exercises/farmer-carry-female.png"
  }
}
Farmer Carry demonstrated in 2 sequential frames
Farmer Carry, watermarked preview

Search by muscle, equipment and type

/v1/exercises filters on muscle, equipment, category and a name search, q. The values are a fixed vocabulary, and /v1/meta returns every one with a live count, so a filter menu can be built from the API rather than hard-coded.

bash
curl https://api.moveindex.dev/v1/exercises \
  -H "Authorization: Bearer $MOVEINDEX_KEY" \
  -G -d muscle=core -d equipment=bodyweight

Today the catalogue covers 10 primary muscles and 11 kinds of equipment. The most common are core, quads, back and bodyweight, dumbbell, barbell.

Exercise images from the API

Each exercise is one tall PNG with the phases of the movement stacked as frames: three for most lifts, two for holds and carries. Male and female variants share the same frame count and canvas, so they swap without layout changes.

bash
https://cdn.moveindex.dev/{key}/exercises/{slug}-{male|female}.png

The key sits in the path because an image tag cannot send headers. It is read-only, and you can restrict it to your own domains, so a key copied from your app is useless elsewhere. The pattern is stable, so you can build URLs from slugs instead of storing ours.

The images are dark-gym scenes rather than cutouts. They sit well on dark interfaces and less well on light ones, so check one against your design during the trial, or browse every exercise image in the catalogue first.

What it costs

Two plans, and no per-image metering. The trial is free for 7 days with no card. Pro is £9 a month: clean originals, unlimited requests. Your bill does not change when your app grows. Details are on the pricing page.

Licensed images vs. a free exercise database

Free exercise datasets are a reasonable place to start, and for text they may be all you need. The trouble is usually the pictures. Images in open datasets are often contributed or scraped, and an open licence on the data does not always cover them. Scraping images from fitness sites is plainly someone else's work.

MoveIndex generates every image itself. There is no photographer to credit, no model release to find, and one visual style across the whole catalogue, so the next exercise you add looks like the last.

Questions

Is there a free exercise API?

MoveIndex has a 7-day trial with no card, then £9 a month. There is no permanent free tier. Free exercise databases exist, but check each one's image licence before you ship it in a paid app: the data is often open while the pictures are not.

Can I use the exercise images commercially?

Yes. We generate every image ourselves, so there is no stock-photo chain or third-party model release behind them, and they are licensed for use in your app.

Does the API return GIFs or animations?

No. Each exercise is one PNG with the phases of the movement stacked as frames: setup, midpoint and finish. If your design needs motion, this is the wrong product.

Is this a workout API?

It is an exercise API: the movements, their muscles, equipment, instructions and images. It does not generate workout plans or log training. Apps use it as the exercise library underneath their own programming.

How many exercises are in the database?

44 today, each with male and female images. That is smaller than the big libraries. Every entry is a distinct movement, and the list grows as exercises pass review.

Can I host the images myself?

Yes. Besides the hosted API, the whole catalogue can be bought as files with a perpetual licence. See the pricing page.