Which Health Connect data types can I get, and which apps write them?

Life Dashboard Companion, an open-source Android app, reads 33 Health Connect data types and sends each under its own key as JSON, from steps, sleep stages and heart rate to blood pressure, nutrition and cycle tracking. What actually arrives depends on what your watch's app writes to Health Connect: Samsung Health doesn't write heart rate variability or resting heart rate, and Garmin Connect writes neither of those nor oxygen saturation.

Get the Android app

The iPhone app sends 29 of the 33 keys from its 28 Apple Health types (active energy fills both calorie keys), in the same format and units. Screen time isn't a Health Connect type, but the Android app sends it too, as a payload of its own. The tables below are as of October 2026, from each app's own list of what it writes to Health Connect.

All 33 types at a glance

Each type has its own key in the payload, and its unit is fixed, whatever unit the source app used. A type over a period carries start_time and end_time, a type at a moment carries time, and every record carries a uuid and the source app that wrote it.

TypePayload keyUnitAndroidiPhone
StepsstepsstepsYesYes
DistancedistancemYesYes
Active caloriesactive_calorieskcalYesYes
Total caloriestotal_calorieskcalYesYes
Exercise sessionsexercisesYesYes
WeightweightkgYesYes
HeightheightmYesYes
Body temperaturebody_temperature°CYesYes
Body fatbody_fat%YesYes
Lean body masslean_body_masskgYesYes
Bone massbone_masskgYesNo
Body water massbody_water_masskgYesNo
Heart rateheart_ratebpmYesYes
Resting heart rateresting_heart_ratebpmYesYes
Heart rate variability (HRV)heart_rate_variabilitymsYesYes
Blood pressureblood_pressuremmHgYesYes
Blood glucoseblood_glucosemmol/LYesYes
Oxygen saturation (SpO2)oxygen_saturation%YesYes
Respiratory raterespiratory_ratebreaths/minYesYes
SleepsleepsYesYes
MindfulnessmindfulnesssYesYes
HydrationhydrationLYesYes
Nutritionnutritionkcal, g, mg, mcgYesYes
Menstruation periodmenstruation_periodnoneYesYes
Menstruation flowmenstruation_flownoneYesYes
Intermenstrual bleedingintermenstrual_bleedingnoneYesYes
Ovulation testovulation_testnoneYesYes
Cervical mucuscervical_mucusnoneYesYes
Sexual activitysexual_activitynoneYesYes
Basal body temperaturebasal_body_temperature°CYesYes
Basal metabolic ratebasal_metabolic_ratekcal/dayYesNo
VO2 maxvo2_maxmL/kg/minYesYes
Skin temperatureskin_temperature°CYesNo

Which apps write which type

As of October 2026. Yes means the type is in that app's own list of what it writes to Health Connect, and No that it isn't. From exercise means the app writes it only with the workouts it records. Withings publishes no list, so its column names the Withings device that measures the type, or says Unknown; check Health Connect > App permissions > Withings on your phone.

TypeSamsung HealthGarmin ConnectGoogle HealthOuraWithingsGadgetbridge
StepsYesYesYesYesWatchYes
DistanceFrom exerciseYesYesYesWatchYes
Active caloriesNoYesNoYesUnknownFrom exercise
Total caloriesFrom exerciseYesYesNoUnknownFrom exercise
Exercise sessionsYesYesYesYesUnknownYes
WeightYesYesYesYesScaleYes
HeightYesNoNoYesUnknownNo
Body temperatureNoNoYesNoThermometerYes
Body fatYesYesYesNoScaleNo
Lean body massNoNoNoNoScaleNo
Bone massNoNoNoNoScaleNo
Body water massNoNoNoNoScaleNo
Heart rateYesYesYesYesWatch, blood pressure monitorYes
Resting heart rateNoNoYesNoUnknownYes
Heart rate variability (HRV)NoNoYesYesUnknownYes
Blood pressureYesNoNoNoBlood pressure monitorYes
Blood glucoseYesNoYesNoUnknownYes
Oxygen saturation (SpO2)YesNoNo*NoWatchYes
Respiratory rateNoNoYesNoUnknownYes
SleepYesYesYesYesWatchYes
MindfulnessNoNoNoNoUnknownNo
HydrationNoNoYesNoUnknownNo
NutritionYesNoYesNoUnknownNo
Menstruation periodNoNoYesNoUnknownNo
Menstruation flowNoNoYesNoUnknownNo
Intermenstrual bleedingNoNoYesNoUnknownNo
Ovulation testNoNoNoNoUnknownNo
Cervical mucusNoNoNoNoUnknownNo
Sexual activityNoNoNoNoUnknownNo
Basal body temperatureNoNoNoNoUnknownNo
Basal metabolic rateYesNoNoNoUnknownNo
VO2 maxFrom exerciseNoYesNoUnknownYes
Skin temperatureNoNoYesNoUnknownYes

* Not in Google's list, but Fitbit's nightly SpO2 was seen arriving through Health Connect in September 2026, as DATA_SOURCES.md records.

Each app can change what it shares with any update, so look on your own phone under Health Connect > App permissions > the app. Types none of these six apps lists, such as ovulation tests or mindfulness sessions, come from other apps: cycle trackers, food loggers or meditation apps that write to Health Connect.

What each app keeps to itself

  • Samsung Health doesn't share heart rate variability, resting heart rate, skin temperature, respiratory rate, cycle tracking, stress, ECG or Energy Score. Distance, total calories and VO2 max come only from workouts, and active calories isn't in its list. See Samsung Health to your own server.
  • Garmin Connect keeps Body Battery, stress, HRV status, training load, Pulse Ox, respiration and resting heart rate. Its Health Connect sync needs Garmin Connect 5.14.1 or later on Android 14 or later. See Garmin in Home Assistant.
  • Google Health, the app for Fitbit and Pixel Watch, lists neither oxygen saturation nor active calories. See Fitbit and Pixel Watch in Home Assistant.
  • Oura keeps its Readiness, Sleep and Activity scores, blood oxygen, temperature, resting heart rate and respiratory rate. See the Oura guide.
  • Withings keeps scores and analyses such as the Sleep score, Vascular Age, Nerve Health Score and ECG recordings. See the Withings guide.
  • Gadgetbridge writes what your watch model records and Gadgetbridge supports for it. Stress and scores the watch computes stay in Gadgetbridge. See the Gadgetbridge guide.

Health Connect has no type for stress, Body Battery, training load, ECG, Energy Score or any vendor's scores, so no app can pass those on through it.

Activity

Steps

Key steps: count, an integer, over an interval. Android and iPhone.

Written by Samsung Health, Garmin Connect, Google Health, Oura and Gadgetbridge. Withings watches measure it, but Withings publishes no list of what it writes.

Distance

Key distance: meters, over an interval. Android and iPhone.

Written by Garmin Connect, Google Health, Oura and Gadgetbridge, and by Samsung Health from exercise only. Withings watches measure it, but Withings publishes no list of what it writes.

Active calories

Key active_calories: calories in kcal, over an interval. Android and iPhone.

Written by Garmin Connect and Oura, and by Gadgetbridge from exercise only. Not in the lists of Samsung Health or Google Health.

Total calories

Key total_calories: calories in kcal, over an interval. Android and iPhone. On an iPhone this is resting plus active energy, because Apple Health has no total energy type.

Written by Garmin Connect and Google Health, and by Samsung Health and Gadgetbridge from exercise only. Not in Oura's list.

Exercise sessions

Key exercise: type and duration_seconds, over an interval. Android and iPhone. Android sends Health Connect's exercise type number as a string, such as "56" for running; an iPhone sends a name, such as "running".

Written by Samsung Health, Garmin Connect, Google Health, Oura and Gadgetbridge.

Body

Weight

Key weight: kilograms, at a moment. Android and iPhone.

Written by Samsung Health, Garmin Connect, Google Health, Oura and Gadgetbridge. Withings scales measure it, but Withings publishes no list of what it writes.

Height

Key height: meters, at a moment. Android and iPhone.

Written by Samsung Health and Oura. Not in the lists of Garmin Connect, Google Health or Gadgetbridge.

Body temperature

Key body_temperature: celsius, at a moment. Android and iPhone.

Written by Google Health and Gadgetbridge. Not in the lists of Samsung Health, Garmin Connect or Oura. The Withings thermometer measures it, but Withings publishes no list of what it writes.

Body fat

Key body_fat: percentage, 0 to 100, at a moment. Android and iPhone.

Written by Samsung Health, Garmin Connect and Google Health. Not in the lists of Oura or Gadgetbridge. Withings scales measure it, but Withings publishes no list of what it writes.

Lean body mass

Key lean_body_mass: kilograms, at a moment. Android and iPhone.

None of the six apps on this page lists it. Withings scales measure it, but Withings publishes no list of what it writes.

Bone mass

Key bone_mass: kilograms, at a moment. Android only. Apple Health has no bone mass type.

None of the six apps on this page lists it. Withings scales measure it, but Withings publishes no list of what it writes.

Body water mass

Key body_water_mass: kilograms, at a moment. Android only. Apple Health has no body water type.

None of the six apps on this page lists it. Withings scales measure it, but Withings publishes no list of what it writes.

Heart and breathing

Heart rate

Key heart_rate: bpm, an integer, one object per sample. Android and iPhone. From Android, each sample's uuid is the record's ID plus # and the time in epoch milliseconds.

Written by Samsung Health, Garmin Connect, Google Health, Oura and Gadgetbridge. Withings watches and blood pressure monitors measure it, but Withings publishes no list of what it writes.

Resting heart rate

Key resting_heart_rate: bpm, an integer, at a moment. Android and iPhone.

Written by Google Health and Gadgetbridge. Not in the lists of Samsung Health, Garmin Connect or Oura.

Heart rate variability (HRV)

Key heart_rate_variability: heart_rate_variability_millis, at a moment. Android and iPhone. Android sends RMSSD, the measure Health Connect stores. An iPhone sends SDNN, the one Apple Health stores. They're not the same number.

Written by Google Health, Oura and Gadgetbridge. Not in the lists of Samsung Health or Garmin Connect.

Blood pressure

Key blood_pressure: systolic and diastolic, at a moment. Android and iPhone.

Written by Samsung Health and Gadgetbridge. Not in the lists of Garmin Connect, Google Health or Oura. Withings blood pressure monitors measure it, but Withings publishes no list of what it writes.

Blood glucose

Key blood_glucose: mmol_per_liter, at a moment. Android and iPhone.

Written by Samsung Health, Google Health and Gadgetbridge. Not in the lists of Garmin Connect or Oura.

Oxygen saturation (SpO2)

Key oxygen_saturation: percentage, 0 to 100, at a moment. Android and iPhone.

Written by Samsung Health and Gadgetbridge. Not in the lists of Garmin Connect or Oura. Fitbit's nightly SpO2 was seen arriving through Health Connect in September 2026, though it isn't in Google's list. Withings watches measure it, but Withings publishes no list of what it writes.

Respiratory rate

Key respiratory_rate: rate in breaths per minute, at a moment. Android and iPhone.

Written by Google Health and Gadgetbridge. Not in the lists of Samsung Health, Garmin Connect or Oura.

Sleep and mindfulness

Sleep

Key sleep: session_end_time, duration_seconds and stages, each stage with stage, start_time, end_time and duration_seconds. Android and iPhone. Android's stage values are unknown, awake, sleeping, out_of_bed, light, deep, rem and awake_in_bed. An iPhone also sends in_bed, and never out_of_bed or awake_in_bed.

Written by Samsung Health, Garmin Connect, Google Health, Oura and Gadgetbridge. Withings watches measure it, but Withings publishes no list of what it writes.

Mindfulness

Key mindfulness: duration_seconds and an optional title, over an interval. Android and iPhone. An iPhone sends no title.

None of the six apps on this page lists it.

Food and drink

Hydration

Key hydration: liters, over an interval. Android and iPhone.

Written by Google Health. Not in the lists of Samsung Health, Garmin Connect, Oura or Gadgetbridge.

Nutrition

Key nutrition: calories in kcal, protein_grams, carbs_grams, fat_grams, name, meal_type and 38 nutrient fields, all optional, over an interval. Android and iPhone. Each nutrient key ends in its unit, such as sodium_mg. An iPhone sends 34 of the 38 nutrients and no meal_type.

Written by Samsung Health and Google Health. Not in the lists of Garmin Connect, Oura or Gadgetbridge.

Cycle tracking

Menstruation period

Key menstruation_period: only start_time and end_time. Android and iPhone. An iPhone derives periods from consecutive flow days, because Apple Health has no period record.

Written by Google Health. Not in the lists of Samsung Health, Garmin Connect, Oura or Gadgetbridge.

Menstruation flow

Key menstruation_flow: flow: light, medium, heavy or unknown, at a moment. Android and iPhone.

Written by Google Health. Not in the lists of Samsung Health, Garmin Connect, Oura or Gadgetbridge.

Intermenstrual bleeding

Key intermenstrual_bleeding: only time. Android and iPhone.

Written by Google Health. Not in the lists of Samsung Health, Garmin Connect, Oura or Gadgetbridge.

Ovulation test

Key ovulation_test: result: positive, high, negative, inconclusive or unknown, at a moment. Android and iPhone.

None of the six apps on this page lists it.

Cervical mucus

Key cervical_mucus: appearance and sensation, at a moment. Android and iPhone. An iPhone always sends sensation as unknown.

None of the six apps on this page lists it.

Sexual activity

Key sexual_activity: protection_used: protected, unprotected or unknown, at a moment. Android and iPhone.

None of the six apps on this page lists it.

Basal body temperature

Key basal_body_temperature: celsius, at a moment. Android and iPhone.

None of the six apps on this page lists it.

Metabolism and fitness

Basal metabolic rate

Key basal_metabolic_rate: kilocalories_per_day, at a moment. Android only. Apple Health stores resting energy per interval instead, and an iPhone sends it as part of total_calories.

Written by Samsung Health. Not in the lists of Garmin Connect, Google Health, Oura or Gadgetbridge.

VO2 max

Key vo2_max: vo2_ml_per_min_per_kg, at a moment. Android and iPhone.

Written by Google Health and Gadgetbridge, and by Samsung Health from exercise only. Not in the lists of Garmin Connect or Oura.

Skin temperature

Key skin_temperature: delta_celsius, the change from a baseline, and an optional baseline_celsius, one object per sample. Android only. Apple Health stores an absolute wrist temperature, not a change from a baseline, so an iPhone doesn't send this key.

Written by Google Health and Gadgetbridge. Not in the lists of Samsung Health, Garmin Connect or Oura.

Daily totals

Besides the records, each payload with records carries daily_totals, unless you switch them off: per local day, steps, distance_meters, active_calories and total_calories (kcal), for today and the two days before. They come from Health Connect's own aggregate, which counts a stretch of activity once even when the phone and the watch both recorded it, so they match the Health Connect app. The iPhone app computes them from Apple Health the same way, and sends total_calories only on days with resting energy.

Screen time is sent too

Screen time isn't a Health Connect type. The Android app reads it from Android's usage statistics and sends it as a separate payload with "source": "screen_time": per day a date, total_screen_time_minutes and apps, each app with package, name, minutes and last_used. Every sync sends the last 7 days again. It works on Android 8.0 or newer, without Health Connect. The iPhone app doesn't send screen time. See screen time in Home Assistant.

What the app doesn't send

Health Connect has more record types than these 33. The app doesn't read floors climbed, speed, power, elevation gained, cadence or exercise routes, even when Samsung Health, Garmin Connect, Google Health or Gadgetbridge writes them.

Choose which types go out

  • Switch types on and off under Data Types on the Health tab, and grant each one in Health Connect. The setup wizard's The essentials preset turns on only steps, sleep, heart rate, resting heart rate, distance, calories and weight.
  • Under Data Resolution, heart rate, heart rate variability, oxygen saturation, respiratory rate and skin temperature can go out as averages per 1, 5 or 15 minutes or per hour, and steps, distance and calories as sums. Every record is the default.
  • View on the Health tab shows what the next sync would send. Health Connect to a webhook covers receiving it, and Health Connect to n8n a complete n8n workflow.

Common questions

Does Samsung Health sync HRV to Health Connect?

No. As of October 2026, heart rate variability isn't in Samsung's list of what Samsung Health syncs with Health Connect, and neither are resting heart rate, skin temperature and respiratory rate. Google Health, Oura and Gadgetbridge do write HRV.

What does Garmin Connect sync to Health Connect?

Steps, distance, active and total calories, activities as exercise sessions, sleep with stages, heart rate, weight and body fat. HRV, resting heart rate, Pulse Ox, respiration, Body Battery, stress and training load stay with Garmin.

Does the iPhone app send the same types?

It sends 29 of the 33 keys from Apple Health, in the same format and units. It doesn't send bone_mass, body_water_mass, skin_temperature or basal_metabolic_rate, and its heart rate variability is SDNN where Android sends RMSSD.

Can I get these types as a CSV file?

No. The apps send JSON to a webhook, MQTT or Home Assistant, and your receiver stores it in any format it likes.

Can the app write data into Health Connect as well?

The Android app can write weight, height, body fat, lean body mass, bone mass, body water mass and blood pressure from Home Assistant into Health Connect, with the Life Dashboard integration 0.7.0 or newer. See smart scale to Samsung Health. The iPhone app doesn't write to Apple Health.