Skip to content

Body Temperature API

Body & Skin Temperature data from every wearable, in one schema

Absolute and deviation-based temperature streams — kept separate, because they are not the same signal.

Body & Skin Temperature visualisation

4/6

providers connectable today

6

webhook event types

Canonical unit

degrees Celsius; deviations in degrees relative to a personal baseline

What body & skin temperature looks like through one API

Temperature is the metric where the difference between an absolute reading and a deviation matters most, and where providers are least clear about which one they are giving you. Oura reports a deviation from the user's own overnight baseline. Others report an absolute skin temperature. A value of "0.3" and a value of "34.8" are both temperature, and code that treats them as one field produces nonsense.

WearLink keeps them as distinct streams — series.skin_temperature.created for absolute, series.skin_temperature_deviation.created and series.skin_temperature_trend_deviation.created for baseline-relative — and does not attempt to convert between them, because converting requires the baseline, which is provider-internal.

Skin temperature is not core body temperature. It is measured at the wrist or finger, tracks ambient conditions, and is useful primarily as a night-over-night deviation signal for illness onset and cycle tracking rather than as a clinical thermometer.

Where providers disagree

Deviation and absolute are different fields, not different units

A deviation is meaningless without the baseline that produced it, and the baseline is not exposed by any provider. You cannot reconstruct an absolute temperature from a deviation, and you should not try.

Skin temperature is not core temperature

Wrist and finger measurements are influenced by ambient temperature, bedding and circulation. They are a legitimate trend signal and not a substitute for a thermometer. Products that present them as fever readings invite both user harm and regulatory attention.

Cycle-tracking use is regulated in some jurisdictions

Temperature-based cycle and fertility inference moves a product into a regulated category in several markets. The data is available; the claims you attach to it are what determine your obligations.

A baseline takes days to establish, and nothing says so

Deviation-based temperature is meaningless until the provider has collected enough nights to build a personal baseline, typically one to two weeks. During that window some providers return null and others return a deviation computed against a partial baseline that will shift underneath you as more nights land. Early readings for a new user are therefore not just noisy but systematically unstable, and retrospective values can change. If your product does illness detection, suppress it until the user has enough history rather than firing alerts on a baseline that has not settled.

Webhook events for body & skin temperature

Summary: body_temperature.created

Series streams:

  • series.body_temperature.created
  • series.skin_temperature.created
  • series.skin_temperature_deviation.created
  • series.skin_temperature_trend_deviation.created
  • series.garmin_skin_temperature.created

The full catalogue is in the event catalogue.

FAQ

Body & Skin Temperature — frequently asked questions

Does Oura report absolute temperature?
Oura reports a deviation from the user's own baseline, not an absolute value. WearLink delivers it on the deviation stream so it is never mistaken for a thermometer reading.
Can I detect illness onset from this data?
Sustained positive deviation over consecutive nights is the signal most products use, and it does correlate with illness onset. It is a trend indicator, not a diagnosis, and should be presented as one.
Which devices report temperature through WearLink?
Oura, WHOOP, Ultrahuman and Eight Sleep on the cloud side, plus Apple Health and Samsung Health via SDK. Coverage depends on hardware generation.

Get body & skin temperature 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.