The Calories Burned API calculates the total calories burned for hundreds of sports and activities. It supports custom weight and duration.
HTTP GET
Returns the full list of activities supported by this API.
None
X-Api-Key
(required) - API Key associated with your account.
https://api.api-ninjas.com/v1/caloriesburnedactivities
HTTP GET
Returns the calories burned per hour and total calories burned according to given parameters for given activities (up to 10).
activity
(required) - name of the given activity. This value can be partial (e.g. ski
will match water skiing
and downhill skiing
)
weight
(optional) - weight of the user performing the activity in pounds. Must be between 50
and 500
. Default value is 160
.
duration
(optional) - how long the activity was performed in minutes. Must be 1
or greater. Default value is 60
(1 hour).
X-Api-Key
(required) - API Key associated with your account.
Live Demo!
https://api.api-ninjas.com/v1/caloriesburned?activity=
[
{
"name": "Skiing, water skiing",
"calories_per_hour": 354,
"duration_minutes": 60,
"total_calories": 354
},
{
"name": "Cross country snow skiing, slow",
"calories_per_hour": 413,
"duration_minutes": 60,
"total_calories": 413
},
{
"name": "Cross country skiing, moderate",
"calories_per_hour": 472,
"duration_minutes": 60,
"total_calories": 472
},
{
"name": "Cross country skiing, vigorous",
"calories_per_hour": 531,
"duration_minutes": 60,
"total_calories": 531
},
{
"name": "Cross country skiing, racing",
"calories_per_hour": 826,
"duration_minutes": 60,
"total_calories": 826
},
{
"name": "Cross country skiing, uphill",
"calories_per_hour": 974,
"duration_minutes": 60,
"total_calories": 974
},
{
"name": "Snow skiing, downhill skiing, light",
"calories_per_hour": 295,
"duration_minutes": 60,
"total_calories": 295
},
{
"name": "Downhill snow skiing, moderate",
"calories_per_hour": 354,
"duration_minutes": 60,
"total_calories": 354
},
{
"name": "Downhill snow skiing, racing",
"calories_per_hour": 472,
"duration_minutes": 60,
"total_calories": 472
}
]
import requests
activity = 'skiing'
api_url = 'https://api.api-ninjas.com/v1/caloriesburned?activity={}'.format(activity)
response = requests.get(api_url, headers={'X-Api-Key': 'YOUR_API_KEY'})
if response.status_code == requests.codes.ok:
print(response.text)
else:
print("Error:", response.status_code, response.text)
var activity = 'skiing'
$.ajax({
method: 'GET',
url: 'https://api.api-ninjas.com/v1/caloriesburned?activity=' + activity,
headers: { 'X-Api-Key': 'YOUR_API_KEY'},
contentType: 'application/json',
success: function(result) {
console.log(result);
},
error: function ajaxError(jqXHR) {
console.error('Error: ', jqXHR.responseText);
}
});
const request = require('request');
var activity = 'skiing';
request.get({
url: 'https://api.api-ninjas.com/v1/caloriesburned?activity=' + activity,
headers: {
'X-Api-Key': 'YOUR_API_KEY'
},
}, function(error, response, body) {
if(error) return console.error('Request failed:', error);
else if(response.statusCode != 200) return console.error('Error:', response.statusCode, body.toString('utf8'));
else console.log(body)
});
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import com.fasterxml.jackson.databind.ObjectMapper;
URL url = new URL("https://api.api-ninjas.com/v1/caloriesburned?activity=skiing");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("accept", "application/json");
InputStream responseStream = connection.getInputStream();
ObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(responseStream);
System.out.println(root.path("fact").asText());
let activity = "skiing".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let url = URL(string: "https://api.api-ninjas.com/v1/caloriesburned?activity="+activity!)!
var request = URLRequest(url: url)
request.setValue("YOUR_API_KEY", forHTTPHeaderField: "X-Api-Key")
let task = URLSession.shared.dataTask(with: request) {(data, response, error) in
guard let data = data else { return }
print(String(data: data, encoding: .utf8)!)
}
task.resume()