Health Connect data types

Health Connect stores and structures both health and fitness data and medical records data. It's important to understand first what data types and permissions Health Connect offers so that you can plan your app's requirements.

After development, when you prepare to publish your app to the Play Store, you must declare your app's data use as well as declare access to the Health Connect data types that your app uses. Otherwise, users might be prompted with an error message where your app can't access the Health Connect data types because they require special approval.

See Complete the health apps declaration in the Play Console for more information.

Data type categories

Health Connect supports data types that are used across most health and fitness apps to provide as much variety as possible. Health Connect aims to offer a comprehensive view and storage of health and fitness data. These data types fall into the following categories:

Table: Health Connect data type categories
Category Description
directions_run Activity This captures any activity that a user does. It can include health and fitness activities like running and swimming.
straighten Body Measurement This captures common data related to the body, such as a user's weight and their basal metabolic rate.
fertile Cycle Tracking This captures menstrual cycles and related data points, such as the binary result of an ovulation test.
grocery Nutrition This captures hydration and nutrition data types. The former represents how much water a user consume in a single drink. The latter includes optional fields such as calories, sugar, and magnesium.
sleep_auto Sleep This captures interval data related to a user's length and type of sleep.
vital_signs Vitals This captures essential information about the user's general health. It includes data such as body temperature, blood glucose, blood pressure, and blood oxygen saturation.
mindfulness Wellness This captures data related to a user's mental health and well-being.

Data type fields

The Health Connect data types table includes several field columns to help you understand the structure and requirements of each data type. These columns are as follows:

Table: Data type fields descriptions
Field Description
schedule Record Type Indicates whether the data is recorded at an instant in time or over an interval. The possible values are: Interval, Instantaneous, Series.
straighten Unit The unit of measurement for the data type (for example, Calories, Meters, Count).
star Mandatory Fields These are the essential fields that must be included when writing data for this data type to help maintain data integrity and usefulness.

Health and fitness data types

Before requesting any permissions, your app must declare them in the manifest. See the Declare permissions section of the Quick start guide for more information.

To read data while your app is in the background, or to read historical data, an additional set of read permissions must be declared separately from data type permissions:

Table: Additional read permissions for Health Connect data types
Additional read permission Permission declaration
Read data in background
  Background read example guide
android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND
Read historical data
  Read data older than 30 days guide
android.permission.health.READ_HEALTH_DATA_HISTORY

1. Select a Jetpack version

Permission declarations differ between Jetpack versions, make sure to the select the Jetpack version range your app uses.

2. Filter the data types table

The following table contains the full list of data types, each with category, feature flags and guides, and permission declarations.

Table: Health Connect data types
Data type
  Feature guides
Category Record type
Permission declarations
Feature flag
Active calories burned

  • Record Type: Interval
  • Unit: Energy
  • Mandatory Fields

    endTime
    energy
    metadata
    startTime
Activity ActiveCaloriesBurnedRecord

android.permission.health.READ_ACTIVE_CALORIES_BURNED
android.permission.health.WRITE_ACTIVE_CALORIES_BURNED

Aggregate data types

ACTIVE_CALORIES_TOTAL
Activity intensity

  • Record Type: Interval
  • Mandatory Fields

    activityIntensityType
    endTime
    metadata
    startTime
Activity ActivityIntensityRecord

android.permission.health.READ_ACTIVITY_INTENSITY
android.permission.health.WRITE_ACTIVITY_INTENSITY

FEATURE_ACTIVITY_INTENSITY

Aggregate data types

DURATION_TOTAL
INTENSITY_MINUTES_TOTAL
MODERATE_DURATION_TOTAL
VIGOROUS_DURATION_TOTAL
Basal body temperature

  • Record Type: Instantaneous
  • Unit: Temperature
  • Mandatory Fields

    temperature
    measurementLocation
    metadata
    time
Cycle Tracking BasalBodyTemperatureRecord

android.permission.health.READ_BASAL_BODY_TEMPERATURE
android.permission.health.WRITE_BASAL_BODY_TEMPERATURE

Basal metabolic rate

  • Record Type: Instantaneous
  • Unit: Power
  • Mandatory Fields

    basalMetabolicRate
    metadata
    time
Body Measurement BasalMetabolicRateRecord

android.permission.health.READ_BASAL_METABOLIC_RATE
android.permission.health.WRITE_BASAL_METABOLIC_RATE

Aggregate data types

BASAL_CALORIES_TOTAL
Blood glucose

  • Record Type: Instantaneous
  • Mandatory Fields

    level
    specimenSource
    mealType
    relationToMeal
    metadata
    time
Vitals BloodGlucoseRecord

android.permission.health.READ_BLOOD_GLUCOSE
android.permission.health.WRITE_BLOOD_GLUCOSE

Blood pressure

  • Record Type: Instantaneous
  • Unit: Pressure
  • Mandatory Fields

    systolic
    diastolic
    bodyPosition
    measurementLocation
    metadata
    time
Vitals BloodPressureRecord

android.permission.health.READ_BLOOD_PRESSURE
android.permission.health.WRITE_BLOOD_PRESSURE

Aggregate data types

DIASTOLIC_AVG
DIASTOLIC_MAX
DIASTOLIC_MIN
SYSTOLIC_AVG
SYSTOLIC_MAX
SYSTOLIC_MIN
Body fat

  • Record Type: Instantaneous
  • Mandatory Fields

    percentage
    metadata
    time
Body Measurement BodyFatRecord

android.permission.health.READ_BODY_FAT
android.permission.health.WRITE_BODY_FAT

Body temperature

  • Record Type: Instantaneous
  • Unit: Temperature
  • Mandatory Fields

    temperature
    measurementLocation
    metadata
    time
Vitals BodyTemperatureRecord

android.permission.health.READ_BODY_TEMPERATURE
android.permission.health.WRITE_BODY_TEMPERATURE

Body water mass

  • Record Type: Instantaneous
  • Unit: Mass
  • Mandatory Fields

    mass
    metadata
    time
Body Measurement BodyWaterMassRecord

android.permission.health.READ_BODY_WATER_MASS
android.permission.health.WRITE_BODY_WATER_MASS

Bone mass

  • Record Type: Instantaneous
  • Unit: Mass
  • Mandatory Fields

    mass
    metadata
    time
Body Measurement BoneMassRecord

android.permission.health.READ_BONE_MASS
android.permission.health.WRITE_BONE_MASS

Cervical mucus

  • Record Type: Instantaneous
  • Mandatory Fields

    appearance
    sensation
    metadata
    time
Cycle Tracking CervicalMucusRecord

android.permission.health.READ_CERVICAL_MUCUS
android.permission.health.WRITE_CERVICAL_MUCUS

Cycling pedaling cadence

  • Record Type: Series
  • Mandatory Fields

    samples
    endTime
    metadata
    samples
    startTime
Activity CyclingPedalingCadenceRecord

android.permission.health.READ_EXERCISE
android.permission.health.WRITE_EXERCISE

Aggregate data types

RPM_AVG
RPM_MAX
RPM_MIN
Distance

  • Record Type: Interval
  • Unit: Length
  • Mandatory Fields

    distance
    endTime
    metadata
    startTime
Activity DistanceRecord

android.permission.health.READ_DISTANCE
android.permission.health.WRITE_DISTANCE

Aggregate data types

DISTANCE_TOTAL
Elevation gained

  • Record Type: Interval
  • Unit: Length
  • Mandatory Fields

    elevation
    endTime
    metadata
    startTime
Activity ElevationGainedRecord

android.permission.health.READ_ELEVATION_GAINED
android.permission.health.WRITE_ELEVATION_GAINED

Aggregate data types

ELEVATION_GAINED_TOTAL
Exercise

  Add exercise routes guide
  • Record Type: Interval
  • Mandatory Fields

    exerciseType
    endTime
    laps
    metadata
    segments
    startTime
Activity ExerciseSessionRecord

android.permission.health.READ_EXERCISE
android.permission.health.READ_EXERCISE_ROUTE
android.permission.health.WRITE_EXERCISE
android.permission.health.WRITE_EXERCISE_ROUTE

Exercise types

View all exercise types
EXERCISE_TYPE_UNKNOWN
EXERCISE_TYPE_BADMINTON
EXERCISE_TYPE_BASEBALL
EXERCISE_TYPE_BASKETBALL
EXERCISE_TYPE_BIKING
EXERCISE_TYPE_BIKING_STATIONARY
EXERCISE_TYPE_BOOT_CAMP
EXERCISE_TYPE_BOXING
EXERCISE_TYPE_CALISTHENICS
EXERCISE_TYPE_CRICKET
EXERCISE_TYPE_DANCING
EXERCISE_TYPE_ELLIPTICAL
EXERCISE_TYPE_EXERCISE_CLASS
EXERCISE_TYPE_FENCING
EXERCISE_TYPE_FOOTBALL_AMERICAN
EXERCISE_TYPE_FOOTBALL_AUSTRALIAN
EXERCISE_TYPE_FRISBEE_DISC
EXERCISE_TYPE_GOLF
EXERCISE_TYPE_GUIDED_BREATHING
EXERCISE_TYPE_GYMNASTICS
EXERCISE_TYPE_HANDBALL
EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING
EXERCISE_TYPE_HIKING
EXERCISE_TYPE_ICE_HOCKEY
EXERCISE_TYPE_ICE_SKATING
EXERCISE_TYPE_MARTIAL_ARTS
EXERCISE_TYPE_PADDLING
EXERCISE_TYPE_PARAGLIDING
EXERCISE_TYPE_PILATES
EXERCISE_TYPE_RACQUETBALL
EXERCISE_TYPE_ROCK_CLIMBING
EXERCISE_TYPE_ROLLER_HOCKEY
EXERCISE_TYPE_ROWING
EXERCISE_TYPE_ROWING_MACHINE
EXERCISE_TYPE_RUGBY
EXERCISE_TYPE_RUNNING
EXERCISE_TYPE_RUNNING_TREADMILL
EXERCISE_TYPE_SAILING
EXERCISE_TYPE_SCUBA_DIVING
EXERCISE_TYPE_SKATING
EXERCISE_TYPE_SKIING
EXERCISE_TYPE_SNOWBOARDING
EXERCISE_TYPE_SNOWSHOEING
EXERCISE_TYPE_SOCCER
EXERCISE_TYPE_SOFTBALL
EXERCISE_TYPE_SQUASH
EXERCISE_TYPE_STAIR_CLIMBING
EXERCISE_TYPE_STAIR_CLIMBING_MACHINE
EXERCISE_TYPE_STRENGTH_TRAINING
EXERCISE_TYPE_STRETCHING
EXERCISE_TYPE_SURFING
EXERCISE_TYPE_SWIMMING_OPEN_WATER
EXERCISE_TYPE_SWIMMING_POOL
EXERCISE_TYPE_TABLE_TENNIS
EXERCISE_TYPE_TENNIS
EXERCISE_TYPE_VOLLEYBALL
EXERCISE_TYPE_WALKING
EXERCISE_TYPE_WATER_POLO
EXERCISE_TYPE_WEIGHTLIFTING
EXERCISE_TYPE_WHEELCHAIR
EXERCISE_TYPE_OTHER_WORKOUT
EXERCISE_TYPE_YOGA

Aggregate data types

EXERCISE_DURATION_TOTAL
Floors climbed

  • Record Type: Interval
  • Mandatory Fields

    floors
    endTime
    metadata
    startTime
Activity FloorsClimbedRecord

android.permission.health.READ_FLOORS_CLIMBED
android.permission.health.WRITE_FLOORS_CLIMBED

Aggregate data types

FLOORS_CLIMBED_TOTAL
Heart rate

  • Record Type: Series
  • Mandatory Fields

    samples
    endTime
    metadata
    startTime
Vitals HeartRateRecord

android.permission.health.READ_HEART_RATE
android.permission.health.WRITE_HEART_RATE

Aggregate data types

BPM_AVG
BPM_MAX
BPM_MIN
MEASUREMENTS_COUNT
Heart rate variability

  • Record Type: Instantaneous
  • Mandatory Fields

    heartRateVariabilityMillis
    metadata
    time
Vitals HeartRateVariabilityRmssdRecord

android.permission.health.READ_HEART_RATE_VARIABILITY
android.permission.health.WRITE_HEART_RATE_VARIABILITY

Height

  • Record Type: Instantaneous
  • Unit: Length
  • Mandatory Fields

    height
    metadata
    time
Body Measurement HeightRecord

android.permission.health.READ_HEIGHT
android.permission.health.WRITE_HEIGHT

Aggregate data types

HEIGHT_AVG
HEIGHT_MAX
HEIGHT_MIN
Hydration

  • Record Type: Interval
  • Unit: Volume
  • Mandatory Fields

    endTime
    metadata
    startTime
    volume
Nutrition HydrationRecord

android.permission.health.READ_HYDRATION
android.permission.health.WRITE_HYDRATION

Aggregate data types

VOLUME_TOTAL
Intermenstrual bleeding

  • Record Type: Instantaneous
  • Mandatory Fields

    metadata
    time
Cycle Tracking IntermenstrualBleedingRecord

android.permission.health.READ_INTERMENSTRUAL_BLEEDING
android.permission.health.WRITE_INTERMENSTRUAL_BLEEDING

Lean body mass

  • Record Type: Instantaneous
  • Unit: Mass
  • Mandatory Fields

    mass
    metadata
    time
Body Measurement LeanBodyMassRecord

android.permission.health.READ_LEAN_BODY_MASS
android.permission.health.WRITE_LEAN_BODY_MASS

Menstruation


For MenstruationFlowRecord:
  • Record Type: Instantaneous
  • Mandatory Fields

    flow
    metadata
    time

For MenstruationPeriodRecord:
  • Record Type: Interval
  • Mandatory Fields

    endTime
    metadata
    startTime
Cycle Tracking MenstruationFlowRecord

MenstruationPeriodRecord

android.permission.health.READ_MENSTRUATION
android.permission.health.WRITE_MENSTRUATION


Mindfulness

  Track mindfulness guide
  • Record Type: Interval
  • Mandatory Fields

    endTime
    metadata
    mindfulnessSessionType
    startTime
Wellness MindfulnessSessionRecord

android.permission.health.READ_MINDFULNESS
android.permission.health.WRITE_MINDFULNESS

FEATURE_MINDFULNESS_SESSION

Aggregate data types

MINDFULNESS_DURATION_TOTAL
Nutrition

  • Record Type: Interval
  • Unit: Mass
  • Mandatory Fields

    endTime
    mealType
    metadata
    startTime
Nutrition NutritionRecord

android.permission.health.READ_NUTRITION
android.permission.health.WRITE_NUTRITION

Aggregate data types

BIOTIN_TOTAL
CAFFEINE_TOTAL
CALCIUM_TOTAL
CHLORIDE_TOTAL
CHOLESTEROL_TOTAL
CHROMIUM_TOTAL
COPPER_TOTAL
DIETARY_FIBER_TOTAL
ENERGY_FROM_FAT_TOTAL
ENERGY_TOTAL
FOLATE_TOTAL
FOLIC_ACID_TOTAL
IODINE_TOTAL
IRON_TOTAL
MAGNESIUM_TOTAL
MANGANESE_TOTAL
MOLYBDENUM_TOTAL
MONOUNSATURATED_FAT_TOTAL
NIACIN_TOTAL
PANTOTHENIC_ACID_TOTAL
PHOSPHORUS_TOTAL
POLYUNSATURATED_FAT_TOTAL
POTASSIUM_TOTAL
PROTEIN_TOTAL
RIBOFLAVIN_TOTAL
SATURATED_FAT_TOTAL
SELENIUM_TOTAL
SODIUM_TOTAL
SUGAR_TOTAL
THIAMIN_TOTAL
TOTAL_CARBOHYDRATE_TOTAL
TOTAL_FAT_TOTAL
TRANS_FAT_TOTAL
UNSATURATED_FAT_TOTAL
VITAMIN_A_TOTAL
VITAMIN_B12_TOTAL
VITAMIN_B6_TOTAL
VITAMIN_C_TOTAL
VITAMIN_D_TOTAL
VITAMIN_E_TOTAL
VITAMIN_K_TOTAL
ZINC_TOTAL
Ovulation test

  • Record Type: Instantaneous
  • Mandatory Fields

    metadata
    result
    time
Cycle Tracking OvulationTestRecord

android.permission.health.READ_OVULATION_TEST
android.permission.health.WRITE_OVULATION_TEST

Oxygen saturation

  • Record Type: Instantaneous
  • Mandatory Fields

    metadata
    percentage
    time
Vitals OxygenSaturationRecord

android.permission.health.READ_OXYGEN_SATURATION
android.permission.health.WRITE_OXYGEN_SATURATION

Planned exercise

  Training plans guide
  • Record Type: Interval
  • Mandatory Fields

    block
    endTime
    exerciseType
    hasExplicitTime
    metadata
Activity PlannedExerciseSessionRecord

android.permission.health.READ_PLANNED_EXERCISE
android.permission.health.WRITE_PLANNED_EXERCISE

FEATURE_PLANNED_EXERCISE

Power

  • Record Type: Series
  • Mandatory Fields

    endTime
    samples
    metadata
    startTime
Activity PowerRecord

android.permission.health.READ_POWER
android.permission.health.WRITE_POWER

Aggregate data types

POWER_AVG
POWER_MAX
POWER_MIN
Respiratory rate

  • Record Type: Instantaneous
  • Mandatory Fields

    metadata
    rate
    time
Vitals RespiratoryRateRecord

android.permission.health.READ_RESPIRATORY_RATE
android.permission.health.WRITE_RESPIRATORY_RATE

Resting heart rate

  • Record Type: Instantaneous
  • Mandatory Fields

    beatsPerMinute
    metadata
    time
Vitals RestingHeartRateRecord

android.permission.health.READ_RESTING_HEART_RATE
android.permission.health.WRITE_RESTING_HEART_RATE

Aggregate data types

BPM_AVG
BPM_MAX
BPM_MIN
Sexual activity

  • Record Type: Instantaneous
  • Mandatory Fields

    metadata
    protectionUsed
    time
Cycle Tracking SexualActivityRecord

android.permission.health.READ_SEXUAL_ACTIVITY
android.permission.health.WRITE_SEXUAL_ACTIVITY

Skin temperature

  Measure skin temperature guide
  • Record Type: Series
  • Unit: Temperature
  • Mandatory Fields

    deltas
    endTime
    measurementLocation
    metadata
    startTime
Vitals SkinTemperatureRecord

android.permission.health.READ_SKIN_TEMPERATURE
android.permission.health.WRITE_SKIN_TEMPERATURE

FEATURE_SKIN_TEMPERATURE

Aggregate data types

TEMPERATURE_DELTA_AVG
TEMPERATURE_DELTA_MAX
TEMPERATURE_DELTA_MIN
Sleep session

  Track sleep sessions guide
  • Record Type: Interval
  • Mandatory Fields

    endTime
    metadata
    stages
    startTime
Sleep SleepSessionRecord

android.permission.health.READ_SLEEP
android.permission.health.WRITE_SLEEP

Aggregate data types

SLEEP_DURATION_TOTAL
Speed

  • Record Type: Series
  • Mandatory Fields

    endTime
    metadata
    samples
    startTime
Activity SpeedRecord

android.permission.health.READ_SPEED
android.permission.health.WRITE_SPEED

Aggregate data types

SPEED_AVG
SPEED_MAX
SPEED_MIN
Steps


For StepsRecord:
  • Record Type: Interval
  • Mandatory Fields

    count
    endTime
    metadata
    startTime

For StepsCadenceRecord:
  • Record Type: Series
  • Mandatory Fields

    endTime
    samples
    metadata
    startTime
Activity StepsRecord

StepsCadenceRecord

android.permission.health.READ_STEPS
android.permission.health.WRITE_STEPS

Aggregate data types for StepsRecord

COUNT_TOTAL

Aggregate data types for StepsCadenceRecord

RATE_AVG
RATE_MAX
RATE_MIN
Total calories burned

  • Record Type: Interval
  • Unit: Energy
  • Mandatory Fields

    endTime
    energy
    metadata
    startTime
Activity TotalCaloriesBurnedRecord

android.permission.health.READ_TOTAL_CALORIES_BURNED
android.permission.health.WRITE_TOTAL_CALORIES_BURNED

Aggregate data types

ENERGY_TOTAL
VO2 max

  • Record Type: Instantaneous
  • Mandatory Fields

    measurementMethod
    metadata
    time
    vo2MillilitersPerMinuteKilogram
Activity Vo2MaxRecord

android.permission.health.READ_VO2_MAX
android.permission.health.WRITE_VO2_MAX

Weight

  • Record Type: Instantaneous
  • Mandatory Fields

    metadata
    time
    weight
Body Measurement WeightRecord

android.permission.health.READ_WEIGHT
android.permission.health.WRITE_WEIGHT

Aggregate data types

WEIGHT_AVG
WEIGHT_MAX
WEIGHT_MIN
Wheelchair pushes

  • Record Type: Interval
  • Mandatory Fields

    count
    endTime
    metadata
    startTime
Activity WheelchairPushesRecord

android.permission.health.READ_WHEELCHAIR_PUSHES
android.permission.health.WRITE_WHEELCHAIR_PUSHES

Aggregate data types

COUNT_TOTAL