API Reference
Fitness & Health
8 clinically grounded tools for body composition, energy expenditure, nutrition, and exercise physiology. All tools use peer-reviewed formulas and return reproducible results with the same inputs.
Verified science
All fitness tools implement peer-reviewed formulas (Mifflin-St Jeor, Harris-Benedict, US Navy body fat, Devine, Robinson, Karvonen). Sources are specified per tool.
fitness_bmi
fitness_bmr
fitness_tdee
fitness_body_fat
fitness_ideal_weight
fitness_target_heart_rate
fitness_water_intake
fitness_macros
fitness_bmi
Calculates Body Mass Index and returns the WHO weight category (Underweight / Normal weight / Overweight / Obesity).
| Parameter | Type | Required | Description |
|---|---|---|---|
weightKg | number | required | Body weight in kilograms (must be > 0) |
heightCm | number | required | Height in centimeters (must be > 0) |
Request / Response
{ "weightKg": 75, "heightCm": 178 } { "bmi": 23.67, "category": "Normal weight", "weightKg": 75, "heightCm": 178 }
WHO categories
< 18.5 Underweight · 18.5–24.9 Normal weight · 25–29.9 Overweight · ≥ 30 Obesity
fitness_bmr
Basal Metabolic Rate — the calories your body needs at complete rest. Supports Mifflin-St Jeor (default) and Harris-Benedict formulas.
| Parameter | Type | Required | Description |
|---|---|---|---|
weightKg | number | required | Weight in kilograms |
heightCm | number | required | Height in centimeters |
ageYears | number | required | Age in years |
gender | enum | required | male or female |
formula | enum | optional | mifflin (default) or harris |
Request / Response
{ "weightKg": 80, "heightCm": 180, "ageYears": 30, "gender": "male" } { "bmrKcal": 1880, "formulaUsed": "mifflin", "gender": "male", "ageYears": 30, "weightKg": 80, "heightCm": 180 }
fitness_tdee
Total Daily Energy Expenditure — multiplies BMR by an activity multiplier to estimate actual daily calorie needs.
| Parameter | Type | Required | Description |
|---|---|---|---|
bmr | number | required | BMR in kcal (use fitness_bmr first) |
activityLevel | enum | required | See activity levels below |
| Activity level | Description | Multiplier |
|---|---|---|
sedentary | Little or no exercise | × 1.2 |
light | Light exercise 1–3 days/week | × 1.375 |
moderate | Moderate exercise 3–5 days/week | × 1.55 |
active | Heavy exercise 6–7 days/week | × 1.725 |
very_active | Very intense exercise / physical job | × 1.9 |
Request / Response
{ "bmr": 1880, "activityLevel": "moderate" } { "bmr": 1880, "activityLevel": "moderate", "tdeeKcal": 2914 }
fitness_body_fat
Estimates body fat percentage using the US Navy circumference method. Hip measurement required for females.
| Parameter | Type | Required | Description |
|---|---|---|---|
gender | enum | required | male or female |
waistCm | number | required | Waist circumference in cm (must exceed neck) |
neckCm | number | required | Neck circumference in cm |
heightCm | number | required | Height in cm |
hipCm | number | optional* | Hip circumference in cm — required for females |
Request / Response (male)
{ "gender": "male", "waistCm": 85, "neckCm": 38, "heightCm": 178 } { "bodyFatPercentage": 16.2, "gender": "male" }
fitness_ideal_weight
Returns ideal body weight using three formulas simultaneously: Devine, Robinson, and Miller. Height must be ≥ 152 cm (5 ft).
| Parameter | Type | Required | Description |
|---|---|---|---|
heightCm | number | required | Height in centimeters (≥ 152) |
gender | enum | required | male or female |
Request / Response
{ "heightCm": 175, "gender": "female" } { "devineKg": 66.9, "robinsonKg": 65.9, "millerKg": 71.3, "heightCm": 175, "gender": "female" }
fitness_target_heart_rate
Calculates heart rate zones using the Karvonen formula. Returns fat burn, aerobic, anaerobic, and maximum zones.
| Parameter | Type | Required | Description |
|---|---|---|---|
ageYears | number | required | Age in years (1–120) |
restingHeartRate | number | optional | Resting heart rate in bpm (default: 70) |
Request / Response
{ "ageYears": 35, "restingHeartRate": 62 } { "maxHeartRate": 185, "restingHeartRate": 62, "zones": { "fatBurn": { "min": 124, "max": 148 }, "aerobic": { "min": 148, "max": 160 }, "anaerobic": { "min": 160, "max": 173 }, "maximum": { "min": 173, "max": 185 } } }
fitness_water_intake
Recommended daily water intake based on body weight and exercise duration. Returns liters and fluid ounces.
| Parameter | Type | Required | Description |
|---|---|---|---|
weightKg | number | required | Body weight in kg — baseline is ~33 ml per kg |
activityMinutes | number | optional | Daily exercise minutes (adds 350 ml per 30 min) |
Request / Response
{ "weightKg": 70, "activityMinutes": 45 } { "recommendedLiters": 2.84, "recommendedOunces": 96, "weightKg": 70, "activityMinutes": 45 }
fitness_macros
Macronutrient breakdown (protein, carbs, fat in grams) from a calorie target and fitness goal.
| Parameter | Type | Required | Description |
|---|---|---|---|
calories | number | required | Target daily calories (must be > 0) |
goal | enum | optional | maintenance (default) · weight_loss · muscle_gain · keto |
| Goal | Protein | Carbs | Fat |
|---|---|---|---|
maintenance | 30% | 40% | 30% |
weight_loss | 40% | 30% | 30% |
muscle_gain | 30% | 50% | 20% |
keto | 20% | 5% | 75% |
Request / Response
{ "calories": 2500, "goal": "muscle_gain" } { "calories": 2500, "goal": "muscle_gain", "proteinGrams": 188, "carbsGrams": 313, "fatGrams": 56, "percentages": { "protein": "30%", "carbs": "50%", "fat": "20%" } }