JacobTechLabs Fitness API is a developer-first API infrastructure providing fast, reliable access to 5,000+ structured fitness exercises. Built with modern technologies (Bun, Hono, TypeScript) and designed for seamless integration into fitness apps, health platforms, and workout tools.
- β‘ Lightning Fast: Sub-100ms response times with intelligent caching
- π Advanced Search: Fuzzy search across exercise names, muscles, and equipment
- π Structured Data: Consistent JSON schema with comprehensive metadata
- π‘οΈ Production Ready: Rate limiting, security headers, and health monitoring
- π OpenAPI/Swagger: Interactive documentation at
/docs
- πͺ Fitness App Developers - Build workout tracking and planning apps
- π₯ Health Platforms - Integrate exercise data into wellness solutions
- π― Personal Training Tools - Create custom workout generators
- π± Mobile Apps - RESTful API perfect for iOS/Android integration
- π¬ Research Projects - Structured data for fitness analytics
# Clone the repository
git clone https://github.com/jacobtechlabs/api-core.git
cd api-core
# Build and run with Docker
docker build -t jacobtechlabs-api .
docker run -p 3000:3000 jacobtechlabs-api# Clone and install dependencies
git clone https://github.com/jacobtechlabs/api-core.git
cd api-core
# Using Bun (recommended)
bun install
bun run dev
# Or using npm
npm install
npm run devcurl https://your-api-url/api/v1/exercises?limit=5| Endpoint | Description | Example |
|---|---|---|
GET /api/v1/exercises |
List all exercises with pagination | ?limit=10&offset=0 |
GET /api/v1/exercises/search |
Search exercises by keyword | ?q=bench&threshold=0.3 |
GET /api/v1/exercises/filter |
Filter by multiple criteria | ?muscles=chest&equipment=barbell |
GET /api/v1/exercises/{id} |
Get specific exercise by ID | /api/v1/exercises/K6NnTv0 |
| Endpoint | Description |
|---|---|
GET /api/v1/muscles |
List all target muscles |
GET /api/v1/bodyparts |
List all body parts |
GET /api/v1/equipments |
List all equipment types |
GET /api/v1/muscles/{name}/exercises |
Exercises by muscle group |
GET /api/v1/bodyparts/{name}/exercises |
Exercises by body part |
GET /api/v1/equipments/{name}/exercises |
Exercises by equipment |
| Endpoint | Description |
|---|---|
GET /health |
Health check status |
GET /docs |
Interactive API documentation |
GET /swagger |
OpenAPI specification (JSON) |
// Search exercises
const response = await fetch(
'https://api.jacobtechlabs.dev/api/v1/exercises/search?q=chest'
);
const exercises = await response.json();
// Get exercises by muscle
const muscleExercises = await fetch(
'https://api.jacobtechlabs.dev/api/v1/muscles/chest/exercises'
);import requests
# Get all exercises with pagination
response = requests.get(
'https://api.jacobtechlabs.dev/api/v1/exercises',
params={'limit': 10, 'offset': 0}
)
exercises = response.json()# Filter exercises by equipment and muscle
curl "https://api.jacobtechlabs.dev/api/v1/exercises/filter?equipment=dumbbell&muscles=biceps"{
"exerciseId": "K6NnTv0",
"name": "Bench Press",
"imageUrl": "Barbell-Bench-Press_Chest.png",
"equipments": ["Barbell"],
"bodyParts": ["Chest"],
"exerciseType": "weight_reps",
"targetMuscles": ["Pectoralis Major Clavicular Head"],
"secondaryMuscles": ["Deltoid Anterior", "Triceps Brachii"],
"videoUrl": "Barbell-Bench-Press_Chest_.mp4",
"keywords": [
"Chest workout with barbell",
"Strength training for chest"
],
"overview": "The Bench Press is a classic strength training exercise...",
"instructions": [
"Grip the barbell with your hands slightly wider than shoulder-width apart...",
"Slowly lower the barbell down to your chest..."
],
"exerciseTips": [
"Avoid Arching Your Back...",
"Controlled Movement..."
],
"variations": [
"Decline Bench Press",
"Close-Grip Bench Press"
],
"relatedExerciseIds": ["U0uPZBq", "QD32SbB"]
}- Runtime: Bun - Fast JavaScript runtime
- Framework: Hono - Lightweight, fast web framework
- Language: TypeScript - Type-safe development
- API Docs: OpenAPI 3.1 + Scalar UI
- Testing: Vitest
- Linting: ESLint + Prettier
| Platform | Best For | Setup Time |
|---|---|---|
| Google Cloud Run | Production, auto-scaling | 15 min |
| Railway | Quick deployment, prototyping | 5 min |
| Render | Simplicity, free tier | 5 min |
| Vercel | Serverless functions | 2 min |
| Self-Hosted | Full control, enterprise | 30 min |
See DEPLOYMENT_GUIDE.md for detailed instructions.
| Channel | Contact |
|---|---|
| π§ Email | dev@jacobtechlabs.dev |
| π Issues | GitHub Issues |
| π¬ Discussions | GitHub Discussions |
AGPL-3.0 - JacobTechLabs
Powered by JacobTechLabs
Building the future of fitness technology

