Whoop Syncs Health Data to Apple Health - All data to the test
From the beginning of Terra, our goal has been to connect to as many wearables as possible through one API. Some proved to be a huge challenge, while some have been somewhat straight forward.
Whoop has been one of the most difficult wearables to integrate with due to their policy of not sharing any data. However, recently Whoop has introduced another form of exporting its health data: Apple Health Sync.
Game Changer
Previously, Whoop only allowed exporting data to two other data aggregating platforms: Strava and TrainingPeaks. Both of these companies have limited capabilities through their API (Strava has an extraordinarily low rate limit and TrainingPeaks has limited information for users who are not premium members). Now with the introduction of exporting to Apple Health, there will be no limits on how often or what data we can pull.
Specifications
Upon connecting to Apple Health, we can already see it requests for write permissions for multiple datatypes, namely: Activity Energy, Blood Oxygen, Heart Rate, Respiratory Rate, Resting Heart Rate, Sleep and Workouts.
This list of permissions is relatively comprehensive considering the health data the Whoop wearable records. However, one huge feature not being synced appears to be Heart Rate Variability (HRV). According to Whoop, the reason behind this is because Apple records their HRV values in SDNN while Whoop records them in RMSSD:
From the list of permissions recorded, we can see the following data being synced:
- Active Energy - This data type is only synced for workouts imported from Whoop.
- Blood Oxygen - Whoop syncs a blood oxygen value to Apple every day. The value corresponds to the average blood oxygen level overnight.
- Heart Rate - The wearable records a value every minute regardless if performing a workout or not. However only one value is imported to Apple Health strangely. This value also seems rather random (9 AM reading). No other values from the Whoop are imported.
- Respiratory Rate - The average respiration rate for your sleep. We can assume that Whoop records a large amount of samples throughout the night for this data type, however these samples are not made available through the app or the web dashboard, and only an average value is presented to the user as well as synced to Apple health.
- Resting Heart Rate - Your average resting heart rate for the day. Again, this is a single value and hence is synced just once.
- Sleep - Whoop syncs sleep record to Apple Health as a session (similar to many other devices such as Garmin). Each session are annotated with two states: "asleep" and "awake". In addition to this, the Whoop Recovery score is imported for each session.
- Workouts - These are activities created by Whoop and are synced directly to Apple Health. These activities are correctly synced with activity start times, end times, activity type, duration of activity, the Strain value from Whoop, and active calories. Note that the Whoop app will also automatically import activities from other sources, provided that they do not conflict with an activity recorded directly through the Whoop app.
Limitations
There are quite a few limitations in Whoop syncing to Apple Health such as Apple Health's HRV data not being stored as the same units, sleep sessions are only divided into asleep and awake in Apple Health whereas Whoop provides a comprehensive 5 sleep stage breakdown, and fields such as disturbances in sleep, or activity zones are not provided by Apple Health.
However, given these limitations, the syncing is workable. They even managed to provide Recovery and Strain scores from the wearable. The only thing we would be looking forward to is the ability to sync the heart rate series from Whoop to Apple Health even if it's just for a workout session.
Final Remarks
With this new feature from Whoop, we are one step closer to being able to gather Whoop's data from their silos. They have been traditionally stingy with their data and have not been very co-operative in providing them to third parties. Hopefully with this next step, they are looking into opening up their API for programming hobbyist or data companies like Terra to be able to use their data to make the Health and Fitness world a better place.