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:

<br />

| Data type | Available operations | Scope |
|---|---|---|
| **[Active Energy Burned](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#activeenergyburned)** **dataType:** `active-energy-burned` **filter parameter:** `active_energy_burned` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [Calories and energy guide](https://developers.google.com/health/data-types/calories.md.txt) | list, reconcile, rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
| **[Total Calories](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints/rollUp.md.txt#RollupDataPoint.FIELDS.total_calories)** **dataType:** `total-calories` **filter parameter:** `total_calories` **Record type:** [Interval](https://developers.google.com/health/reference/rest/v4/users.dataTypes.dataPoints.md.txt#ObservationTimeInterval) **Storage resolution:**1 minute [True zeros support](https://developers.google.com/health/data-presence-and-true-zeros) [Calories and energy guide](https://developers.google.com/health/data-types/calories.md.txt) #### Compatible devices - [Fitbit Air](https://store.google.com/product/google_fitbit_air) - Fitbit Alta - Fitbit Alta HR - Fitbit Blaze - Fitbit Charge 2 - Fitbit Charge 3 - Fitbit Charge 4 - Fitbit Charge 5 - [Fitbit Charge 6](https://store.google.com/product/fitbit_charge_6) - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - Fitbit Flex 2 - Fitbit Inspire - Fitbit Inspire 2 - [Fitbit Inspire 3](https://store.google.com/product/fitbit_inspire_3) - Fitbit Inspire HR - Fitbit Ionic - Fitbit Luxe - Fitbit MobileTrack - Pixel Watch - Pixel Watch 2 - [Pixel Watch 3](https://store.google.com/product/pixel_watch_3) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - Fitbit Sense - [Fitbit Sense 2](https://store.google.com/product/fitbit_sense_2) - Fitbit Versa - Fitbit Versa 2 - Fitbit Versa 3 - [Fitbit Versa 4](https://store.google.com/product/fitbit_versa_4) - Fitbit Versa Lite | rollup, dailyRollup | `.activity_and_fitness.readonly` `.activity_and_fitness.writeonly` |
[*Table: Google Health API Calories data types*]

<br />

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

```json
{
  "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

```json
{
  "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](https://developers.google.com/health/migration/api-specifications.md.txt#data-types) 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)](https://developers.google.com/health/migration/api-specifications.md.txt#basal-metabolic-rate) 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](https://developers.google.com/static/health/images/data-types-calories-calculation.png) **Figure 1.** Calculation of non-sedentary calories burned from active minutes, basal energy, and active energy.