I’ve been a paying member for a while and recently started building a personal dashboard with my Whoop data. I was surprised by how little of my own data I can actually pull out — through the developer API, through the manual data export, through anything.
This isn’t a complaint about one specific channel. I don’t care if it’s a JSON endpoint or a CSV in the export zip. I just want access.
Three concrete examples of data I have no way to get:
-
Weight history. I weigh in daily through the app. The
/user/measurement/bodyendpoint only returns a single current snapshot, and the manual export doesn’t include body measurements at all. The data I’m logging is captured by Whoop, shown back to me on a graph in the app, and then walled off. There’s no technical reason it couldn’t be a time series in either channel. -
Intraday heart rate. The strap samples HR continuously, but the API only exposes per-workout/per-cycle aggregates (avg, max) plus zone durations — no 1-minute, 5-minute, or even 1-hour resolution. The export doesn’t have it either.
- Worse: if I enable HR export to Apple Health and then pull it from HealthKit, I get continuous HR at least during workouts. That’s an absurd state of affairs — Apple, a third party, exposes my Whoop data better than Whoop does.
-
Sleep stage epochs. The app shows me a beautiful hypnogram with light/SWS/REM transitions over time. Both the API and the export only return per-stage totals. Same data, less granular, no good reason.
I get wanting users in the Whoop app — fair. But the people who actually want raw access are your most engaged members. We’re not trying to rebuild Whoop; we’re trying to combine Whoop data with everything else in our lives.
Concrete asks (delivered however — API, export zip, doesn’t matter):
-
Weight history as a time series.
-
Intraday heart rate, at least at 1-minute resolution.
-
Sleep stage time series (30-second epochs) instead of just totals.
It’s our data. Please make it easier to use it.