Compute body metrics by the row. Returns BMI, BMR, TDEE, calorie and macro targets in your cells — Sheets or Excel.
It's one of 250+ live sources you reach with a single =VERVE() function — served from APIVerve's production data engine, billed at 1 credit per resolved cell, and refreshed on whatever cadence you set. No API keys to wrangle, no scripts, no exports.
A real example — the input you type, and the values you can pull from it. Click any cell to see the formula behind it.
Fill =VERVE("bmicalculator", 180, 70, "imperial", "field", "bmi") down a column and Calculate BMI returns a result for every row — a batch of live values in a single drag, no code.
Add Calculate BMI beside a table you already have to append its output right where your data lives, then sort, filter, or chart on it.
Set the sheet to refresh on a schedule and the calculate bmi values keep themselves current without anyone re-typing.
The same function works in both apps — install once, sign in with your key, and type it into any cell.
Install from the Workspace Marketplace, then drop the formula into a cell. Autocomplete suggests the source and its fields.
=VERVE("bmicalculator", 180, 70, "imperial", "field", "bmi")Same source, same arguments, same key — in Excel on desktop, the web, or mobile. Excel namespaces it as VERVE.CALL. Drag to fill a whole column.
=VERVE.CALL("bmicalculator", 180, 70, "imperial", "field", "bmi")Tune the result by adding name=value before the field argument — in any order. Leave one out and its default applies.
Age in years (required for BMR/TDEE calculations)
=VERVE("bmicalculator", 180, 70, "imperial", "age", "30")Gender (required for BMR/TDEE calculations)
=VERVE("bmicalculator", 180, 70, "imperial", "gender", "male")Activity level (required for TDEE/calorie calculations)
=VERVE("bmicalculator", 180, 70, "imperial", "activityLevel", "moderate")Add a field name as the last argument to land just that value in the cell.
=VERVE("bmicalculator", 180, 70, "imperial", "field", "bmi")=VERVE("bmicalculator", 180, 70, "imperial", "field", "bmiPrime")=VERVE("bmicalculator", 180, 70, "imperial", "field", "risk")=VERVE("bmicalculator", 180, 70, "imperial", "field", "summary")=VERVE("bmicalculator", 180, 70, "imperial", "field", "weightToChange")=VERVE("bmicalculator", 180, 70, "imperial", "field", "bmr")=VERVE("bmicalculator", 180, 70, "imperial", "field", "tdee")=VERVE("bmicalculator", 180, 70, "imperial", "field", "calorieTargets")=VERVE("bmicalculator", 180, 70, "imperial", "field", "macros")=VERVE("bmicalculator", 180, 70, "imperial", "field", "weightToChange.direction")=VERVE("bmicalculator", 180, 70, "imperial", "field", "weightToChange.amount")=VERVE("bmicalculator", 180, 70, "imperial", "field", "weightToChange.unit")Premium marks data included on paid plans. On the Free plan a marked field is withheld and a marked input is ignored — either way the cell reads #PREMIUM(name) instead of a value, so a gated answer can never be mistaken for a real one. Everything unmarked works on every plan. Compare plans
Everything you need to wire it into a sheet.