BMI Calculator
BMI Calculator is a simple tool for calculating body mass index. It returns the calculated BMI based on the weight and height provided.
This API provides reliable and fast access to bmi calculator data through a simple REST interface. Built for developers who need consistent, high-quality results with minimal setup time.
To use this API, you need an API key. You can get one by creating a free account and visiting your dashboard.
View API in DirectoryEndpoint
GET https://api.apiverve.com/v1/bmicalculatorCode Examples
Here are examples of how to call this API in different programming languages:
curl -X GET \
"https://api.apiverve.com/v1/bmicalculator?weight=70&height=170&unit=metric" \
-H "X-API-Key: your_api_key_here"const response = await fetch('https://api.apiverve.com/v1/bmicalculator', {
method: 'GET',
headers: {
'X-API-Key': 'your_api_key_here',
'Content-Type': 'application/json'
}
});
const data = await response.json();
console.log(data);import requests
headers = {
'X-API-Key': 'your_api_key_here',
'Content-Type': 'application/json'
}
response = requests.get('https://api.apiverve.com/v1/bmicalculator', headers=headers)
data = response.json()
print(data)const https = require('https');
const url = require('url');
const options = {
method: 'GET',
headers: {
'X-API-Key': 'your_api_key_here',
'Content-Type': 'application/json'
}
};
const req = https.request('https://api.apiverve.com/v1/bmicalculator', options, (res) => {
let data = '';
res.on('data', (chunk) => data += chunk);
res.on('end', () => console.log(JSON.parse(data)));
});
req.end();<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.apiverve.com/v1/bmicalculator');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: your_api_key_here',
'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data);
?>package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.apiverve.com/v1/bmicalculator", nil)
req.Header.Set("X-API-Key", "your_api_key_here")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require 'net/http'
require 'json'
uri = URI('https://api.apiverve.com/v1/bmicalculator')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'your_api_key_here'
request['Content-Type'] = 'application/json'
response = http.request(request)
puts JSON.pretty_generate(JSON.parse(response.body))Authentication
This API requires authentication via API key. Include your API key in the request header:
X-API-Key: your_api_key_hereGraphQL AccessBETA
Most APIVerve APIs support GraphQL queries, allowing you to combine multiple API calls into a single request and retrieve only the data you need. This powerful feature enables you to orchestrate complex data fetching with precise field selection.
Not all APIs support GraphQL. Check the API schema or test in the GraphQL Explorer to confirm availability for this specific endpoint.
Token Cost: GraphQL requests cost 1 token for orchestration, plus the standard token cost for each API called in your query. For example, querying 3 APIs in a single GraphQL request would cost 1 + 3 = 4 tokens total.
POST https://api.apiverve.com/v1/graphqlquery {
bmicalculator(
input: { weight: "70", height: "170", unit: "metric" }
) {
height
weight
bmi
risk
summary
}
}Note: Authentication is handled via the x-api-key header in your GraphQL request, not as a query parameter.
Parameters
The following parameters are available for this API endpoint:
| Parameter | Type | Required | Location | Description | Example |
|---|---|---|---|---|---|
| weight | number | Yes | query | The weight of the person in either kg or lb | 70 |
| height | number | Yes | query | The height of the person in cm or ft | 170 |
| unit | string | Yes | query | The unit of measurement for weight and height (metric or imperial) | metric |
Response
The API returns responses in JSON, XML, and YAML formats:
Example Responses
{
"status": "ok",
"error": null,
"data": {
"height": "170 cm",
"weight": "70 kg",
"bmi": 24.221453287197235,
"risk": "Low risk",
"summary": "This weight is normal and you are healthy.",
"recommendation": "A BMI between 18.5 and 24.9 falls within the 'normal' weight range according to the World Health Organization. This range is associated with the lowest health risk for conditions such as heart disease, diabetes, and certain cancers. However, it's important to note that BMI is not a perfect measure as it does not account for muscle mass, bone density, overall body composition, and racial and sex differences. Therefore, while it's a useful starting point, it should not be the only measure of one's health."
}
}<Root>
<status>ok</status>
<error />
<data>
<height>170 cm</height>
<weight>70 kg</weight>
<bmi>24.221453287197235</bmi>
<risk>Low risk</risk>
<summary>This weight is normal and you are healthy.</summary>
<recommendation>A BMI between 18.5 and 24.9 falls within the 'normal' weight range according to the World Health Organization. This range is associated with the lowest health risk for conditions such as heart disease, diabetes, and certain cancers. However, it's important to note that BMI is not a perfect measure as it does not account for muscle mass, bone density, overall body composition, and racial and sex differences. Therefore, while it's a useful starting point, it should not be the only measure of one's health.</recommendation>
</data>
</Root>status: ok
error:
data:
height: 170 cm
weight: 70 kg
bmi: 24.2214532871972
risk: Low risk
summary: This weight is normal and you are healthy.
recommendation: A BMI between 18.5 and 24.9 falls within the 'normal' weight range according to the World Health Organization. This range is associated with the lowest health risk for conditions such as heart disease, diabetes, and certain cancers. However, it's important to note that BMI is not a perfect measure as it does not account for muscle mass, bone density, overall body composition, and racial and sex differences. Therefore, while it's a useful starting point, it should not be the only measure of one's health.Response Structure
All API responses follow a consistent structure with the following fields:
| Field | Type | Description | Example |
|---|---|---|---|
| status | string | Indicates whether the request was successful ("ok") or failed ("error") | ok |
| error | string | null | Contains error message if status is "error", otherwise null | null |
| data | object | null | Contains the API response data if successful, otherwise null | {...} |
Response Data Fields
When the request is successful, the data object contains the following fields:
| Field | Type | Sample Value |
|---|---|---|
| height | string | "170 cm" |
| weight | string | "70 kg" |
| bmi | number | 24.221453287197235 |
| risk | string | "Low risk" |
| summary | string | "This weight is normal and you are healthy." |
| recommendation | string | "A BMI between 18.5 and 24.9 falls within the 'normal' weight range according to the World Health Organization. This range is associated with the lowest health risk for conditions such as heart disease, diabetes, and certain cancers. However, it's important to note that BMI is not a perfect measure as it does not account for muscle mass, bone density, overall body composition, and racial and sex differences. Therefore, while it's a useful starting point, it should not be the only measure of one's health." |
Headers
Required and optional headers for API requests:
| Header Name | Required | Example Value | Description |
|---|---|---|---|
| X-API-Key | Yes | your_api_key_here | Your APIVerve API key. Found in your dashboard under API Keys. |
| Accept | No | application/json | Specify response format: application/json (default), application/xml, or application/yaml |
| User-Agent | No | MyApp/1.0 | Identifies your application for analytics and debugging purposes |
| X-Request-ID | No | req_123456789 | Custom request identifier for tracking and debugging requests |
| Cache-Control | No | no-cache | Control caching behavior for the request and response |
Client Libraries
To get started with minimal code, most of our APIs are available through client libraries and clients:
Error Codes
The API uses standard HTTP status codes to indicate success or failure:
| Status Code | Message | Description |
|---|---|---|
| 200 | OK | Request successful, data returned |
| 400 | Bad Request | Invalid request parameters or malformed request |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | API key does not have permission for this endpoint |
| 429 | Too Many Requests | Rate limit exceeded, please slow down requests |
| 500 | Internal Server Error | Server error, please try again later |
Was this page helpful?
Help us improve our documentation




