HealthKit Types by iOS Version
240 identifiers across 18iOS releases · read from Apple’s documentation on 2026-08-28
127 of 240 HealthKit type identifiers shipped in iOS 8.0. The rest arrived in bursts: running in 16, cycling in 17, rowing and effort in 18.
127 of the 240 HealthKit type identifiers in this dataset were introduced in iOS 8.0. More than half of the API surface you will ever query has been there since HealthKit shipped, and the histogram on this page shows what happened after.
What happened after is bursts, not a stream. Some releases add a single identifier; others land an entire subsystem at once. iOS 10.0 added 20. iOS 14.0 added 14, with three more in 14.3 and one each in 14.2 and 14.5. iOS 9.0 added 10, iOS 11.0 nine, iOS 13.0 seven, iOS 15.0 five, iOS 12.2 three, and iOS 9.3 and 11.2 one apiece. Then the three modern bursts.
iOS 16.0 added 17, the largest of the recent ones, and it is three
unrelated projects arriving together. Running dynamics accounts for five:
runningGroundContactTime, runningPower, runningSpeed,
runningStrideLength and runningVerticalOscillation. A sleep-time body
signal accounts for one, appleSleepingWristTemperature, a discrete
temperature quantity that carries one of the longest discussion sections
Apple has written for any identifier. Menstrual-cycle deviations account for
four: infrequentMenstrualCycles, irregularMenstrualCycles,
persistentIntermenstrualBleeding and prolongedMenstrualPeriods. The rest
are atrialFibrillationBurden, heartRateRecoveryOneMinute,
environmentalSoundReduction, underwaterDepth, waterTemperature, and two
workout activity constants, swimBikeRun and transition.
iOS 17.0 added seven, and four of them are cycling: cyclingCadence,
cyclingFunctionalThresholdPower, cyclingPower and cyclingSpeed. The
other three are timeInDaylight (a cumulative time quantity),
physicalEffort, and the underwaterDiving workout constant.
iOS 18.0 added ten, and the theme is boats, boards and skis:
distanceRowing, rowingSpeed, distancePaddleSports, paddleSportsSpeed,
distanceCrossCountrySkiing, crossCountrySkiingSpeed and
distanceSkatingSports. Alongside them arrived the two effort scores,
workoutEffortScore and estimatedWorkoutEffortScore, plus
appleSleepingBreathingDisturbances.
iOS 26.2 added one: hypertensionEvent, a category type that is listed
with no abstract at all.
iOS 27.0 added two, both in reproductive health and both in beta:
bleedingAfterMenopause and menopausalState.
The lead time is the part worth planning around. An identifier's introduction version is the floor under any feature that reads it — a build that targets older devices can compile against a newer type and still find it unavailable at runtime on the phone in a user's pocket. Reading a running-power chart means iOS 16.0 or later for that chart specifically, not for your app. The practical pattern is per-feature availability checks rather than a single raised deployment target, because the 127 identifiers from iOS 8.0 cover steps, distance, energy, heart rate, body mass and most of nutrition, and those work everywhere.
The second thing the timeline tells you is where Apple is currently investing. Every burst since iOS 16.0 has been a sport-specific measurement set — running, then cycling, then rowing and paddling and skiing — plus one or two health-event category types. If you are building for a sport Apple has not reached yet, the generic types are what you have, and they will stay what you have until a release adds the specific ones.
The counts and membership lists here come from this site's HealthKit identifier dataset, parsed from Apple's developer documentation on 2026-08-28. Whether a given identifier is safe to build on — beta, undocumented, or sitting in a group Apple named "deprecated" — is a separate question answered on HealthKit type status. For what the newest arrivals suggest about the next ones, see the newest types as a roadmap; for the iOS 8.0 majority, see 240 types, most of them from iOS 8. Setup and entitlements live in integrate HealthKit.
Every identifier, by the iOS release that introduced it
Grouped on the iOS availability Apple publishes per identifier. Other platforms carry their own — an identifier available since iOS 8.0 arrived on watchOS in 2.0 and on macOS in 13.0 — so treat this as the iOS deployment-target axis only.
- iOS 8.0 127
- iOS 9.0 10
- iOS 9.3 1
- iOS 10.0 20
- iOS 11.0 9
- iOS 11.2 1
- iOS 12.2 3
- iOS 13.0 7
- iOS 14.0 14
- iOS 14.2 1
- iOS 14.3 4
- iOS 14.5 1
- iOS 15.0 5
- iOS 16.0 17
- iOS 17.0 7
- iOS 18.0 10
- iOS 26.2 1
- iOS 27.0 2
iOS 8.0 — 127 identifiers
127 identifiers — over 53% of the whole catalogue — date from this release. They are the baseline every app already has, so they are collapsed here rather than listed as a table you would scroll past.
Show all 127 identifiers introduced in iOS 8.0
- activeEnergyBurned
- americanFootball
- archery
- australianFootball
- badminton
- basalEnergyBurned
- baseball
- basketball
- biologicalSex
- bloodAlcoholContent
- bloodGlucose
- bloodPressureDiastolic
- bloodPressureSystolic
- bloodType
- bodyFatPercentage
- bodyMass
- bodyMassIndex
- bodyTemperature
- bowling
- boxing
- climbing
- cricket
- crossTraining
- curling
- cycling
- dance
- danceInspiredTraining
- dateOfBirth
- dietaryBiotin
- dietaryCaffeine
- dietaryCalcium
- dietaryCarbohydrates
- dietaryChloride
- dietaryCholesterol
- dietaryChromium
- dietaryCopper
- dietaryEnergyConsumed
- dietaryFatMonounsaturated
- dietaryFatPolyunsaturated
- dietaryFatSaturated
- dietaryFatTotal
- dietaryFiber
- dietaryFolate
- dietaryIodine
- dietaryIron
- dietaryMagnesium
- dietaryManganese
- dietaryMolybdenum
- dietaryNiacin
- dietaryPantothenicAcid
- dietaryPhosphorus
- dietaryPotassium
- dietaryProtein
- dietaryRiboflavin
- dietarySelenium
- dietarySodium
- dietarySugar
- dietaryThiamin
- dietaryVitaminA
- dietaryVitaminB12
- dietaryVitaminB6
- dietaryVitaminC
- dietaryVitaminD
- dietaryVitaminE
- dietaryVitaminK
- dietaryZinc
- distanceCycling
- distanceWalkingRunning
- electrodermalActivity
- elliptical
- equestrianSports
- fencing
- fishing
- flightsClimbed
- forcedExpiratoryVolume1
- forcedVitalCapacity
- functionalStrengthTraining
- golf
- gymnastics
- handball
- heartRate
- height
- hiking
- hockey
- hunting
- inhalerUsage
- lacrosse
- leanBodyMass
- martialArts
- mindAndBody
- mixedMetabolicCardioTraining
- nikeFuel
- numberOfTimesFallen
- other
- oxygenSaturation
- paddleSports
- peakExpiratoryFlowRate
- peripheralPerfusionIndex
- play
- preparationAndRecovery
- racquetball
- respiratoryRate
- rowing
- rugby
- running
- sailing
- skatingSports
- sleepAnalysis
- snowSports
- soccer
- softball
- squash
- stairClimbing
- stepCount
- surfingSports
- swimming
- tableTennis
- tennis
- trackAndField
- traditionalStrengthTraining
- volleyball
- walking
- waterFitness
- waterPolo
- waterSports
- wrestling
- yoga
iOS 9.0 — 10 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| appleStandHour | category | A category sample type that counts the number of hours in the day during which the user ha… |
| basalBodyTemperature | quantity | A quantity sample type that records the user’s basal body temperature. |
| cervicalMucusQuality | category | A category sample type that records the quality of the user’s cervical mucus. |
| dietaryWater | quantity | A quantity sample type that measures the amount of water consumed. |
| fitzpatrickSkinType | characteristic | A characteristic type identifier for the user’s skin type. |
| intermenstrualBleeding | category | A category sample type that records spotting outside the normal menstruation period. |
| menstrualFlow | category | A category sample type that records menstrual cycles. |
| ovulationTestResult | category | A category sample type that records the result of an ovulation home test. |
| sexualActivity | category | A category sample type that records sexual activity. |
| uvExposure | quantity | A quantity sample type that measures the user’s exposure to UV radiation. |
iOS 9.3 — 1 identifier
| Identifier | Family | Apple’s abstract |
|---|---|---|
| appleExerciseTime | quantity | A quantity sample type that measures the amount of time the user spent exercising. |
iOS 10.0 — 20 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| barre | workoutActivity | The constant for barre workout. |
| coreTraining | workoutActivity | The constant for core training. |
| crossCountrySkiing | workoutActivity | The constant for cross country skiing. |
| distanceSwimming | quantity | A quantity sample type that measures the distance the user has moved while swimming. |
| distanceWheelchair | quantity | A quantity sample type that measures the distance the user has moved using a wheelchair. |
| downhillSkiing | workoutActivity | The constant for downhill skiing. |
| flexibility | workoutActivity | The constant for a flexibility workout. |
| highIntensityIntervalTraining | workoutActivity | The constant for high intensity interval training. |
| jumpRope | workoutActivity | The constant for jumping rope. |
| kickboxing | workoutActivity | The constant for kickboxing. |
| mindfulSession | category | A category sample type for recording a mindful session. |
| pilates | workoutActivity | The constant for a pilates workout. |
| pushCount | quantity | A quantity sample type that measures the number of pushes that the user has performed whil… |
| snowboarding | workoutActivity | The constant for snowboarding. |
| stairs | workoutActivity | The constant for running, walking, or other drills using stairs (for example, in a stadium… |
| stepTraining | workoutActivity | The constant for training using a step bench. |
| swimmingStrokeCount | quantity | A quantity sample type that measures the number of strokes performed while swimming. |
| wheelchairRunPace | workoutActivity | The constant for wheelchair workout at running pace. |
| wheelchairUse | characteristic | A characteristic identifier for the user’s use of a wheelchair. |
| wheelchairWalkPace | workoutActivity | The constant for a wheelchair workout at walking pace. |
iOS 11.0 — 9 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| handCycling | workoutActivity | The constant for hand cycling. |
| heartRateVariabilitySDNN | quantity | A quantity sample type that measures the standard deviation of heartbeat intervals. |
| insulinDelivery | quantity | A quantity sample that measures the amount of insulin delivered. |
| mixedCardio | workoutActivity | The constant for workouts that mix a variety of cardio exercise machines or modalities. |
| restingHeartRate | quantity | A quantity sample type that measures the user’s resting heart rate. |
| taiChi | workoutActivity | The constant for tai chi. |
| vo2Max | quantity | A quantity sample that measures the maximal oxygen consumption during exercise. |
| waistCircumference | quantity | A quantity sample type that measures the user’s waist circumference. |
| walkingHeartRateAverage | quantity | A quantity sample type that measures the user’s heart rate while walking. |
iOS 11.2 — 1 identifier
| Identifier | Family | Apple’s abstract |
|---|---|---|
| distanceDownhillSnowSports | quantity | A quantity sample type that measures the distance the user has traveled while skiing or sn… |
iOS 12.2 — 3 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| highHeartRateEvent | category | A category sample type for high heart rate events. |
| irregularHeartRhythmEvent | category | A category sample type for irregular heart rhythm events. |
| lowHeartRateEvent | category | A category sample type for low heart rate events. |
iOS 13.0 — 7 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| appleStandTime | quantity | A quantity sample type that measures the amount of time the user has spent standing. |
| audioExposureEvent | category | A category sample type for audio exposure events. |
| discSports | workoutActivity | The constant for playing disc sports such as Ultimate and Disc Golf. |
| environmentalAudioExposure | quantity | A quantity sample type that measures audio exposure to sounds in the environment. |
| fitnessGaming | workoutActivity | The constant for playing fitness-based video games. |
| headphoneAudioExposure | quantity | A quantity sample type that measures audio exposure from headphones. |
| toothbrushingEvent | category | A category sample type for toothbrushing events. |
iOS 14.0 — 14 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| activityMoveMode | characteristic | A characteristic identifier for the user’s activity mode. |
| cardioDance | workoutActivity | The constant for cardiovascular dance workouts. |
| cooldown | workoutActivity | The constant for low intensity stretching and mobility exercises following a more vigorous… |
| environmentalAudioExposureEvent | category | A category sample type that records exposure to potentially damaging sounds from the envir… |
| handwashingEvent | category | A category sample type for handwashing events. |
| pickleball | workoutActivity | The constant for playing pickleball. |
| sixMinuteWalkTestDistance | quantity | A quantity sample type that stores the distance a user can walk during a six-minute walk t… |
| socialDance | workoutActivity | The constant for dancing with a partner or partners, such as swing, salsa, or folk dances. |
| stairAscentSpeed | quantity | A quantity sample type measuring the user’s speed while climbing a flight of stairs. |
| stairDescentSpeed | quantity | A quantity sample type measuring the user’s speed while descending a flight of stairs. |
| walkingAsymmetryPercentage | quantity | A quantity sample type that measures the percentage of steps in which one foot moves at a… |
| walkingDoubleSupportPercentage | quantity | A quantity sample type that measures the percentage of time when both of the user’s feet t… |
| walkingSpeed | quantity | A quantity sample type that measures the user’s average speed when walking steadily over f… |
| walkingStepLength | quantity | A quantity sample type that measures the average length of the user’s step when walking st… |
iOS 14.2 — 1 identifier
| Identifier | Family | Apple’s abstract |
|---|---|---|
| headphoneAudioExposureEvent | category | A category sample type that records exposure to potentially damaging sounds from headphone… |
iOS 14.3 — 4 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| contraceptive | category | A category sample type that records the use of contraceptives. |
| lactation | category | A category type that records lactation. |
| lowCardioFitnessEvent | category | An event that indicates the user’s VO2 max values consistently fall below a particular aer… |
| pregnancy | category | A category type that records pregnancy. |
iOS 14.5 — 1 identifier
| Identifier | Family | Apple’s abstract |
|---|---|---|
| appleMoveTime | quantity | A quantity sample type that measures the amount of time the user has spent performing acti… |
iOS 15.0 — 5 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| appleWalkingSteadiness | quantity | A quantity sample type that measures the steadiness of the user’s gait. |
| appleWalkingSteadinessEvent | category | A category sample type that records an incident where the user showed a reduced score for… |
| numberOfAlcoholicBeverages | quantity | A quantity sample type that measures the number of standard alcoholic drinks that the user… |
| pregnancyTestResult | category | A category type that represents the results from a home pregnancy test. |
| progesteroneTestResult | category | A category type that represents the results from a home progesterone test. |
iOS 16.0 — 17 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| appleSleepingWristTemperature | quantity | A quantity sample type that records the wrist temperature during sleep. |
| atrialFibrillationBurden | quantity | A quantity type that measures an estimate of the percentage of time a person’s heart shows… |
| environmentalSoundReduction | quantity | A quantity sample type that measures the difference in sound intensity when wearing headph… |
| heartRateRecoveryOneMinute | quantity | A quantity sample that records the reduction in heart rate from the peak exercise rate to… |
| infrequentMenstrualCycles | category | A category sample that indicates an infrequent menstrual cycle. |
| irregularMenstrualCycles | category | A category sample that indicates an irregular menstrual cycle. |
| persistentIntermenstrualBleeding | category | A category sample that indicates persistent intermenstrual bleeding. |
| prolongedMenstrualPeriods | category | A category sample that indicates a prolonged menstrual cycle. |
| runningGroundContactTime | quantity | A quantity sample type that measures the amount of time the runner’s foot is in contact wi… |
| runningPower | quantity | A quantity sample type that measures the rate of work required for the runner to maintain… |
| runningSpeed | quantity | A quantity sample type that measures the runner’s speed. |
| runningStrideLength | quantity | A quantity sample type that measures the distance covered by a single step while running. |
| runningVerticalOscillation | quantity | A quantity sample type measuring pelvis vertical range of motion during a single running s… |
| swimBikeRun | workoutActivity | The constant for multisport activities like triathlons. |
| transition | workoutActivity | A constant for the transition time between activities in a multisport workout. |
| underwaterDepth | quantity | A quantity sample that records a person’s depth underwater. |
| waterTemperature | quantity | A quantity sample that records the water temperature. |
iOS 17.0 — 7 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| cyclingCadence | quantity | A quantity sample type that represents the rate at which the user is pedaling. |
| cyclingFunctionalThresholdPower | quantity | A quantity sample type that measures the estimated maximum average power sustained while r… |
| cyclingPower | quantity | A quantity sample type that measures the estimated power being used while riding a bike. |
| cyclingSpeed | quantity | A quantity sample type that measures how fast you are traveling while riding a bike. |
| physicalEffort | quantity | A quantity sample type that measures the estimated amount of energy being used to perform… |
| timeInDaylight | quantity | A quantity sample type that measures amount of time the user spent in daylight. |
| underwaterDiving | workoutActivity | The constant for underwater diving. |
iOS 18.0 — 10 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| appleSleepingBreathingDisturbances | quantity | no abstract published |
| crossCountrySkiingSpeed | quantity | A quantity sample type that measures how fast you are traveling while cross country skiing… |
| distanceCrossCountrySkiing | quantity | A quantity sample type that measures the distance the user has moved by cross country skii… |
| distancePaddleSports | quantity | A quantity sample type that measures the distance the user has moved by paddling sports. |
| distanceRowing | quantity | A quantity sample type that measures the distance the user has moved by rowing. |
| distanceSkatingSports | quantity | A quantity sample type that measures the distance the user has moved by skating. |
| estimatedWorkoutEffortScore | quantity | no abstract published |
| paddleSportsSpeed | quantity | A quantity sample type that measures the distance the user has moved by paddling sports. |
| rowingSpeed | quantity | A quantity sample type that measures how fast the rower is moving. |
| workoutEffortScore | quantity | no abstract published |
iOS 26.2 — 1 identifier
| Identifier | Family | Apple’s abstract |
|---|---|---|
| hypertensionEvent | category | no abstract published |
iOS 27.0 — 2 identifiers
| Identifier | Family | Apple’s abstract |
|---|---|---|
| bleedingAfterMenopause | category | An identifier for samples that record bleeding after menopause. |
| menopausalState | category | An identifier for samples that record a person’s menopausal state. |
What will bite you
The newest identifiers are the thinnest. The iOS 18.0 burst brought
workoutEffortScore, estimatedWorkoutEffortScore and
appleSleepingBreathingDisturbances, and all three are listed with no
abstract at all, no aggregation style, and no unit family. hypertensionEvent
from iOS 26.2 is listed with no abstract either, and no value enum resolved
for it. Arriving in a release tells you the symbol exists. It does not tell
you what to put in it or how to roll it up, and for these four Apple has not
written that down yet.
Two of the newest are in beta. bleedingAfterMenopause and
menopausalState, both iOS 27.0, are marked beta on at least one platform.
Beta symbols can be renamed, respecified, or have their value sets changed
before general release, so anything you persist keyed to them is a migration
waiting to happen.
Introduced is not populated. A version number says when the type became addressable, not when data started appearing in it. Whether samples exist depends on the hardware the user owns and whether any app writes them — blood oxygen is the standard example, since availability has been subject to litigation in the US and needs checking against current status rather than against an availability table.
Old is not the same as documented. Age buys stability, not prose. 58 identifiers across the whole set carry zero words of discussion, and the median discussion length is 15 words, so plenty of the iOS 8.0 cohort is as silent as anything shipped last year.
Questions
Which iOS version introduced the most HealthKit types?
iOS 8.0, by a wide margin. It introduced 127 of the 240 identifiers in this dataset, which is the whole original surface: steps, distance, energy, heart rate, body mass and almost all of nutrition. The next largest single release is iOS 10.0 with 20, then iOS 16.0 with 17, then iOS 14.0 with 14.
What HealthKit types were added in iOS 18?
Ten. Seven of them are rowing, paddle sports, cross country skiing and skating measurements: distanceRowing, rowingSpeed, distancePaddleSports, paddleSportsSpeed, distanceCrossCountrySkiing, crossCountrySkiingSpeed and distanceSkatingSports. The other three are workoutEffortScore, estimatedWorkoutEffortScore and appleSleepingBreathingDisturbances, and none of those three carries an abstract, a unit family or a stated aggregation style in Apple's documentation.
Do newer HealthKit types force me to raise my deployment target?
Only for the feature that reads them. The introduction version is a floor for that identifier, not for your app, so the usual pattern is an availability check around the specific chart or metric. The 127 identifiers from iOS 8.0 cover most of what a general fitness app reads, and those are available everywhere.
Derived by AIFitnessAPI from Apple’s published documentation, read 2026-08-28. The full table with units, aggregation and value enums is at every HealthKit type identifier, and the machine-readable export is on datasets.