Skip to content
AF
HealthKit reference

basalBodyTemperature: HealthKit quantity type

HKQuantityTypeIdentifierBasalBodyTemperature · read from Apple’s documentation on 2026-10-02

HKQuantityTypeIdentifier.basalBodyTemperature (Objective-C HKQuantityTypeIdentifierBasalBodyTemperature) is a HealthKit quantity type in Apple's "Reproductive health" group. Apple's abstract: “A quantity sample type that records the user’s basal body temperature.” Apple's discussion says its samples use temperature units and measure discrete values, so in HKStatisticsQuery it takes .discreteAverage, .discreteMin or .discreteMax. It is available from iOS 9.0 and watchOS 2.0.

What Apple says basalBodyTemperature is

A quantity sample type that records the user’s basal body temperature.

Apple’s abstract, quoted from its basalBodyTemperature reference page, read 2026-10-02. Apple’s discussion of the type runs 33 words.

Swift
HKQuantityTypeIdentifier.basalBodyTemperature
Objective-C
HKQuantityTypeIdentifierBasalBodyTemperature
Family
HKQuantityTypeIdentifier
Apple's topic group
Reproductive health

Availability

The versions Apple’s documentation data gives for basalBodyTemperature, platform by platform, as read on 2026-10-02.

PlatformIntroducedDeprecated
iOS9.0—
iPadOS9.0—
Mac Catalyst13.0—
macOS13.0—
visionOS1.0—
watchOS2.0—

The rest of that release: HealthKit Types Introduced in iOS 9.

Sum or average, and in which units

Apple states both of these in the prose of the type’s discussion, not as properties, so they are derived from Apple’s sentence and the sentence is shown with each.

Aggregation style

discrete — in an HKStatisticsQuery, use .discreteAverage, .discreteMin or .discreteMax. Apple’s sentence:

These samples use temperature units (described in ) and measure discrete values (described in ).

Unit family

temperature — every type in this family is on the HKUnit reference.

Apple states it in the same sentence as the aggregation style, quoted above.

Empty parentheses and a dangling “described in” mark links in Apple’s sentence to other documentation pages: the generator keeps the sentence’s text, not its links, and the quote is left as stored rather than repaired.

Can apps write basalBodyTemperature?

Apple’s documentation for basalBodyTemperature does not state that its samples are read-only. Apple states read-only status only in prose, and its silence is not a statement either way, so this page makes no claim that apps can save it.

On Android Health Connect

No verified Health Connect counterpart. The cross-platform matrix pairs only metrics checked against both Apple’s and Google’s documentation, and basalBodyTemperature is not among them. A similarly named Health Connect record may exist, but a name match is not a verified mapping.

Questions

Should I sum or average basalBodyTemperature in HealthKit?
Average it, or take its minimum or maximum — do not sum it. Apple's documentation for basalBodyTemperature describes it as measuring discrete values, so an HKStatisticsQuery over it takes .discreteAverage, .discreteMin or .discreteMax. Apple's sentence, as read on 2026-10-02: "These samples use temperature units (described in ) and measure discrete values (described in )."
Which unit family does Apple give basalBodyTemperature?
Temperature. Apple's discussion of basalBodyTemperature says its samples use temperature units: "These samples use temperature units (described in ) and measure discrete values (described in )."
Which iOS version added basalBodyTemperature?
iOS 9.0. Apple's availability data for basalBodyTemperature lists iOS 9.0, iPadOS 9.0, Mac Catalyst 13.0, macOS 13.0, visionOS 1.0 and watchOS 2.0.

Sources checked

Apple’s abstract and sentences are quoted for identification; the page layout, the capsule and the cross-platform pairing are AIFitnessAPI’s. Generated from Apple’s documentation by scripts/fetch-healthkit-identifiers.mjs, not typed by hand — the same data as the full identifier table.

← All HealthKit type identifiers · Reproductive health