The API name is the type you pass to /query/trends, /health/samples and the connector's tools, such as /query/trends?type=restingHeartRate. It is the HealthKit name, and the OpenAPI spec lists the same 50.
Activity & Energy (25)
Movement, energy, walking and running form, plus water and dietary energy.
| Metric | API name | Unit | Summarized as |
|---|---|---|---|
| Steps | stepCount | count | Daily total |
| Walking and running distance | distanceWalkingRunning | m | Daily total |
| Active energy | activeEnergyBurned | kcal | Daily total |
| Resting (basal) energy | basalEnergyBurned | kcal | Daily total |
| Flights climbed | flightsClimbed | count | Daily total |
| Exercise minutes | exerciseTime | min | Daily total |
| Stand time | appleStandTime | min | Daily total |
| Time in daylight iOS 17+ | timeInDaylight | min | Daily total |
| Cycling distance | distanceCycling | m | Daily total |
| Swimming distance | distanceSwimming | m | Daily total |
| Swimming strokes | swimmingStrokeCount | count | Daily total |
| Walking speed | walkingSpeed | m/s | Daily average, low, high |
| Walking step length | walkingStepLength | m | Daily average, low, high |
| Walking asymmetry | walkingAsymmetryPercentage | % | Daily average, low, high |
| Double support time | walkingDoubleSupportPercentage | % | Daily average, low, high |
| Stair speed: up | stairAscentSpeed | m/s | Daily average, low, high |
| Stair speed: down | stairDescentSpeed | m/s | Daily average, low, high |
| Six-minute walk | sixMinuteWalkTestDistance | m | Daily average, low, high |
| Running speed iOS 16+ | runningSpeed | m/s | Daily average, low, high |
| Running power iOS 16+ | runningPower | W | Daily average, low, high |
| Running stride length iOS 16+ | runningStrideLength | m | Daily average, low, high |
| Vertical oscillation iOS 16+ | runningVerticalOscillation | cm | Daily average, low, high |
| Ground contact time iOS 16+ | runningGroundContactTime | ms | Daily average, low, high |
| Water | dietaryWater | mL | Daily total |
| Dietary energy | dietaryEnergyConsumed | kcal | Daily total |
Cardiovascular (9)
Heart rate in its several forms, HRV, cardio fitness, blood oxygen and breathing.
| Metric | API name | Unit | Summarized as |
|---|---|---|---|
| Heart rate | heartRate | count/min | Daily average, low, high |
| Heart rate variability (HRV, SDNN) | heartRateVariability | ms | Daily average, low, high |
| Resting heart rate | restingHeartRate | count/min | Daily average, low, high |
| Walking heart rate average | walkingHeartRate | count/min | Daily average, low, high |
| Heart rate recovery (1 minute) iOS 16+ | heartRateRecoveryOneMinute | count/min | Daily average, low, high |
| Cardio fitness (VO2 max) | vo2Max | mL/min·kg | Daily average, low, high |
| Blood oxygen | oxygenSaturation | % | Daily average, low, high |
| Respiratory rate | respiratoryRate | count/min | Daily average, low, high |
| AFib history iOS 16+ | atrialFibrillationBurden | % | Daily average, low, high |
Clinical (10)
Readings you or a device log in Apple Health, and sound levels around you and in your headphones.
| Metric | API name | Unit | Summarized as |
|---|---|---|---|
| Blood pressure, systolic | bloodPressureSystolic | mmHg | Daily average, low, high |
| Blood pressure, diastolic | bloodPressureDiastolic | mmHg | Daily average, low, high |
| Blood glucose | bloodGlucose | mg/dL | Daily average, low, high |
| Body temperature | bodyTemperature | degC | Daily average, low, high |
| Sleeping wrist temperature iOS 16+ | wristTemperature | degC | Daily average, low, high |
| Blood alcohol content | bloodAlcoholContent | % | Daily average, low, high |
| Insulin delivery | insulinDelivery | IU | Daily total |
| Number of falls | numberOfTimesFallen | count | Daily total |
| Environmental sound levels | environmentalAudioExposure | dBASPL | Daily average, low, high |
| Headphone audio levels | headphoneAudioExposure | dBASPL | Daily average, low, high |
Body Composition (5)
Weight and body composition.
| Metric | API name | Unit | Summarized as |
|---|---|---|---|
| Weight | bodyMass | kg | Daily average, low, high |
| Body mass index | bodyMassIndex | count | Daily average, low, high |
| Body fat percentage | bodyFatPercentage | % | Daily average, low, high |
| Lean body mass | leanBodyMass | kg | Daily average, low, high |
| Height | height | m | Daily average, low, high |
Sleep (1)
Sleep stages from Apple Watch, or time in bed from your iPhone or another app. In the app, sleep and workouts share one category, Sleep & Workouts.
| Metric | API name | Unit | Summarized as |
|---|---|---|---|
| Sleep | sleepAnalysis | min | Per night: core, deep, REM, awake, in bed |
Workouts
Every workout in Apple Health syncs with its type, start and end, duration, distance and active energy, and the app it came from. Read them with GET /health/workouts or the get_workouts tool, filtered by type if you like. The types:
runningwalkingcyclingswimminghikingyogastrength_trainingfunctional_strength_traininghiitellipticalrowingstair_climbingcore_trainingcooldown
Any other kind of workout comes through as other.
Units and summaries
- Daily total metrics add up over the day. HealthAPI removes the overlap between your iPhone and Apple Watch, so totals match the Health app.
- Daily average, low, high metrics are readings.
/query/trendsgives each day's average, lowest and highest. - Sleep is counted per night, the way the Health app counts it: a night belongs to the morning it ended.
- Units are HealthKit's own in raw readings:
count/minis beats (or breaths) per minute, a percentage is a fraction (0.98 for 98%),degCis degrees Celsius anddBASPLis decibels. The daily summaries report blood oxygen as a percent, and the connector's tools show bpm, percent and °C.
What isn't synced
Only what is on this page. Some Apple Health data is left out on purpose:
ECG recordings. An ECG is a recorded waveform, not a single value, so it doesn't fit a metric with a number and a unit.
Cycle tracking and reproductive health. It is especially sensitive, so HealthAPI doesn't read it.
Mindful minutes, medications, symptoms, nutrients other than water and dietary energy, and clinical health records aren't synced either.
Questions
Does HealthAPI sync heart rate variability (HRV)?
Yes, as heartRateVariability, in milliseconds. It is the SDNN value Apple Health records, usually from Apple Watch, averaged per day with a low and a high.
Does it include VO2 max?
Yes. The Health app calls it Cardio Fitness; the API name is vo2Max, in mL/min·kg.
Does it include sleep stages?
Yes. Each night has time asleep split into core, deep and REM when your Apple Watch records stages, plus time awake, time in bed, and when you fell asleep and woke up. A night belongs to the morning it ended.
Does it sync data that other apps write to Apple Health?
Yes. HealthAPI reads Apple Health, whichever app or device wrote the data, and every reading keeps its source.
Why does a metric have no data?
A metric only has data if something writes it to Apple Health, and if its category is on in HealthAPI's Sync Settings. A few need a newer iOS: time in daylight needs iOS 17, and the running metrics, heart rate recovery, wrist temperature and AFib history need iOS 16.
Can I get ECG recordings or cycle tracking data?
No. ECG recordings are waveforms, not single values, and cycle tracking and other reproductive health data are left out on purpose because they are especially sensitive.
