{"openapi":"3.1.0","info":{"title":"Fitness and Body Calculators","version":"1.0.0","description":"BMI, ideal weight, calorie needs, macros, one-rep max, heart-rate zones, race pace and prediction, body fat, calorie burn, due date. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Fitness and Body Calculators: BMI, ideal weight, calorie needs, macros, one-rep max, heart-rate zones, race pace and prediction, body fat, calorie burn, due date. Fitness and Body Calculators does the arithmetic for training and nutrition questions: BMI with the WHO category and a healthy weight range (/bmi), classic ideal-weight formulas (/ideal-weight), daily calories from the Mifflin-St Jeor equation (/bmr-tdee), protein, carb and fat grams for a calorie target (/macro-split), estimated one-rep max (/one-rep-max), heart-rate training zones (/heart-rate-zones), running pace, speed and race-time prediction (/pace-race), body fat from tape measurements (/body-fat-navy), calories burned by activity (/calorie-burn) and an estimated due date from the last period (/due-date). Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://fitness-calc.x402tookit.com"}],"paths":{"/bmi":{"get":{"operationId":"bmi","summary":"Body mass index from weight and height, metric or imperial, with the WHO adult category and the 18.5 to 24.9 weight range.","description":"Body mass index from weight and height, metric or imperial, with the WHO adult category and the 18.5 to 24.9 weight range.","tags":["bmi","health","calculator"],"parameters":[{"name":"units","in":"query","required":false,"description":"metric (default: kg and cm) or imperial (lb, feet and inches)","schema":{"type":"string"}},{"name":"weight","in":"query","required":true,"description":"Weight in kg, or pounds if units=imperial","schema":{"type":"number"}},{"name":"height","in":"query","required":false,"description":"Height in cm (metric)","schema":{"type":"number"}},{"name":"heightFt","in":"query","required":false,"description":"Feet (imperial)","schema":{"type":"number"}},{"name":"heightIn","in":"query","required":false,"description":"Inches (imperial; total inches if heightFt is omitted)","schema":{"type":"number"}},{"name":"age","in":"query","required":false,"description":"Age in years (BMI categories apply to adults 20 and over)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"bmi":{"type":["null","number"]},"category":{"type":["null","string"]},"weightKg":{"type":["null","number"]},"heightCm":{"type":["null","number"]},"healthyWeightRangeKg":{"type":["null","object"],"properties":{"min":{"type":["null","number"]},"max":{"type":["null","number"]}}},"healthyWeightRangeLb":{"type":["null","object"],"properties":{"min":{"type":["null","number"]},"max":{"type":["null","number"]}}},"kgToReachNormalMax":{},"kgToReachNormalMin":{},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"NORMAL_WEIGHT","summary":"BMI 22.9: Normal weight. A BMI of 18.5 to 24.9 at 175 cm is 56.7 kg to 76.3 kg.","reasons":["WHO adult categories: under 18.5 underweight, 18.5 to 24.9 normal, 25 to 29.9 overweight, 30 and over obese.","BMI is a screening number, not a diagnosis: it ignores muscle, age, sex and body shape.","…1 more"],"bmi":22.857,"category":"Normal weight","weightKg":70,"heightCm":175,"healthyWeightRangeKg":{"min":56.66,"max":76.26},"healthyWeightRangeLb":{"min":124.9,"max":168.1},"kgToReachNormalMax":null,"kgToReachNormalMin":null,"degraded":false,"notChecked":["muscle mass, bone density, fat distribution and ethnicity: BMI cannot tell fat from muscle and the cutoffs are population screens, not diagnoses","children and teens (they need age-and-sex growth percentiles)","…2 more"],"source":"computed locally","asOf":"2026-10-11T08:36:49.046Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/bmi"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/bmi"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/bmi"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/bmi"}}]}}},"/bmr-tdee":{"get":{"operationId":"bmr_tdee","summary":"Basal metabolic rate (Mifflin-St Jeor), daily calories by activity level, and a calorie target for a weekly weight change.","description":"Basal metabolic rate (Mifflin-St Jeor), daily calories by activity level, and a calorie target for a weekly weight change.","tags":["bmr","tdee","calories","nutrition","calculator"],"parameters":[{"name":"units","in":"query","required":false,"description":"metric (default: kg and cm) or imperial (lb, feet and inches)","schema":{"type":"string"}},{"name":"weight","in":"query","required":true,"description":"Weight in kg, or pounds if units=imperial","schema":{"type":"number"}},{"name":"height","in":"query","required":false,"description":"Height in cm (metric)","schema":{"type":"number"}},{"name":"heightFt","in":"query","required":false,"description":"Feet (imperial)","schema":{"type":"number"}},{"name":"heightIn","in":"query","required":false,"description":"Inches (imperial; total inches if heightFt is omitted)","schema":{"type":"number"}},{"name":"sex","in":"query","required":true,"description":"male or female","schema":{"type":"string"}},{"name":"age","in":"query","required":true,"description":"Age in years, 15 to 100","schema":{"type":"number"}},{"name":"activity","in":"query","required":false,"description":"sedentary, light, moderate (default), active or very-active","schema":{"type":"string"}},{"name":"weeklyChange","in":"query","required":false,"description":"Desired weight change in kg per week (negative to lose), -1 to 1; default 0","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"bmrKcal":{"type":["null","number"]},"maintenanceKcal":{"type":["null","number"]},"activity":{"type":["null","string"]},"activityFactor":{"type":["null","number"]},"maintenanceByActivity":{"type":["null","object"],"properties":{"sedentary":{"type":["null","number"]},"light":{"type":["null","number"]},"moderate":{"type":["null","number"]},"active":{"type":["null","number"]},"very-active":{"type":["null","number"]}}},"weeklyChangeKg":{"type":["null","number"]},"targetKcal":{"type":["null","number"]},"dailyDeficitOrSurplusKcal":{"type":["null","number"]},"commonMinimumKcal":{"type":["null","number"]},"belowCommonMinimum":{"type":["boolean","null"]},"equation":{"type":["null","string"]},"inputs":{"type":["null","object"],"properties":{"weightKg":{"type":["null","number"]},"heightCm":{"type":["null","number"]},"age":{"type":["null","number"]},"sex":{"type":["null","string"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"BMR 1780 kcal/day; maintenance at moderate activity about 2759 kcal/day; for -0.5 kg per week, about 2209 kcal/day.","reasons":["BMR = 10 x kg + 6.25 x cm - 5 x age + 5 (male) or - 161 (female). Activity multipliers: 1.2, 1.375, 1.55, 1.725, 1.9.","About 7,700 kcal is conventionally one kg of body fat; real weight change is slower and varies.","…1 more"],"bmrKcal":1780,"maintenanceKcal":2759,"activity":"moderate","activityFactor":1.55,"maintenanceByActivity":{"sedentary":2136,"light":2448,"moderate":2759,"active":3071,"very-active":3382},"weeklyChangeKg":-0.5,"targetKcal":2209,"dailyDeficitOrSurplusKcal":-550,"commonMinimumKcal":1500,"belowCommonMinimum":false,"equation":"Mifflin-St Jeor (1990)","inputs":{"weightKg":80,"heightCm":180,"age":30,"sex":"male"},"degraded":false,"notChecked":["individual metabolism: the equation is accurate to about 10% for most healthy adults and worse outside that group","lean mass (very muscular or very lean people burn more)","…2 more"],"source":"computed locally","asOf":"2026-10-11T08:36:49.299Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/bmr-tdee"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/bmr-tdee"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/bmr-tdee"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/bmr-tdee"}}]}}},"/body-fat-navy":{"get":{"operationId":"body_fat_navy","summary":"Body fat percentage estimate from tape measurements (US Navy method) with fat mass, lean mass and a general category.","description":"Body fat percentage estimate from tape measurements (US Navy method) with fat mass, lean mass and a general category.","tags":["body-fat","health","calculator"],"parameters":[{"name":"sex","in":"query","required":true,"description":"male or female","schema":{"type":"string"}},{"name":"units","in":"query","required":false,"description":"metric (cm, kg; default) or imperial (inches, lb)","schema":{"type":"string"}},{"name":"height","in":"query","required":true,"description":"Height","schema":{"type":"number"}},{"name":"neck","in":"query","required":true,"description":"Neck circumference below the larynx","schema":{"type":"number"}},{"name":"waist","in":"query","required":true,"description":"Waist at the navel (men) or narrowest point (women)","schema":{"type":"number"}},{"name":"hip","in":"query","required":false,"description":"Hip at the widest point (required for women)","schema":{"type":"number"}},{"name":"weight","in":"query","required":false,"description":"Body weight to also give fat and lean mass","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"sex":{"type":["null","string"]},"bodyFatPct":{"type":["null","number"]},"category":{"type":["null","string"]},"fatMassKg":{},"leanMassKg":{},"inputsInches":{"type":["null","object"],"properties":{"height":{"type":["null","number"]},"neck":{"type":["null","number"]},"waist":{"type":["null","number"]},"hip":{}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"AVERAGE","summary":"Estimated body fat 17.5% (Average).","reasons":["US Navy circumference method (inches, base-10 logs). Accuracy is about 3 to 4 points against DEXA.","Categories are the American Council on Exercise ranges."],"sex":"male","bodyFatPct":17.51,"category":"Average","fatMassKg":null,"leanMassKg":null,"inputsInches":{"height":70,"neck":15,"waist":34,"hip":null},"degraded":false,"notChecked":["measurement technique (a 1 cm error moves the result 1 to 2 points)","anything but a rough estimate: the Navy method is accurate to about 3 to 4 points against DEXA and is poor at very low or high body fat and for very muscular people","…2 more"],"source":"computed locally","asOf":"2026-10-11T08:36:49.562Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/body-fat-navy"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/body-fat-navy"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/body-fat-navy"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/body-fat-navy"}}]}}},"/calorie-burn":{"get":{"operationId":"calorie_burn","summary":"Calories burned by an activity (walking, running, cycling, swimming and more) from MET values, body weight and duration.","description":"Calories burned by an activity (walking, running, cycling, swimming and more) from MET values, body weight and duration.","tags":["calories","exercise","met","calculator"],"parameters":[{"name":"activity","in":"query","required":true,"description":"e.g. running-6mph, walking-3.5mph, cycling-12-14mph, swimming-freestyle-slow, yoga","schema":{"type":"string"}},{"name":"weight","in":"query","required":true,"description":"Body weight in kg (or lb if units=imperial)","schema":{"type":"number"}},{"name":"minutes","in":"query","required":true,"description":"Duration in minutes, 1 to 1440","schema":{"type":"number"}},{"name":"units","in":"query","required":false,"description":"metric (default) or imperial","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"activity":{"type":["null","string"]},"met":{"type":["null","number"]},"weightKg":{"type":["null","number"]},"minutes":{"type":["null","number"]},"grossKcal":{"type":["null","number"]},"netKcal":{"type":["null","number"]},"grossKcalPerHour":{"type":["null","number"]},"compendium":{"type":["null","string"]},"availableActivities":{"type":["array","null"],"items":{"type":"string"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"ESTIMATED","summary":"running-6mph for 30 min at 70 kg: about 360 kcal gross (323 kcal above resting), MET 9.8.","reasons":["kcal per minute = MET x 3.5 x kg / 200 (the standard ACSM conversion; MET x kg x hours gives nearly the same).","MET values are Compendium averages, so treat the result as a ballpark."],"activity":"running-6mph","met":9.8,"weightKg":70,"minutes":30,"grossKcal":360,"netKcal":323,"grossKcalPerHour":720,"compendium":"2011 Compendium of Physical Activities","availableActivities":["walking-3mph","walking-3.5mph","…21 more"],"degraded":false,"notChecked":["your actual fitness, efficiency, terrain, wind and intensity (MET values are averages: real burn varies by 20% or more)","calories you would have burned anyway at rest (the figure is gross; net exercise calories are about 1 MET less, so subtract kg x minutes / 60)","…2 more"],"source":"computed locally","asOf":"2026-10-11T08:36:49.821Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/calorie-burn"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/calorie-burn"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/calorie-burn"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/calorie-burn"}}]}}},"/due-date":{"get":{"operationId":"due_date","summary":"Estimated due date, gestational age and trimester from the last period (Naegele rule), with key milestone dates.","description":"Estimated due date, gestational age and trimester from the last period (Naegele rule), with key milestone dates.","tags":["pregnancy","due-date","calculator"],"parameters":[{"name":"lmp","in":"query","required":true,"description":"First day of last menstrual period, YYYY-MM-DD","schema":{"type":"string"}},{"name":"cycleDays","in":"query","required":false,"description":"Average cycle length, 21 to 45 (default 28)","schema":{"type":"integer"}},{"name":"asOf","in":"query","required":false,"description":"Date to compute the current gestational age for (default today)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"lmp":{"type":["null","string"]},"cycleDays":{"type":["null","number"]},"dueDate":{"type":["null","string"]},"computedForDate":{"type":["null","string"]},"gestationalDays":{"type":["null","number"]},"gestationalAge":{"type":["null","string"]},"trimester":{"type":["null","string"]},"milestones":{"type":["null","object"],"properties":{"conceptionEstimate":{"type":["null","string"]},"endFirstTrimester":{"type":["null","string"]},"anatomyScanWindowStart":{"type":["null","string"]},"anatomyScanWindowEnd":{"type":["null","string"]},"endSecondTrimester":{"type":["null","string"]},"fullTermStarts":{"type":["null","string"]},"fullTermEnds":{"type":["null","string"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Due 2026-10-08 (280 days from LMP). On 2026-03-12: 10 weeks 0 days, first trimester.","reasons":["Naegele's rule: LMP + 280 days (40 weeks), adjusted by cycle length minus 28.","Only about 1 in 25 babies arrive on the estimated date; term is 37 to 42 weeks.","…1 more"],"lmp":"2026-01-01","cycleDays":28,"dueDate":"2026-10-08","computedForDate":"2026-03-12","gestationalDays":70,"gestationalAge":"10w0d","trimester":"first trimester","milestones":{"conceptionEstimate":"2026-01-15","endFirstTrimester":"2026-04-02","anatomyScanWindowStart":"2026-05-07","anatomyScanWindowEnd":"2026-06-04","endSecondTrimester":"2026-07-09","fullTermStarts":"2026-09-17","fullTermEnds":"2026-10-21"},"degraded":false,"notChecked":["ultrasound dating, which supersedes this estimate when they differ by more than about a week","irregular cycles, recent hormonal contraception or conception date uncertainty","…2 more"],"source":"computed locally","asOf":"2026-10-11T08:36:50.084Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/due-date"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/due-date"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/due-date"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/due-date"}}]}}},"/heart-rate-zones":{"get":{"operationId":"heart_rate_zones","summary":"Estimated maximum heart rate (Tanaka, Fox) and five training zones as percent of max or by heart-rate reserve (Karvonen).","description":"Estimated maximum heart rate (Tanaka, Fox) and five training zones as percent of max or by heart-rate reserve (Karvonen).","tags":["heart-rate","training","zones","running"],"parameters":[{"name":"age","in":"query","required":true,"description":"Age in years, 10 to 100","schema":{"type":"number"}},{"name":"restingHr","in":"query","required":false,"description":"Resting heart rate in bpm for the Karvonen reserve method","schema":{"type":"number"}},{"name":"maxHr","in":"query","required":false,"description":"Your measured maximum, if you have one","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"age":{"type":["null","number"]},"maxHrUsed":{"type":["null","number"]},"maxHrTanaka":{"type":["null","number"]},"maxHrFox":{"type":["null","number"]},"maxHrMeasured":{},"restingHr":{"type":["null","number"]},"method":{"type":["null","string"]},"reserve":{"type":["null","number"]},"zones":{"type":["array","null"],"items":{"type":"object","properties":{"zone":{"type":["null","string"]},"percentOfReserve":{"type":["null","string"]},"bpm":{"type":["null","object"],"properties":{"min":{"type":["null","number"]},"max":{"type":["null","number"]}}}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Max heart rate 180 bpm (Tanaka; Fox gives 180); Karvonen reserve zones: 120-132, 132-144, 144-156, 156-168, 168-180 bpm.","reasons":["Tanaka (2001): 208 - 0.7 x age, better for adults over 40 than Fox 220 - age.","Karvonen: resting + percent x (max - resting).","…1 more"],"age":40,"maxHrUsed":180,"maxHrTanaka":180,"maxHrFox":180,"maxHrMeasured":null,"restingHr":60,"method":"Karvonen heart-rate reserve","reserve":120,"zones":[{"zone":"Zone 1 recovery","percentOfReserve":"50-60%","bpm":{"min":120,"max":132}},{"zone":"Zone 2 endurance base","percentOfReserve":"60-70%","bpm":{"min":132,"max":144}}],"degraded":false,"notChecked":["individual variation (the age formulas have a spread of about +/-10 beats per minute)","medications such as beta blockers that lower heart rate","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:36:50.345Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/heart-rate-zones"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/heart-rate-zones"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/heart-rate-zones"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/heart-rate-zones"}}]}}},"/ideal-weight":{"get":{"operationId":"ideal_weight","summary":"Ideal body weight by the Devine, Robinson, Miller and Hamwi formulas from height and sex, in kg and pounds.","description":"Ideal body weight by the Devine, Robinson, Miller and Hamwi formulas from height and sex, in kg and pounds.","tags":["ideal-weight","health","calculator"],"parameters":[{"name":"sex","in":"query","required":true,"description":"male or female","schema":{"type":"string"}},{"name":"units","in":"query","required":false,"description":"metric (default, height in cm) or imperial (heightIn in inches)","schema":{"type":"string"}},{"name":"height","in":"query","required":false,"description":"Height in cm (metric)","schema":{"type":"number"}},{"name":"heightIn","in":"query","required":false,"description":"Height in inches (imperial)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"sex":{"type":["null","string"]},"heightInches":{"type":["null","number"]},"heightCm":{"type":["null","number"]},"devine":{"type":["null","object"],"properties":{"kg":{"type":["null","number"]},"lb":{"type":["null","number"]}}},"robinson":{"type":["null","object"],"properties":{"kg":{"type":["null","number"]},"lb":{"type":["null","number"]}}},"miller":{"type":["null","object"],"properties":{"kg":{"type":["null","number"]},"lb":{"type":["null","number"]}}},"hamwi":{"type":["null","object"],"properties":{"kg":{"type":["null","number"]},"lb":{"type":["null","number"]}}},"average":{"type":["null","object"],"properties":{"kg":{"type":["null","number"]},"lb":{"type":["null","number"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"For a male at 70 in (177.8 cm): Devine 73 kg, Robinson 71, Miller 70.3, Hamwi 75; average 72.33 kg.","reasons":["Each formula adds a fixed amount per inch above 5 feet (Devine 1974, Robinson 1983, Miller 1983, Hamwi 1964).","These are crude drug-dosing conventions, not health targets: a BMI range is a better guide."],"sex":"male","heightInches":70,"heightCm":177.8,"devine":{"kg":73,"lb":160.9},"robinson":{"kg":71,"lb":156.5},"miller":{"kg":70.3,"lb":155},"hamwi":{"kg":75,"lb":165.3},"average":{"kg":72.33,"lb":159.4},"degraded":false,"notChecked":["frame size, muscle mass, age and ethnicity","that these formulas were written for drug dosing, not for health targets: they are crude","…2 more"],"source":"computed locally","asOf":"2026-10-11T08:36:50.611Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/ideal-weight"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/ideal-weight"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/ideal-weight"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/ideal-weight"}}]}}},"/macro-split":{"get":{"operationId":"macro_split","summary":"Protein, carbohydrate and fat grams for a calorie target from a preset or your own percentage split.","description":"Protein, carbohydrate and fat grams for a calorie target from a preset or your own percentage split.","tags":["macros","nutrition","calories","calculator"],"parameters":[{"name":"calories","in":"query","required":true,"description":"Daily calories, 500 to 10000","schema":{"type":"number"}},{"name":"preset","in":"query","required":false,"description":"balanced (30/40/30 protein/carb/fat, default), high-protein, low-carb or low-fat","schema":{"type":"string"}},{"name":"proteinPct","in":"query","required":false,"description":"Custom protein percent (with carbPct and fatPct summing to 100)","schema":{"type":"number"}},{"name":"carbPct","in":"query","required":false,"description":"Custom carbohydrate percent","schema":{"type":"number"}},{"name":"fatPct","in":"query","required":false,"description":"Custom fat percent","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"calories":{"type":["null","number"]},"preset":{"type":["null","string"]},"percent":{"type":["null","object"],"properties":{"protein":{"type":["null","number"]},"carbs":{"type":["null","number"]},"fat":{"type":["null","number"]}}},"grams":{"type":["null","object"],"properties":{"protein":{"type":["null","number"]},"carbs":{"type":["null","number"]},"fat":{"type":["null","number"]}}},"kcalFrom":{"type":["null","object"],"properties":{"protein":{"type":["null","number"]},"carbs":{"type":["null","number"]},"fat":{"type":["null","number"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"2000 kcal at balanced (30% protein / 40% carbs / 30% fat): 150 g protein, 200 g carbs, 67 g fat.","reasons":["Uses 4 kcal per gram of protein and carbohydrate and 9 kcal per gram of fat.","Check protein against body weight: grams per kg matters more than the percentage."],"calories":2000,"preset":"balanced","percent":{"protein":30,"carbs":40,"fat":30},"grams":{"protein":150,"carbs":200,"fat":66.667},"kcalFrom":{"protein":600,"carbs":800,"fat":600},"degraded":false,"notChecked":["your protein needs per kilogram of body weight (a common range for active adults is 1.2 to 2.2 g/kg: check it against your weight)","fibre, alcohol and micronutrients","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:36:50.861Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/macro-split"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/macro-split"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/macro-split"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/macro-split"}}]}}},"/one-rep-max":{"get":{"operationId":"one_rep_max","summary":"Estimated one-rep max from weight and reps by the Epley, Brzycki, Lombardi and O'Conner formulas, with a percentage table.","description":"Estimated one-rep max from weight and reps by the Epley, Brzycki, Lombardi and O'Conner formulas, with a percentage table.","tags":["strength","one-rep-max","lifting","calculator"],"parameters":[{"name":"weight","in":"query","required":true,"description":"Weight lifted (any unit)","schema":{"type":"number"}},{"name":"reps","in":"query","required":true,"description":"Repetitions to failure or near failure, 1 to 20","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"weight":{"type":["null","number"]},"reps":{"type":["null","number"]},"epley":{"type":["null","number"]},"brzycki":{"type":["null","number"]},"lombardi":{"type":["null","number"]},"oconner":{"type":["null","number"]},"average":{"type":["null","number"]},"percentOfAverage":{"type":["null","object"],"properties":{"95%":{"type":["null","number"]},"90%":{"type":["null","number"]},"85%":{"type":["null","number"]},"80%":{"type":["null","number"]},"75%":{"type":["null","number"]},"70%":{"type":["null","number"]},"65%":{"type":["null","number"]},"60%":{"type":["null","number"]},"50%":{"type":["null","number"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"100 x 5: estimated 1RM about 114.8 (Epley 116.7, Brzycki 112.5, Lombardi 117.5, O'Conner 112.5).","reasons":["Estimates are best for 2 to 10 reps.","Treat the number as a planning figure, not a target to test."],"weight":100,"reps":5,"epley":116.667,"brzycki":112.5,"lombardi":117.462,"oconner":112.5,"average":114.782,"percentOfAverage":{"95%":109.04,"90%":103.3,"85%":97.565,"80%":91.826,"75%":86.087,"70%":80.347,"65%":74.608,"60%":68.869,"50%":57.391},"degraded":false,"notChecked":["technique, fatigue and the exercise (formulas are least accurate above 10 reps and for isolation lifts)","a true max attempt, which should only be tried with a spotter and proper warm-up","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:36:51.125Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/one-rep-max"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/one-rep-max"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/one-rep-max"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/one-rep-max"}}]}}},"/pace-race":{"get":{"operationId":"pace_race","summary":"Running pace per km and per mile, speed, and predicted times for other race distances using the Riegel formula.","description":"Running pace per km and per mile, speed, and predicted times for other race distances using the Riegel formula.","tags":["running","pace","race","riegel"],"parameters":[{"name":"distance","in":"query","required":true,"description":"Distance: a number with unit (5km, 3.1mi, 800m) or a name: 5k, 10k, half, marathon, mile","schema":{"type":"string"}},{"name":"time","in":"query","required":true,"description":"Finish time as m:ss or h:mm:ss","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"distanceKm":{"type":["null","number"]},"distanceMiles":{"type":["null","number"]},"timeSeconds":{"type":["null","number"]},"time":{"type":["null","string"]},"pacePerKm":{"type":["null","string"]},"pacePerMile":{"type":["null","string"]},"speedKmh":{"type":["null","number"]},"speedMph":{"type":["null","number"]},"predictions":{"type":["null","object"],"properties":{"1500m":{"type":["null","string"]},"mile":{"type":["null","string"]},"3k":{"type":["null","string"]},"10k":{"type":["null","string"]},"half":{"type":["null","string"]},"marathon":{"type":["null","string"]}}},"formula":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"5 km in 25:00: 5:00 per km, 8:03 per mile, 12 km/h. Predicted: 1500m 6:59, mile 7:31, 3k 14:33, 10k 52:07, half 1:55:00.","reasons":["Riegel: T2 = T1 x (D2 / D1)^1.06. It is a rule of thumb: marathon predictions from a 5k are optimistic without marathon training."],"distanceKm":5,"distanceMiles":3.106856,"timeSeconds":1500,"time":"25:00","pacePerKm":"5:00","pacePerMile":"8:03","speedKmh":12,"speedMph":7.45645,"predictions":{"1500m":"6:59","mile":"7:31","3k":"14:33","10k":"52:07","half":"1:55:00","marathon":"3:59:47"},"formula":"Riegel exponent 1.06","degraded":false,"notChecked":["course, weather and training: Riegel assumes you are trained for the longer distance and over-predicts fast marathon times for low-mileage runners","predictions below about 1 mile or above the marathon","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:36:51.391Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/pace-race"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/pace-race"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/pace-race"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://fitness-calc.x402tookit.com/pace-race"}}]}}}}}