E
Exercise API · v1 ● …
⬇ Dataset Docs

API de ejercicios abierta, gratuita y multiidioma

Datos estáticos servidos por GitHub Pages (CDN, HTTPS, CORS abierto). Cada ejercicio incluye nombre en ES/EN, músculos principal/secundario, instrucciones, ilustración masculina y femenina y un mapa muscular SVG. Sin claves, sin límites.

Endpoints

GET /v1/exercises.jsonÍndice de todos los ejerciciosprobar ↗
GET /v1/exercises/<slug>.jsonFicha completa de un ejercicioleg-press ↗
GET /v1/muscles.jsonTaxonomía de músculos (ES/EN)probar ↗
GET /v1/by-group/<group>.jsonEjercicios por grupo (legs, chest, back…)legs ↗
GET /v1/by-muscle/<muscle>.jsonEjercicios por músculogluteal ↗
GET /v1/by-equipment/<type>.jsonEjercicios por equipamiento (machine, barbell…)machine ↗
/images/<slug>-m.jpg | -f.jpgIlustración (hombre / mujer)mujer ↗
/muscle-maps/<slug>.svgMapa muscular resaltadoSVG ↗
Ejemplo de uso
const base = "https://marcmayol.com/exercise-api";

// un ejercicio, en el idioma que quieras
const ex = await fetch(
  `${base}/v1/exercises/leg-press.json`
).then(r => r.json());

ex.name.es;                 // "Prensa de piernas"
ex.name.en;                 // "Leg press"
ex.primaryMuscles[0].es;    // "Cuádriceps"
ex.instructions.es;         // [ "Ajusta el asiento…", … ]
ex.images.female;           // .../leg-press-f.jpg
Respuesta (extracto)
{
  "slug": "leg-press",
  "name": { "es": "Prensa de piernas",
            "en": "Leg press" },
  "group": { "es": "Piernas", "en": "Legs" },
  "primaryMuscles": [
    { "id": "quadriceps",
      "es": "Cuádriceps", "en": "Quadriceps" } ],
  "instructions": { "es": [ … ], "en": [ … ] },
  "images": { "male": "…-m.jpg",
              "female": "…-f.jpg" },
  "muscleMap": "…/leg-press.svg"
}

Ejercicios

Descargar todo (ZIP) 10 MB solo JSON
Género Vista
Grupo
Equipo