A few months ago I was building a fitness app and needed a good exercise API.
ExerciseDB was the obvious choice — but it routes through RapidAPI,
has unpredictable pricing, and the free tier is basically unusable at 10 req/day.
So I built my own: WorkoutX — a clean REST API with 1,300+ exercises,
GIF animations, and transparent pricing.
Here's what it looks like in practice:
Get exercises by body part
const res = await fetch(
'https://api.workoutxapp.com/exercises?bodyPart=chest',
{ headers: { 'X-WorkoutX-Key': 'YOUR_API_KEY' } }
);
const exercises = await res.json();
You get back structured JSON:
json
{
"id": "chest",
"name": "Barbell Bench Press",
"bodyPart": "chest",
"target": "pectorals",
"equipment": "barbell",
"gifUrl": "https://...",
"caloriesBurn": 8,
"difficulty": "intermediate",
"instructions": [...]
}
Multi-filter search
javascript
// Combine any filters
fetch('/exercises?bodyPart=back&equipment=dumbbell&difficulty=beginner')
## What's included
- 1,300+ exercises with animated GIFs
- Filter by body part, target muscle, equipment, difficulty
- Calorie estimates + recommended sets & reps
- 11 REST endpoints
- ~155ms avg response time
- OpenAPI / Swagger docs
## Pricing
Free plan: 500 req/month — no credit card required.
Paid plans start at $9.99/month for 3,000 req.
Compared to ExerciseDB on RapidAPI:
- No middleware — direct API access
- Transparent, flat pricing
- No surprise rate limit errors
## Try it
🔗 [workoutxapp.com](https://workoutxapp.com) — free API key in 30 seconds
Happy to answer questions about the architecture or the dataset.
What are you building?
Top comments (0)