Calories and energy data types

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:

Table: Google Health API Calories data types
Data type Available
operations
Scope
Active Energy Burned
dataType: active-energy-burned
filter parameter: active_energy_burned
Record type: Interval
Storage resolution: 1 minute
list, reconcile, rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly
Total Calories
dataType: total-calories
filter parameter: total_calories
Record type: Interval
Storage resolution: 1 minute

Compatible devices

rollup, dailyRollup .activity_and_fitness.readonly
.activity_and_fitness.writeonly

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 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-calories data 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.
  • Legacy mappings: If you are migrating from the Fitbit Web API, see the Fitbit Web API to Google Health API data type mappings section in the migration guide for details on how legacy fields (like activityCalories, caloriesBMR, and caloriesOut) map to the new data types.
  • Basal metrics: To track resting metabolic rate or basal metabolic trends, query basal-metabolic-rate for BMR values. Treat BMR samples as a daily baseline for the user's resting energy consumption.

Calculate non-sedentary calories burned

To calculate the total calories burned when a user is active (non-sedentary), you must first identify the periods when the user's activity level exceeds sedentary.

Follow these steps to calculate non-sedentary calories:

  1. Identify active minutes: Query the activity-level data type to find intervals where the activityLevelType is LIGHTLY_ACTIVE, MODERATELY_ACTIVE, or VERY_ACTIVE.
  2. Sum energy metrics: For each identified active interval, sum the following energy values:
    • Basal Energy Burned: The resting energy expenditure during the interval. Because the API does not provide this data type, see the Basal Metabolic Rate (BMR) guide for instructions on calculating it client-side.
    • Active Energy Burned: The additional energy burned due to physical activity during the interval, retrieved from the active-energy-burned data type.

The sum of these two values across all active minutes provides the total non-sedentary calories burned for the specified period.

Calculation of non-sedentary calories burned
Figure 1. Calculation of non-sedentary calories burned from active minutes, basal energy, and active energy.