The Google Health API provides data types that track a user's calories and energy expenditure. These types measure different aspects of energy burn, including total expenditure, active burn, and resting (basal) metabolic rates.
Understand the differences between these data types to determine which metrics suit your application.
Supported data types
The API supports the following data types for measuring calories and energy expenditure:
Data typedataType
filter parameter |
Record type |
Available operations |
Scope | Webhook support |
True zeros support |
|---|---|---|---|---|---|
Active Energy Burned
active-energy-burnedactive_energy_burned
|
Interval | list, reconcile, rollup, dailyRollup | activity_and_fitness | ||
Basal Energy Burned
basal-energy-burnedbasal_energy_burned
|
Interval | list, reconcile | activity_and_fitness | ||
Basal Metabolic Rate
basal-metabolic-ratebasal_metabolic_rate
|
Sample | list, reconcile | nutrition |
The following sections provide technical details for each data type, including REST representation examples and specific integration constraints.
Total Calories
Total Calories is a read-only derived data type that tracks all energy
expended by a user, including basal metabolism and active energy, measured in
kilocalories (kcal). The value is calculated from active energy expenditure
and the user's basal metabolic rate.
Active Energy Burned
Active Energy Burned represents the energy burned by the user during periods
of activity, excluding their basal energy expenditure, measured in kilocalories
(kcal).
REST representation example
{
"startTime": "2026-04-20T08:00:00Z",
"startUtcOffset": "0s",
"endTime": "2026-04-20T08:30:00Z",
"endUtcOffset": "0s",
"dataSource": { ... },
"kcal": 150.0
}
Basal Energy Burned
Basal Energy Burned represents the calories burned due to the user's resting
metabolism over intervals of time, measured in kilocalories (kcal).
Note: Rollup and daily rollup operations are not available for this data type. To obtain daily basal energy values, use the Basal Metabolic Rate data type.
Basal Metabolic Rate
Basal Metabolic Rate measures the energy expended by a body at a normal,
resting state, measured in kilocalories per day (kcal/day). Because this rate
fluctuates with physical updates (such as weight) over time, the API records BMR
as a time series of rate samples.
Developers can treat the rateKcalPerDay field in a basal-metabolic-rate
sample as the daily counterpart to a daily rollup of basal energy burned.
REST representation example
{
"date": {
"year": 2026,
"month": 4,
"day": 20
},
"dataSource": { ... },
"rateKcalPerDay": 1650.0
}
Guidelines
When integrating calories and energy metrics in your app, use these guidelines:
- Daily overview: To show the overall daily calorie expenditure, request
the daily rollup of the
total-caloriesdata type. - Activity-only expenditure: To track calories burned during a specific
workout or throughout the day exclusive of resting metabolic rate, query
active-energy-burned. - Basal metrics: To track resting metabolic rate or basal metabolic
trends, query
basal-metabolic-ratefor BMR values. Treat BMR samples as a daily baseline for the user's resting energy consumption.