Skip to content

Health data types

Every data type the SDK supports, with its typed constant, aggregation metrics, platform availability, and the native API it maps to. Search by name, description, constant, or native identifier.

140 of 140 data types

Activity › General Activity 16

Activity › Distance Types 11

Activity › Speed Types 5

Activity › Power Types 3

  • Power Series

    Health Connect

    Power measurements over time

    HealthDataType.powerSeries
    Aggregation
    AvgMinMax
    Native APIs
    PowerRecord
  • Cycling Power

    HealthKit · iOS 17+

    Power output during cycling

    HealthDataType.cyclingPower
    Aggregation
    AvgMinMax
  • Running Power

    HealthKit · iOS 16+

    Power output during running

    HealthDataType.runningPower
    Aggregation
    AvgMinMax

Activity › Mobility 8

Activity › Exercise Sessions 1

  • Exercise Session

    Health Connect HealthKit

    Complete workout session with exercise type and stats

    HealthDataType.exerciseSession
    Aggregation
    Duration

Body Measurements 11

Vitals 27

Sleep 2

  • Sleep Session

    Health Connect

    Complete sleep session with sleep stages

    HealthDataType.sleepSession
    Aggregation
    Not aggregatable
  • Sleep Stage Record

    HealthKit

    Individual sleep stage measurement

    HealthDataType.sleepStageRecord
    Aggregation
    Not aggregatable

Hearing 4

Nutrition › Core & Hydration 3

Nutrition › Macronutrients 4

Nutrition › Fats 4

Nutrition › Fiber & Sugar 2

Nutrition › Minerals 9

Nutrition › B Vitamins 8

Nutrition › Other Vitamins 5

Nutrition › Alcohol 1

Wellness 1

Cycle Tracking 15

How to read an entry

The constant is what you use everywhere — HealthDataType.steps gives you the permissions, the read request, the delete request, and the aggregates for that type. Copy it with the button next to it.

Aggregation lists the metrics that type actually supports. If a metric is not listed, the corresponding method does not exist on the type, so the mistake is caught at compile time rather than at runtime. See Aggregate data.

Platform chips show where the type is available as a discrete HealthDataType. Nutrition is the case that surprises people: HealthKit exposes each nutrient as its own identifier, while Health Connect models the same values as fields on a single NutritionRecord. A nutrient marked HealthKit-only is still writable on Android through NutritionRecord — it just has no standalone Health Connect data type. See the nutrition recipe.

Native APIs link to Google's and Apple's own documentation for the underlying record or identifier, which is where to look when you need the platform's exact semantics for a measurement.

Verify availability before promising a feature

Filter by Both to see only the types that exist as first-class data types on Health Connect and HealthKit alike. Anything outside that set needs a platform branch or a documented gap.

Released under the Apache 2.0 License.