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 HTTP | code | Cuándo |
|---|---|---|
| 401 | MISSING_API_KEY | No has enviado la clave. |
| 401 | INVALID_API_KEY | La clave no vale o está revocada. |
| 404 | NOT_FOUND | El ejercicio no existe. |
| 429 | RATE_LIMIT_EXCEEDED | Demasiadas peticiones por minuto. |
| 429 | QUOTA_EXCEEDED | Se agotó la cuota mensual del plan. |
| 500 | INTERNAL_ERROR | Un 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).
| Cabecera | Qué indica |
|---|---|
| X-RateLimit-Limit | Peticiones por minuto permitidas. |
| X-RateLimit-Remaining | Las que te quedan en este minuto. |
| X-Quota-Limit | Peticiones de tu plan este mes. |
| X-Quota-Remaining | Las que te quedan este mes. |
Ejercicios
GET/exercises
Lista de ejercicios. Admite estos parámetros, combinables entre sí:
| Parámetro | Ejemplo | Qué hace |
|---|---|---|
| search | press banca | Busca por nombre y músculos. |
| target | abdominales | Filtra por músculo principal. |
| body_part | brazos-superiores | Filtra por zona del cuerpo. |
| equipment | peso-corporal | Filtra por equipamiento. |
| category | fuerza | Filtra por categoría. |
| difficulty | intermedio | principiante, intermedio, avanzado. Otro valor devuelve un 400. |
| movement_pattern | aislamiento-de-brazo | Filtra por patrón de movimiento. |
| page | 2 | Página, desde 1. |
| limit | 25 | Resultados por página, hasta 100. |
| sort | name | name, difficulty, code o target. |
| order | asc | asc 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.
| Endpoint | Devuelve |
|---|---|
| GET /muscles | Músculos principales. |
| GET /equipment | Equipamientos. |
| GET /categories | Categorías. |
| GET /body-parts | Zonas 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.