Exercises API
A searchable library of hundreds of exercises with target muscles, equipment, and step-by-step instructions.
Request Headers
| Name | Required | Description |
|---|---|---|
X-RapidAPI-Key | required | Your RapidAPI key. Get one free. |
X-RapidAPI-Host | required | exercises.p.rapidapi.com |
Endpoints
/v1/exercises Search exercises by target muscle, category, or name
Parameters
| Name | Type | Required | Default | Constraints |
|---|---|---|---|---|
limit | integer | optional | — | — |
muscle | string | optional | — | — |
name | string | optional | — | — |
offset | integer | optional | — | — |
type | string | optional | — | — |
Code Examples
curl --request GET \
--url 'https://exercises.p.rapidapi.com/v1/exercises?limit=0&muscle=example' \
--header 'x-rapidapi-key: YOUR_API_KEY' \
--header 'x-rapidapi-host: exercises.p.rapidapi.com' const url = "https://exercises.p.rapidapi.com/v1/exercises?limit=0&muscle=example";
const options = {
method: "GET",
headers: {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data); import requests
url = "https://exercises.p.rapidapi.com/v1/exercises"
querystring = {"limit": 0, "muscle": "example"}
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
response = requests.get(url, headers=headers, params=querystring)
print(response.json()) /v1/exercises/equipment List all equipment types available in the exercises dataset, sorted alphabetically.
Code Examples
curl --request GET \
--url 'https://exercises.p.rapidapi.com/v1/exercises/equipment' \
--header 'x-rapidapi-key: YOUR_API_KEY' \
--header 'x-rapidapi-host: exercises.p.rapidapi.com' const url = "https://exercises.p.rapidapi.com/v1/exercises/equipment";
const options = {
method: "GET",
headers: {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data); import requests
url = "https://exercises.p.rapidapi.com/v1/exercises/equipment"
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
response = requests.get(url, headers=headers)
print(response.json()) /v1/exercises/forces List all force types available in the exercises dataset, sorted alphabetically.
Code Examples
curl --request GET \
--url 'https://exercises.p.rapidapi.com/v1/exercises/forces' \
--header 'x-rapidapi-key: YOUR_API_KEY' \
--header 'x-rapidapi-host: exercises.p.rapidapi.com' const url = "https://exercises.p.rapidapi.com/v1/exercises/forces";
const options = {
method: "GET",
headers: {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data); import requests
url = "https://exercises.p.rapidapi.com/v1/exercises/forces"
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
response = requests.get(url, headers=headers)
print(response.json()) /v1/exercises/levels List all difficulty levels available in the exercises dataset, sorted alphabetically.
Code Examples
curl --request GET \
--url 'https://exercises.p.rapidapi.com/v1/exercises/levels' \
--header 'x-rapidapi-key: YOUR_API_KEY' \
--header 'x-rapidapi-host: exercises.p.rapidapi.com' const url = "https://exercises.p.rapidapi.com/v1/exercises/levels";
const options = {
method: "GET",
headers: {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data); import requests
url = "https://exercises.p.rapidapi.com/v1/exercises/levels"
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
response = requests.get(url, headers=headers)
print(response.json()) /v1/exercises/mechanics List all movement mechanics available in the exercises dataset, sorted alphabetically.
Code Examples
curl --request GET \
--url 'https://exercises.p.rapidapi.com/v1/exercises/mechanics' \
--header 'x-rapidapi-key: YOUR_API_KEY' \
--header 'x-rapidapi-host: exercises.p.rapidapi.com' const url = "https://exercises.p.rapidapi.com/v1/exercises/mechanics";
const options = {
method: "GET",
headers: {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data); import requests
url = "https://exercises.p.rapidapi.com/v1/exercises/mechanics"
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
response = requests.get(url, headers=headers)
print(response.json()) /v1/exercises/muscles List all target muscles available in the exercises dataset, sorted alphabetically.
Code Examples
curl --request GET \
--url 'https://exercises.p.rapidapi.com/v1/exercises/muscles' \
--header 'x-rapidapi-key: YOUR_API_KEY' \
--header 'x-rapidapi-host: exercises.p.rapidapi.com' const url = "https://exercises.p.rapidapi.com/v1/exercises/muscles";
const options = {
method: "GET",
headers: {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data); import requests
url = "https://exercises.p.rapidapi.com/v1/exercises/muscles"
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
response = requests.get(url, headers=headers)
print(response.json()) /v1/exercises/types List all exercise types (categories) available in the exercises dataset, sorted alphabetically.
Code Examples
curl --request GET \
--url 'https://exercises.p.rapidapi.com/v1/exercises/types' \
--header 'x-rapidapi-key: YOUR_API_KEY' \
--header 'x-rapidapi-host: exercises.p.rapidapi.com' const url = "https://exercises.p.rapidapi.com/v1/exercises/types";
const options = {
method: "GET",
headers: {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data); import requests
url = "https://exercises.p.rapidapi.com/v1/exercises/types"
headers = {
"x-rapidapi-key": "YOUR_API_KEY",
"x-rapidapi-host": "exercises.p.rapidapi.com"
}
response = requests.get(url, headers=headers)
print(response.json()) Interactive Example
$ GET /v1/exercises?muscle=biceps&type=strength
{"data":[{"name":"Barbell Curl","force":"pull","level":"beginner","mechanic":"isolation","equipment":"barbell","primaryMuscles":["biceps"],"secondaryMuscles":["forearms"],"instructions":["..."],"category":"strength"}],"meta":{"total":1,"limit":10,"offset":0}} Subscribe & License
Access this API with commercial-ready tiers on RapidAPI. Flexible plans designed for side-projects, startups, and high-volume production architectures.
Developer Support
Need help integrating or have a custom endpoint request? Our engineering team is here to assist with authentication, payload schemas, and high-frequency rate limit increases.
System Performance
Monitored 24/7 with a 99.9% uptime SLA. Built atop cloud-native microservices with globally distributed edge caching to ensure ultra-low latency response times.