Stress Tracking API
Stress data from every wearable, in one schema
Vendor stress scores and the electrodermal and HRV-derived signals underneath them.

2/3
providers connectable today
3
webhook event types
Canonical unit
provider-defined score; EDA in microsiemens
What stress looks like through one API
Stress scores on consumer wearables are almost always a transformation of heart-rate variability, sometimes combined with activity and, on a few devices, electrodermal activity. No device measures stress; they measure autonomic arousal and label it.
That labelling is the problem. Autonomic arousal from a hard interval session and arousal from a difficult meeting look similar to the sensor, and vendors handle the ambiguity differently — some suppress stress scoring during detected exercise, some do not. A user who trains hard will see a "high stress" day that reflects training load.
WearLink delivers the vendor score attributed to its source and keeps Garmin's continuous stress level as its own series, alongside electrodermal activity where the hardware reports it. If you need a signal you can explain to users, the HRV streams are the more honest foundation.
Where providers disagree
Exercise and stress are hard to separate
Both raise arousal. Vendors differ in whether they mask stress scoring during workouts. Cross-referencing against the workout stream before surfacing a "stressed" state avoids telling users their training session was a bad day.
Scales are proprietary and not comparable
Garmin, Fitbit and Samsung each define their own range and thresholds. A 60 on one is not a 60 on another, and there is no published mapping.
EDA is session-based, not continuous
Electrodermal activity on consumer hardware is captured during a deliberate short session rather than passively all day, so it produces sparse point-in-time data rather than a timeline.
Coverage collapses whenever the device comes off
Stress scoring needs near-continuous heart-rate variability sampling, which stops the moment a watch goes on the charger. Vendors handle the resulting hole differently — some emit nulls, some carry the last value forward, some quietly interpolate — and none of them label which they did. A user who charges mid-afternoon every day will show a systematic pattern that is an artefact of their charging habit rather than their life. Check sample density before averaging a day, and treat a sparse day as missing rather than calm.
Webhook events for stress
Summary: stress.created
Series streams:
series.garmin_stress_level.createdseries.electrodermal_activity.created
The full catalogue is in the event catalogue.
FAQ
Stress — frequently asked questions
What is a wearable stress score actually measuring?
Which providers report stress through WearLink?
Should I show users the vendor score or build my own?
Get stress from every device your users own
Free for up to 3 connected users. No credit card. Your first API key is issued the moment you sign up.