# Free Exercise DB > Open, public-domain exercise dataset: 873 JSON documents covering strength, stretching, > plyometrics, powerlifting, olympic weightlifting, strongman and cardio movements, each with > a stable id, difficulty level, force and mechanic classification, required equipment, > primary and secondary muscle groups, step-by-step instructions and demonstration images. > Released under the Unlicense by yuhonas. ## What this is, and what it is not This is a **dataset**, not an API. There is no REST service, no OpenAPI document, no GraphQL endpoint, no MCP server, no authentication and no query interface. You retrieve static JSON files over HTTPS from GitHub's raw content host and do all filtering yourself. ## Getting the data - Whole catalog (873 records, ~1 MB JSON array): https://raw.githubusercontent.com/yuhonas/free-exercise-db/main/dist/exercises.json - One exercise: https://raw.githubusercontent.com/yuhonas/free-exercise-db/main/exercises/.json - An image: https://raw.githubusercontent.com/yuhonas/free-exercise-db/main/exercises//.jpg (the `images[]` values in a record are relative paths — prefix them with the `exercises/` URL above) No API key. No account. No headers required. `GET` and parse. Pinning: `main` floats to the tip of the default branch and the project publishes no releases or tags. If you need a reproducible snapshot, replace `main` with a commit SHA. ## Record shape Fields, per the provider's JSON Schema (draft-04) at https://github.com/yuhonas/free-exercise-db/blob/main/schema.json: - `id` — string, `^[0-9a-zA-Z_-]+$`. Also the filename and the image directory name. - `name` — string. - `level` — one of: beginner, intermediate, expert. - `category` — one of: strength, stretching, plyometrics, powerlifting, olympic weightlifting, strongman, cardio. - `force` — one of: static, pull, push, or null. - `mechanic` — one of: isolation, compound, or null. - `equipment` — one of: medicine ball, dumbbell, body only, bands, kettlebells, foam roll, cable, machine, barbell, exercise ball, e-z curl bar, other, or null. - `primaryMuscles` / `secondaryMuscles` — arrays drawn from: abdominals, abductors, adductors, biceps, calves, chest, forearms, glutes, hamstrings, lats, lower back, middle back, neck, quadriceps, shoulders, traps, triceps. - `instructions` — array of strings, in order. - `images` — array of relative image paths. `force`, `mechanic` and `equipment` are incomplete on some records and may be null — the provider says so explicitly in the README. Handle null before you group or filter on them. ## Distribution counts (observed 2026-08-27) - 873 exercises. By category: strength 581, stretching 123, plyometrics 61, powerlifting 38, olympic weightlifting 35, strongman 21, cardio 14. - By level: beginner 523, intermediate 293, expert 57. ## Reading and writing Read-only. There is nothing to create, update or delete, so idempotency, dry-run and reversibility do not apply. Contributions go through GitHub pull requests, not an API. ## Rate limits and errors The provider publishes none. You are subject to GitHub's undocumented raw-content throttling. No RateLimit-*, X-RateLimit-* or Retry-After headers are returned on these responses, and there are no provider-authored error bodies — a missing file yields GitHub's plain-text `404: Not Found`. For volume use, the README recommends cloning the repository locally or fronting the images with a CDN such as imagekit.io. ## Links - Repository: https://github.com/yuhonas/free-exercise-db - Browsable frontend (Vue.js, GitHub Pages): https://yuhonas.github.io/free-exercise-db/ - JSON Schema: https://github.com/yuhonas/free-exercise-db/blob/main/schema.json - Support / corrections: https://github.com/yuhonas/free-exercise-db/issues - License (Unlicense, public domain): https://github.com/yuhonas/free-exercise-db/blob/main/LICENSE.md - Upstream origin of the data: https://github.com/wrkout/exercises.json