---
title: "BMI & BMR Calculator API"
slug: bmi-bmr-calculator
url: https://apyhub.com/freedailypro/service/bmi-bmr-calculator
provider: FreeDailyPro
tags: [bmi-calculator, bmr-calculator, body-mass-index, basal-metabolic-rate, health-calculator, fitness-calculator, body-metrics]
auth: api_key
version: v1
service_type: sync
endpoints: 2
atoms: 10
mcp: true
---

# BMI & BMR Calculator API

Calculate Body Mass Index (BMI) and Basal Metabolic Rate (BMR) with a simple API for health, fitness, and wellness applications.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| POST | `https://api.eu.apyhub.com/freedailypro/bmi-bmr-calculator/bmi` | What it does Calculates BMI from the submitted weight and height, using metric or imperial units. T… | 10 |
| POST | `https://api.eu.apyhub.com/freedailypro/bmi-bmr-calculator/bmr` | What it does Calculates basal metabolic rate from the body measurements in the request body. The en… | 10 |

## Endpoint reference

### Calculate BMI, category, BMI Prime, Ponderal Index, WHO class, waist-to-height ratio and target weight in metric or imperial units

`POST https://api.eu.apyhub.com/freedailypro/bmi-bmr-calculator/bmi` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `unit` | body | string | no | metric (kg and cm, the default) or imperial (lb and inches). One of: metric, imperial. |
| `waist` | body | number | no | Optional waist in cm (metric) or inches (imperial). Adds the waist-to-height ratio and its band. |
| `height` | body | number | yes | Height in cm (metric) or inches (imperial). Metric 50 to 272 cm, imperial 20 to 107 in. |
| `weight` | body | number | yes | Weight in kg (metric) or pounds (imperial). Metric 2 to 700 kg, imperial 4 to 1500 lb. |
| `targetBmi` | body | number | no | Optional target BMI (10 to 60). Adds the weight that gives it at this height and the change from now. |
| `targetBmiPrime` | body | number | no | Optional target BMI Prime (target BMI / 25). Send this or targetBmi, not both. |

#### Quickstart

Calculate BMI from your weight and height with the minimum required JSON body.

```bash
curl -X POST "https://api.eu.apyhub.com/freedailypro/bmi-bmr-calculator/bmi" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"weight":54,"height":170}'
```

#### What you'll get back

Returns a JSON object. The output schema does not declare any top-level fields, so the response shape is unspecified here.

```json
{
  "result": {
    "bmi": 18.7,
    "category": "Normal",
    "bmiPrime": 0.75,
    "ponderalIndex": 11,
    "whoClass": "Normal range",
    "whoRange": "18.5 to 24.99",
    "healthyWeightRange": {
      "lowKg": 53.5,
      "highKg": 72
    },
    "steps": [
      {
        "label": "Height in metres",
        "formula": "height in cm / 100",
        "inputs": {
          "cm": 170
        },
        "result": 1.7
      },
      {
        "label": "BMI",
        "formula": "weight in kg / (height in m)^2",
        "inputs": {
          "weight": "54.0 kg",
          "height": "1.7 m"
        },
        "result": "18.7"
      },
      {
        "label": "BMI Prime",
        "formula": "BMI / 25",
        "inputs": {
          "BMI": "18.7"
        },
        "result": "0.75"
      },
      {
        "label": "Ponderal Index",
        "formula": "weight in kg / (height in m)^3",
        "inputs": {
          "weight": "54.0 kg",
          "height": "1.7 m"
        },
        "result": "11.0 kg/m3"
      },
      {
        "label": "WHO class",
        "formula": "the WHO adult BMI table row that contains the BMI",
        "inputs": {
          "BMI": "18.7"
        },
        "result": "Normal range (18.5 to 24.99)"
      }
    ]
  }
}
```

### Calculate basal metabolic rate and daily calories from body measurements and activity

`POST https://api.eu.apyhub.com/freedailypro/bmi-bmr-calculator/bmr` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `sex` | body | string | yes | One of: male, female. |
| `formula` | body | string | no | Equation to use. Default mifflin-st-jeor (or katch-mcardle when bodyFatPct is sent). harris-benedict is the 1984 Roza-Shizgal revision. katch-mcardle needs bodyFatPct. One of: mifflin-st-jeor, harris… |
| `activity` | body | string | no | One of: sedentary, light, moderate, active, very_active. |
| `ageYears` | body | number | yes |  |
| `heightCm` | body | number | yes |  |
| `weightKg` | body | number | yes |  |
| `bodyFatPct` | body | number | no | Body fat as a percentage, 3 to 60. Switches to Katch-McArdle (370 + 21.6 x lean body mass in kg) unless formula says otherwise; the comparison then includes it. |

#### Quickstart

Calculate your BMR from weight, height, age, and sex with a single request.

```bash
curl -X POST "https://api.eu.apyhub.com/freedailypro/bmi-bmr-calculator/bmr" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "weightKg": 54,
    "heightCm": 170,
    "ageYears": 25,
    "sex": "male"
  }'
```

#### What you'll get back

Returns a JSON object.

```json
{
  "result": {
    "bmr": 1483,
    "tdee": 2298,
    "activity": "moderate"
  }
}
```

## About

## What it does
BMI BMR Calculator gives you body composition and calorie estimates from basic measurements. Send weight and height to calculate BMI, category, BMI Prime, Ponderal Index, WHO class, waist-to-height ratio, and target weight values. Send weightKg, heightCm, ageYears, sex, and optional activity or bodyFatPct to calculate basal metabolic rate and daily calorie needs.

Use the /bmi endpoint when you need a quick health metric from metric or imperial inputs. It accepts weight and height as required fields, with optional waist, targetBmi, and targetBmiPrime. The response is an object, so you can map the values into your own UI, intake flow, or fitness workflow without reshaping nested records.

Use the /bmr endpoint when you need calorie planning from body measurements. It supports the Mifflin-St Jeor, Harris-Benedict, and Katch-McArdle formulas, plus activity levels from sedentary to very_active. When bodyFatPct is provided, the calculation can switch to Katch-McArdle, which is useful for more precise lean-mass-based estimates.

BMI BMR Calculator is a fit for wellness apps, onboarding questionnaires, health dashboards, and personal training tools that need standardized measurement-based outputs.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/freedailypro/service/bmi-bmr-calculator
