Skip to content
AF

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.0127 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

iOS 9.010 identifiers

IdentifierFamilyApple’s abstract
appleStandHourcategoryA category sample type that counts the number of hours in the day during which the user ha…
basalBodyTemperaturequantityA quantity sample type that records the user’s basal body temperature.
cervicalMucusQualitycategoryA category sample type that records the quality of the user’s cervical mucus.
dietaryWaterquantityA quantity sample type that measures the amount of water consumed.
fitzpatrickSkinTypecharacteristicA characteristic type identifier for the user’s skin type.
intermenstrualBleedingcategoryA category sample type that records spotting outside the normal menstruation period.
menstrualFlowcategoryA category sample type that records menstrual cycles.
ovulationTestResultcategoryA category sample type that records the result of an ovulation home test.
sexualActivitycategoryA category sample type that records sexual activity.
uvExposurequantityA quantity sample type that measures the user’s exposure to UV radiation.

iOS 9.31 identifier

IdentifierFamilyApple’s abstract
appleExerciseTimequantityA quantity sample type that measures the amount of time the user spent exercising.

iOS 10.020 identifiers

IdentifierFamilyApple’s abstract
barreworkoutActivityThe constant for barre workout.
coreTrainingworkoutActivityThe constant for core training.
crossCountrySkiingworkoutActivityThe constant for cross country skiing.
distanceSwimmingquantityA quantity sample type that measures the distance the user has moved while swimming.
distanceWheelchairquantityA quantity sample type that measures the distance the user has moved using a wheelchair.
downhillSkiingworkoutActivityThe constant for downhill skiing.
flexibilityworkoutActivityThe constant for a flexibility workout.
highIntensityIntervalTrainingworkoutActivityThe constant for high intensity interval training.
jumpRopeworkoutActivityThe constant for jumping rope.
kickboxingworkoutActivityThe constant for kickboxing.
mindfulSessioncategoryA category sample type for recording a mindful session.
pilatesworkoutActivityThe constant for a pilates workout.
pushCountquantityA quantity sample type that measures the number of pushes that the user has performed whil…
snowboardingworkoutActivityThe constant for snowboarding.
stairsworkoutActivityThe constant for running, walking, or other drills using stairs (for example, in a stadium…
stepTrainingworkoutActivityThe constant for training using a step bench.
swimmingStrokeCountquantityA quantity sample type that measures the number of strokes performed while swimming.
wheelchairRunPaceworkoutActivityThe constant for wheelchair workout at running pace.
wheelchairUsecharacteristicA characteristic identifier for the user’s use of a wheelchair.
wheelchairWalkPaceworkoutActivityThe constant for a wheelchair workout at walking pace.

iOS 11.09 identifiers

IdentifierFamilyApple’s abstract
handCyclingworkoutActivityThe constant for hand cycling.
heartRateVariabilitySDNNquantityA quantity sample type that measures the standard deviation of heartbeat intervals.
insulinDeliveryquantityA quantity sample that measures the amount of insulin delivered.
mixedCardioworkoutActivityThe constant for workouts that mix a variety of cardio exercise machines or modalities.
restingHeartRatequantityA quantity sample type that measures the user’s resting heart rate.
taiChiworkoutActivityThe constant for tai chi.
vo2MaxquantityA quantity sample that measures the maximal oxygen consumption during exercise.
waistCircumferencequantityA quantity sample type that measures the user’s waist circumference.
walkingHeartRateAveragequantityA quantity sample type that measures the user’s heart rate while walking.

iOS 11.21 identifier

IdentifierFamilyApple’s abstract
distanceDownhillSnowSportsquantityA quantity sample type that measures the distance the user has traveled while skiing or sn…

iOS 12.23 identifiers

IdentifierFamilyApple’s abstract
highHeartRateEventcategoryA category sample type for high heart rate events.
irregularHeartRhythmEventcategoryA category sample type for irregular heart rhythm events.
lowHeartRateEventcategoryA category sample type for low heart rate events.

iOS 13.07 identifiers

IdentifierFamilyApple’s abstract
appleStandTimequantityA quantity sample type that measures the amount of time the user has spent standing.
audioExposureEventcategoryA category sample type for audio exposure events.
discSportsworkoutActivityThe constant for playing disc sports such as Ultimate and Disc Golf.
environmentalAudioExposurequantityA quantity sample type that measures audio exposure to sounds in the environment.
fitnessGamingworkoutActivityThe constant for playing fitness-based video games.
headphoneAudioExposurequantityA quantity sample type that measures audio exposure from headphones.
toothbrushingEventcategoryA category sample type for toothbrushing events.

iOS 14.014 identifiers

IdentifierFamilyApple’s abstract
activityMoveModecharacteristicA characteristic identifier for the user’s activity mode.
cardioDanceworkoutActivityThe constant for cardiovascular dance workouts.
cooldownworkoutActivityThe constant for low intensity stretching and mobility exercises following a more vigorous…
environmentalAudioExposureEventcategoryA category sample type that records exposure to potentially damaging sounds from the envir…
handwashingEventcategoryA category sample type for handwashing events.
pickleballworkoutActivityThe constant for playing pickleball.
sixMinuteWalkTestDistancequantityA quantity sample type that stores the distance a user can walk during a six-minute walk t…
socialDanceworkoutActivityThe constant for dancing with a partner or partners, such as swing, salsa, or folk dances.
stairAscentSpeedquantityA quantity sample type measuring the user’s speed while climbing a flight of stairs.
stairDescentSpeedquantityA quantity sample type measuring the user’s speed while descending a flight of stairs.
walkingAsymmetryPercentagequantityA quantity sample type that measures the percentage of steps in which one foot moves at a…
walkingDoubleSupportPercentagequantityA quantity sample type that measures the percentage of time when both of the user’s feet t…
walkingSpeedquantityA quantity sample type that measures the user’s average speed when walking steadily over f…
walkingStepLengthquantityA quantity sample type that measures the average length of the user’s step when walking st…

iOS 14.21 identifier

IdentifierFamilyApple’s abstract
headphoneAudioExposureEventcategoryA category sample type that records exposure to potentially damaging sounds from headphone…

iOS 14.34 identifiers

IdentifierFamilyApple’s abstract
contraceptivecategoryA category sample type that records the use of contraceptives.
lactationcategoryA category type that records lactation.
lowCardioFitnessEventcategoryAn event that indicates the user’s VO2 max values consistently fall below a particular aer…
pregnancycategoryA category type that records pregnancy.

iOS 14.51 identifier

IdentifierFamilyApple’s abstract
appleMoveTimequantityA quantity sample type that measures the amount of time the user has spent performing acti…

iOS 15.05 identifiers

IdentifierFamilyApple’s abstract
appleWalkingSteadinessquantityA quantity sample type that measures the steadiness of the user’s gait.
appleWalkingSteadinessEventcategoryA category sample type that records an incident where the user showed a reduced score for…
numberOfAlcoholicBeveragesquantityA quantity sample type that measures the number of standard alcoholic drinks that the user…
pregnancyTestResultcategoryA category type that represents the results from a home pregnancy test.
progesteroneTestResultcategoryA category type that represents the results from a home progesterone test.

iOS 16.017 identifiers

IdentifierFamilyApple’s abstract
appleSleepingWristTemperaturequantityA quantity sample type that records the wrist temperature during sleep.
atrialFibrillationBurdenquantityA quantity type that measures an estimate of the percentage of time a person’s heart shows…
environmentalSoundReductionquantityA quantity sample type that measures the difference in sound intensity when wearing headph…
heartRateRecoveryOneMinutequantityA quantity sample that records the reduction in heart rate from the peak exercise rate to…
infrequentMenstrualCyclescategoryA category sample that indicates an infrequent menstrual cycle.
irregularMenstrualCyclescategoryA category sample that indicates an irregular menstrual cycle.
persistentIntermenstrualBleedingcategoryA category sample that indicates persistent intermenstrual bleeding.
prolongedMenstrualPeriodscategoryA category sample that indicates a prolonged menstrual cycle.
runningGroundContactTimequantityA quantity sample type that measures the amount of time the runner’s foot is in contact wi…
runningPowerquantityA quantity sample type that measures the rate of work required for the runner to maintain…
runningSpeedquantityA quantity sample type that measures the runner’s speed.
runningStrideLengthquantityA quantity sample type that measures the distance covered by a single step while running.
runningVerticalOscillationquantityA quantity sample type measuring pelvis vertical range of motion during a single running s…
swimBikeRunworkoutActivityThe constant for multisport activities like triathlons.
transitionworkoutActivityA constant for the transition time between activities in a multisport workout.
underwaterDepthquantityA quantity sample that records a person’s depth underwater.
waterTemperaturequantityA quantity sample that records the water temperature.

iOS 17.07 identifiers

IdentifierFamilyApple’s abstract
cyclingCadencequantityA quantity sample type that represents the rate at which the user is pedaling.
cyclingFunctionalThresholdPowerquantityA quantity sample type that measures the estimated maximum average power sustained while r…
cyclingPowerquantityA quantity sample type that measures the estimated power being used while riding a bike.
cyclingSpeedquantityA quantity sample type that measures how fast you are traveling while riding a bike.
physicalEffortquantityA quantity sample type that measures the estimated amount of energy being used to perform…
timeInDaylightquantityA quantity sample type that measures amount of time the user spent in daylight.
underwaterDivingworkoutActivityThe constant for underwater diving.

iOS 18.010 identifiers

IdentifierFamilyApple’s abstract
appleSleepingBreathingDisturbancesquantityno abstract published
crossCountrySkiingSpeedquantityA quantity sample type that measures how fast you are traveling while cross country skiing…
distanceCrossCountrySkiingquantityA quantity sample type that measures the distance the user has moved by cross country skii…
distancePaddleSportsquantityA quantity sample type that measures the distance the user has moved by paddling sports.
distanceRowingquantityA quantity sample type that measures the distance the user has moved by rowing.
distanceSkatingSportsquantityA quantity sample type that measures the distance the user has moved by skating.
estimatedWorkoutEffortScorequantityno abstract published
paddleSportsSpeedquantityA quantity sample type that measures the distance the user has moved by paddling sports.
rowingSpeedquantityA quantity sample type that measures how fast the rower is moving.
workoutEffortScorequantityno abstract published

iOS 26.21 identifier

IdentifierFamilyApple’s abstract
hypertensionEventcategoryno abstract published

iOS 27.02 identifiers

IdentifierFamilyApple’s abstract
bleedingAfterMenopausecategoryAn identifier for samples that record bleeding after menopause.
menopausalStatecategoryAn 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.