exercises
GetExercisesByEquipments
Filter exercises by equipments with cursor-based pagination.
GET
https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com
/
api
/
v1
/
exercises
/
equipments
GetExercisesByEquipments
curl --request GET \
--url https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments \
--header 'X-RapidAPI-Key: <api-key>'import requests
url = "https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments"
headers = {"X-RapidAPI-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-RapidAPI-Key': '<api-key>'}};
fetch('https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-RapidAPI-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-RapidAPI-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments")
.header("X-RapidAPI-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-RapidAPI-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"meta": {
"total": 2289,
"hasNextPage": true,
"hasPreviousPage": false,
"nextCursor": "<string>",
"previousCursor": "<string>"
},
"data": [
{
"exerciseId": "edb_T5uXtLj",
"name": "Bench Press",
"equipments": [
"Barbell"
],
"bodyParts": [
"Chest"
],
"exerciseTypes": [
"strength"
],
"difficulty": "intermediate",
"targetMuscles": [
"pectorals"
],
"secondaryMuscles": [
"triceps",
"shoulders"
],
"imageUrl": ""
}
]
}{
"error": {
"code": "BAD_REQUEST",
"docs": "https://docs.exercisedb.dev/errors/code/BAD_REQUEST",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "UNAUTHORIZED",
"docs": "https://docs.exercisedb.dev/errors/code/UNAUTHORIZED",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "FORBIDDEN",
"docs": "https://docs.exercisedb.dev/errors/code/FORBIDDEN",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "NOT_FOUND",
"docs": "https://docs.exercisedb.dev/errors/code/NOT_FOUND",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "METHOD_NOT_ALLOWED",
"docs": "https://docs.exercisedb.dev/errors/code/METHOD_NOT_ALLOWED",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "CONFLICT",
"docs": "https://docs.exercisedb.dev/errors/code/CONFLICT",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "PRECONDITION_FAILED",
"docs": "https://docs.exercisedb.dev/errors/code/PRECONDITION_FAILED",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "TOO_MANY_REQUESTS",
"docs": "https://docs.exercisedb.dev/errors/code/TOO_MANY_REQUESTS",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"docs": "https://docs.exercisedb.dev/errors/code/INTERNAL_SERVER_ERROR",
"message": "<string>",
"requestId": "req_12345"
}
}Authorizations
Enter your RapidAPI key in the X-RapidAPI-Key header.
Query Parameters
Filter exercises by required equipment. Use comma-separated values for multiple equipment types.
Example:
"Barbell,Dumbbell"
Maximum number of results to return (min: 1, max: 25, default: 10)
Example:
"10"
Exercise ID to paginate after (for forward pagination)
Exercise ID to paginate before (for backward pagination)
Response
Retrieve exercises by search filters
Indicates whether the request was successful
Example:
true
Metadata about cursor-based pagination
Show child attributes
Show child attributes
Array of exercises matching the filter criteria
Show child attributes
Show child attributes
Last modified on March 23, 2026
Was this page helpful?
⌘I
GetExercisesByEquipments
curl --request GET \
--url https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments \
--header 'X-RapidAPI-Key: <api-key>'import requests
url = "https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments"
headers = {"X-RapidAPI-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-RapidAPI-Key': '<api-key>'}};
fetch('https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-RapidAPI-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-RapidAPI-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments")
.header("X-RapidAPI-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://edb-with-gifs-and-images-by-ascendapi.p.rapidapi.com/api/v1/exercises/equipments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-RapidAPI-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"meta": {
"total": 2289,
"hasNextPage": true,
"hasPreviousPage": false,
"nextCursor": "<string>",
"previousCursor": "<string>"
},
"data": [
{
"exerciseId": "edb_T5uXtLj",
"name": "Bench Press",
"equipments": [
"Barbell"
],
"bodyParts": [
"Chest"
],
"exerciseTypes": [
"strength"
],
"difficulty": "intermediate",
"targetMuscles": [
"pectorals"
],
"secondaryMuscles": [
"triceps",
"shoulders"
],
"imageUrl": ""
}
]
}{
"error": {
"code": "BAD_REQUEST",
"docs": "https://docs.exercisedb.dev/errors/code/BAD_REQUEST",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "UNAUTHORIZED",
"docs": "https://docs.exercisedb.dev/errors/code/UNAUTHORIZED",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "FORBIDDEN",
"docs": "https://docs.exercisedb.dev/errors/code/FORBIDDEN",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "NOT_FOUND",
"docs": "https://docs.exercisedb.dev/errors/code/NOT_FOUND",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "METHOD_NOT_ALLOWED",
"docs": "https://docs.exercisedb.dev/errors/code/METHOD_NOT_ALLOWED",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "CONFLICT",
"docs": "https://docs.exercisedb.dev/errors/code/CONFLICT",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "PRECONDITION_FAILED",
"docs": "https://docs.exercisedb.dev/errors/code/PRECONDITION_FAILED",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "TOO_MANY_REQUESTS",
"docs": "https://docs.exercisedb.dev/errors/code/TOO_MANY_REQUESTS",
"message": "<string>",
"requestId": "req_12345"
}
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"docs": "https://docs.exercisedb.dev/errors/code/INTERNAL_SERVER_ERROR",
"message": "<string>",
"requestId": "req_12345"
}
}