I’m building an iPhone app that aligns live heart-rate readings with a video recording. I’m looking for a supported way to receive a fresh AirPods Pro 3 BPM estimate about once per second during an active session.
I tested with an iPhone 16 running iOS 27.2 and AirPods Pro 3. A minimal test app starts an HKWorkoutSession on the iPhone, collects heart rate with HKLiveWorkoutBuilder, and records the source timestamp of each distinct reading. With both .other / .indoor and .running / .outdoor, the median spacing between readings was about five seconds. Querying HealthKit afterward returned the same in-take readings.
Is that cadence expected for third-party apps? Is there a documented API, workout configuration, or capability that Apple makes available to third-party developers for receiving fresh AirPods Pro 3 BPM estimates at about 1 Hz?
My requirement is for a new estimate from the AirPods at that cadence. Polling more frequently or interpolating between readings would not meet it.
There isn't. AirPods Pro 3 samples the raw data points at a highly intensive rate, but the system calculates the heart rate (using the raw data points) and puts the result into the HealthKit store at a much lower rate. In the latest system, that's roughly 5hz. The mechanism applies to Apple Watch as well, and that's why I mentioned the linked announcement.
Other than HealthKit, the system doesn't provide any other API to access the heart rate data from AirPods Pro 3 or Apple Watch.
Best,
——
Ziqiao Chen
Worldwide Developer Relations.