
WHOOP
Enable WHOOP through your Terra dashboard
Select a Wearable
WHOOP
Connect users to your app
0. "active_durations_data":{...}
1. "calories_data": {...}
2. "device_data": {...}
3. "distance_data": {...}
4. "heart_rate_data": {...}
5. "movement_data": {...}
6. "position_data": {...}
Start receiving data from WHOOP on your app or website



When data is available from a WHOOP device, Terra sends it straight to your webhook. During your Terra account setup you'll be prompted for a callback URL, and that is where Terra POSTs each payload.

WHOOP notifies Terra as soon as new data is available, and we POST the normalized payload straight to your webhook. No polling needed.
Terra API preserves the raw data from the wearable, it just standardizes the units and the json format. It doesn’t augment or change the raw data in any way.
Data is organized into one of 6 data types.
Learn More
Activity Payload (JSON)
{
active_durations_data: { ... }
calories_data: { ... }
data_enrichment: { ... }
distance_data: { ... }
energy_data: { ... }
heart_rate_data: { ... }
metadata: { ... }
work_data: { ... }
}
Data can also be sent as a FIT File or with the FHIR Format.
Can't Find Your Question?
Terra API integrates with any WHOOP device currently supported by WHOOP.
Research and writing from the Terra team on WHOOP.
In this podcast with Kyriakos the CEO of Terra, John Anthony shares his journey through the development of an AI-based swim watch and other health-focused products.
Kyriakos Eleftheriou
We analyzed sleep data from 77,000+ nights across six major wearables, then zoomed in on same-person, same-night overlaps to isolate true device differences. The headline: most trackers converge on sleep duration — averages cluster around ~7 hours and median night-to-night differences are typically ~15–22 minutes. But once you break sleep into stages, agreement falls apart: REM, deep, and light can diverge by hours in direct comparisons, highlighting how much staging depends on each company’s sensors and algorithms. The takeaway is practical: trust trends in total sleep time, treat stage minutes as directional, and avoid over-optimizing for a “perfect” score when the underlying measurements don’t match.
Alistair Brownlee
December 2025: disconnecting a user now revokes access at the provider, force backfill returns history on demand, Catapult joins the catalogue, and Vantage opens early access.
Alex Venetidis
WHOOP Integration series Part 4: Data from TERRA API Continuing our Integration series on WHOOP, we are discussing the data available from our API when fetching data from
Elliott Yu
WHOOP Integration series Part 3: Integrating with Terra API Adding WHOOP as an integration to your app is fairly straightforward thanks to the standardized integration me
Elliott Yu
WHOOP Integration series Part 2: Data available from the API With WHOOP's recent announcement of their open API, we at Terra were very excited to see what we can get from
Elliott Yu
WHOOP Integration series Part 1: Getting started with Rest APIs For years, Garmin, Fitbit, Polar, and other fitness tracking companies have allowed their developer enthus
Elliott Yu
HRV Comparison: Eightsleep vs. WHOOP TL;DR Average HRV readings during sleep from Eightsleep and WHOOP were measured over the course of a week. Eightsleep's HRV readings
Jacob Bulbul
HRV Comparison: Oura vs WHOOP Every week, we are comparing wearables and sensors. For this week, we are continuing our comparisons on HRV, with WHOOP and Oura. We discuss
Jacob Bulbul
WHOOP is now available through Terra API Since the early days of Terra, customers have been asking us about integrating with WHOOP. After many requests, we started discus
Elliott Yu
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.
Elliott Yu
These integrations also offer Activity, Body, Daily and Sleep data.
Cookie Preferences
Crunch Time: Embrace the Cookie Monster Within!
We use cookies to enhance your browsing experience and analyse our traffic. By clicking “Accept All”, you consent to our use of cookies according to our Cookie Policy. You can change your mind any time by visiting out cookie policy.