Saltar al contenido

Documentación de la API

Una API sencilla y estable para consultar los 1.394 ejercicios del catálogo desde tu aplicación. Respuestas en JSON, en español o en inglés.

Empezar

La dirección base es https://basefit.pro/api/v1. Necesitas una clave de API, que se crea desde tu panel cuando tienes una licencia activa.

# Tu primera petición
curl https://basefit.pro/api/v1/exercises \
  -H "Authorization: Bearer bf_live_tu_clave"

Autenticación

Cada petición lleva tu clave en la cabecera Authorization:

Authorization: Bearer bf_live_tu_clave

Las claves empiezan por bf_live_ (producción) o bf_test_ (pruebas). La clave completa se muestra una sola vez al crearla; guárdala en un lugar seguro. Puedes revocarla y crear otra cuando quieras. No la incrustes en código de cliente ni en un repositorio.

Formato de respuesta

Toda respuesta correcta trae los datos en data. Los listados añaden meta con la paginación.

{
  "data": [ ... ],
  "meta": {
    "page": 1,
    "limit": 25,
    "total": 1394,
    "totalPages": 56
  }
}

Añade ?lang=en a cualquier petición para recibir el contenido en inglés.

Errores

Los errores tienen siempre la misma forma, con un código estable y un mensaje legible:

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Has superado el límite de peticiones por minuto."
  }
}
Código HTTPcodeCuándo
401MISSING_API_KEYNo has enviado la clave.
401INVALID_API_KEYLa clave no vale o está revocada.
404NOT_FOUNDEl ejercicio no existe.
429RATE_LIMIT_EXCEEDEDDemasiadas peticiones por minuto.
429QUOTA_EXCEEDEDSe agotó la cuota mensual del plan.
500INTERNAL_ERRORUn problema por nuestra parte.

Límites y cuota

Cada petición devuelve cabeceras con el estado de tus límites. La cuota mensual depende de tu plan (10.000 en API Inicio, 100.000 en API Pro).

CabeceraQué indica
X-RateLimit-LimitPeticiones por minuto permitidas.
X-RateLimit-RemainingLas que te quedan en este minuto.
X-Quota-LimitPeticiones de tu plan este mes.
X-Quota-RemainingLas que te quedan este mes.

Ejercicios

GET/exercises

Lista de ejercicios. Admite estos parámetros, combinables entre sí:

ParámetroEjemploQué hace
searchpress bancaBusca por nombre y músculos.
targetabdominalesFiltra por músculo principal.
body_partbrazos-superioresFiltra por zona del cuerpo.
equipmentpeso-corporalFiltra por equipamiento.
categoryfuerzaFiltra por categoría.
difficultyintermedioprincipiante, intermedio, avanzado. Otro valor devuelve un 400.
movement_patternaislamiento-de-brazoFiltra por patrón de movimiento.
page2Página, desde 1.
limit25Resultados por página, hasta 100.
sortnamename, difficulty, code o target.
orderascasc o desc.

Los valores de los filtros son los identificadores que devuelven las taxonomías, no el texto traducido.

GET/exercises/{id}

Un ejercicio completo, con instrucciones, clasificación, guía de entrenamiento, programación por objetivo y ejercicios relacionados. El id es el código («0026»).

Taxonomías

Devuelven los valores por los que se puede filtrar, con su recuento. El campo id de cada uno es lo que se pasa a los filtros de /exercises.

EndpointDevuelve
GET /musclesMúsculos principales.
GET /equipmentEquipamientos.
GET /categoriesCategorías.
GET /body-partsZonas del cuerpo.

¿Te falta algún endpoint o filtro? Escríbenos a hola@basefit.pro: la API crece con lo que de verdad se usa.