Activity data types

These data types can be used to capture activities, workouts and metrics around exercise.

Activity

This data type can be used to capture any activity a user does. This can be common fitness activities like running or different sports, as well as activities like meditation, gardening, and sleep.

If the user was doing more than one activity during that time period, create a session for the main activity type, and multiple segments for the different activity types. For example, if they did a little bit of kick boxing and boxing during a mixed martial arts class, create a session for mixed martial arts. You can then breakdown the different activity types into segments.

Each data point needs a start time and end time. Data points don't need to be back-to-back or directly after each other, there can be gaps in between.

REST

Namecom.google.activity.segment
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units) activity type (int—enum)
The type of activity the user was doing. See the list of activity types here.

Android

Namecom.google.activity.segment
Data type objectTYPE_ACTIVITY_SEGMENT
Android permissionACTIVITY_RECOGNITION
Fields (format—unit) FIELD_ACTIVITY (int—enum)
The type of activity the user was doing. See the list of activity types here.

Basal metabolic rate (BMR)

This data type captures the BMR of a user, in kilocalories. Each data point represents The number of kilocalories a user would burn if at rest all day, based on their height and weight. Only the end time should be set. This will be used as the timestamp for the reading.

REST

Namecom.google.calories.bmr
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units) calories (float—kcal per day)
The number of kilocalories a user would burn if at rest all day, based on their height and weight.

Android

Namecom.google.calories.bmr
Data type objectTYPE_BASAL_METABOLIC_RATE
Fields (format—units) FIELD_CALORIES (float—kcal per day)
The number of kilocalories a user would burn if at rest all day, based on their age, weight and height.

Calories burned

This data type captures the total calories (in kilocalories) burned by the user, including calories burned at rest (BMR). Each data point represents the total kilocalories burned over a time interval, so both the start and end times should be set.

REST

Namecom.google.calories.expended
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units) calories (float—kcal)
Number of kilocalories burned.

Android

Namecom.google.calories.expended
Data type objectTYPE_CALORIES_EXPENDED
Android permissionACTIVITY_RECOGNITION
Fields (format—units) FIELD_CALORIES (float—kcal)
Number of kilocalories burned.

Cycling pedaling cadence

If a user goes cycling, this data type can be used to capture their pedaling rate, in crank revolutions per minute (RPM). Each data point represents an instantaneous measure of the pedaling rate, so only the end time should be set. This will be used as the timestamp for the reading.

REST

Namecom.google.cycling.pedaling.cadence
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units) rpm (float—rpm)
Number of bicycle crank revolutions per minute.

Android

Namecom.google.cycling.pedaling.cadence
Data type objectTYPE_CYCLING_PEDALING_CADENCE
Fields (format—units) FIELD_RPM (float—rpm)
Number of bicycle crank revolutions per minute.

Cycling pedaling cumulative

If a user goes cycling, this data type can be used to capture the number of crank revolutions over a time period. Each data point represents the number of revolutions since the count at the start time.

REST

Namecom.google.cycling.pedaling.cumulative
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units) revolutions (int—count)
Number of bicycle crank revolutions over a time period.

Android

Namecom.google.cycling.pedaling.cumulative
Data type objectTYPE_CYCLING_PEDALING_CUMULATIVE
Fields (format—units) FIELD_REVOLUTIONS (int—count)
Number of bicycle crank revolutions over a time period.

Heart Points

This data type captures the number of Heart Points a user has earned, from all their activity. Each data point represents the number of Heart Points calculated for a time interval.

User's can set a daily Heart Point goal and track their progress. Heart Points can be calculated using:

The number of Heart Points earned depends on the intensity of the activity. Use this guide to calculate and write Heart Points:

Data 1 HP (Low-medium intensity activity) 2 HPs (High intensity activity)
Heart rate 1 minute of actvity at >50% maximum heart rate 1 minute of activity at >70% max heart rate
MET value 3-6 MET. For example, rowing or rock climbing, >6 MET. For example, HIIT, skiing, volleyball or football.
Walking speed 100-130 steps per minute >130 steps per minute

REST

Namecom.google.heart_minutes
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units) intensity (float—Heart Points)
Heart Points earned based on the intensity of the exercise or activity the user does.

Android

Namecom.google.heart_minutes
Data type objectTYPE_HEART_MINUTES
Fields (format—units) FIELD_INTENSITY (float—heart points)
The intensity of the exercise or activity the user does. One minute of light to moderate physical activity (like walking faster than 2.5 mph, or cycling faster than 10 mph) earns 1 heart point. One minute of more intense activity earns 2 heart points.

Move Minutes

This data type captures the number of Move Minutes Google Fit calculates that a user has earned, from all their activity. Each data point represents the derived number of Move Minutes for a time interval. Both start and end time must be set.

Users can earn Move Minutes from any activity like yoga, dancing, or gardening and other household chores. If they go for a walk, Google Fit awards one Move Minute every time they take at least 30 steps within 60 seconds.

REST

Namecom.google.active_minutes
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units) duration (int—milliseconds)
The duration of Move Minutes earned, in milliseconds.
Valid range: >=0

Android

Namecom.google.active_minutes
Data type objectTYPE_MOVE_MINUTES
Fields (format—units) FIELD_DURATION (int—milliseconds)
The duration of Move Minutes earned, in milliseconds.
Valid range: 0—Long.MAX_VALUE

Power

This data type captures the power generated by a user when doing an activity, measured in watts. For example, using a power meter when exercising on a stationary bike. Each data point represents an instantaneous measurement of power generated.

Each data point represents an instantaneous measure of power generated, so only the end time should be set. This will be used as the timestamp for the reading.

REST

Namecom.google.power.sample
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units) watts (float—watts)
Power generated, in watts.

Android

Namecom.google.power.sample
Data type objectTYPE_POWER_SAMPLE
Fields (format—units) FIELD_WATTS (float—watts)
Power generated, in watts.

Step count cadence

This data type captures the walking cadence, measured in steps per minute. Each data point represents an instantaneous measurement of the cadence in steps per minute.

REST

Namecom.google.step_count.cadence
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units) rpm (float—steps/minute)
Cadence measured in steps per minute.

Android

Namecom.google.step_count.cadence
Data type objectTYPE_STEP_COUNT_CADENCE
Fields (format—units) FIELD_RPM (float—steps/minute)
Cadence measured in steps per minute.

Step count delta

This data type captures the number of steps taken since the last reading. Each step is only reported once so data points shouldn't have overlapping time. The start time of each data point should represent the start of the interval in which steps were taken.

The start time must be equal to or greater than the end time of the previous data point. Adding all of the values together for a period of time calculates the total number of steps during that period.

REST

Namecom.google.step_count.delta
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units)
steps (int—count)
Number of steps taken over a time period.
Valid range: 0—10 steps per second

Android

Namecom.google.step_count.delta
Data type objectTYPE_STEP_COUNT_DELTA
Android permissionACTIVITY_RECOGNITION
Fields (format—units)
TYPE_STEP_COUNT_DELTA (int—count)
Number of steps taken over a time period.
Valid range: 0—10 steps per second

Workout

Each data point represents a single continuous set of a workout exercise performed by a user. The data point contains fields for the exercise type (for example resistance exercises or weight training), the number of repetitions of the exercise, the duration of the exercise, and the resistance.

REST

Namecom.google.activity.exercise
OAuth permission scopes
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
Fields (format—units)
exercise (int—enum)
Values representing different exercises, such as weight lifting exercises, strength training exercises, and cardiovascular exercises.
repetitions (int—enum)
Number of repetitions of an exercise.
resistance type (int—enum)
The type of resistance used during the exercise.
resistance (float—kg)
The resistance of the exercise (or weight), in kilograms.
duration (int—milliseconds)
Duration of an exercise for which the duration matters.

Android

Namecom.google.activity.exercise
Fields (format—units)
FIELD_EXERCISE (int—enum)
Values representing different exercises, such as weight lifting exercises, strength training exercises, and cardiovascular exercises.
FIELD_REPETITIONS (int—count)
Number of repetitions of an exercise.
FIELD_RESISTANCE_TYPE (int—enum)
The type of resistance used during the exercise.
FIELD_RESISTANCE (float—kg)
The resistance of the exercise (or weight), in kilograms.
FIELD_DURATION (int—milliseconds)
Duration of an exercise for which the duration matters.