The Google Health API provides data types that track a user's wrist skin
temperature: continuous raw multi-sensor telemetry
(`skin-temperature-sensors`) and daily baseline variation rollups
(`daily-sleep-temperature-derivations`).

Wrist skin temperature measures peripheral thermal dynamics at the skin
surface, capturing circadian rhythm patterns, sleep stage transitions, and
recovery trends.

> [!NOTE]
> **Note:** Skin temperature measurements reflect peripheral surface conditions rather than core body temperature. They are not intended for clinical diagnostics or fever detection.

Understand the differences between these data types to determine which metrics
suit your application.

## Supported data types

The API supports the following data types for measuring skin temperature:

<br />

| Data type | Available operations | Scope |
|---|---|---|
| **[Skin Temperature Sensors](https://developers.google.com/health/reference/rest/v4beta/users.dataTypes.dataPoints.md.txt#skintemperaturesensors)** v4beta **dataType:** `skin-temperature-sensors` **filter parameter:** `skin_temperature_sensors` **Record type:** [Sample](https://developers.google.com/health/reference/rest/v4beta/users.dataTypes.dataPoints.md.txt#ObservationSampleTime) [Vitals guide](https://developers.google.com/health/data-types/vitals.md.txt) [Skin Temperature guide](https://developers.google.com/health/data-types/skin-temperature.md.txt) [Women's Health guide](https://developers.google.com/health/data-types/womens-health.md.txt) #### Compatible devices - [Fitbit Edge](https://store.google.com/product/google_fitbit_edge) - [Pixel Watch 4](https://store.google.com/product/pixel_watch_4) - [Pixel Watch 5](https://store.google.com/product/pixel_watch_5) | list | `.health_metrics_and_measurements.readonly` `.health_metrics_and_measurements.writeonly` |
[*Table: Google Health API Skin Temperature data types*]

<br />

For clinical or diagnostic internal organ temperature (such as thermometer
measurements), use
[`core-body-temperature`](https://developers.google.com/health/data-types/vitals.md.txt#temperature).

### Read-only requirements

Physiological skin temperature records are populated exclusively by device
synchronization and are read-only through the REST API.

The following sections provide technical details and REST representation
formats for skin temperature data.

## Sensor hardware architectures

Understanding wearable sensor hardware is essential for interpreting
temperature data in the Google Health API.

### Internal device temperature

Single-sensor devices (such as Pixel Watch 3 and Fitbit Air) feature a single
internal temperature sensor positioned near the top of the device casing. This
sensor measures Internal Device Temperature (IDT).

Key characteristics of single-sensor devices:

- Measure internal hardware and ambient temperature conditions rather than direct skin contact.
- Produce uncompensated raw readings reflecting internal device conditions.
- Don't support the `skin-temperature-sensors` endpoint.
- Support `daily-sleep-temperature-derivations` using device-level thermal modeling algorithms.

### Ambient Compensated Skin Temperature

Dual-sensor devices (Pixel Watch 4, Pixel Watch 5, and Fitbit Edge) feature two
temperature sensors:

- Top sensor (IDT): Measures internal device and ambient temperature.
- Bottom sensor (Skin contact): Positions directly against the user's wrist skin.

On dual-sensor devices, the bottom sensor measures skin contact temperature
to provide Ambient Compensated Skin Temperature (ACST). Only Pixel Watch 4,
Pixel Watch 5, and Fitbit Edge feature this dual-sensor architecture and support
the `skin-temperature-sensors` endpoint. No other devices are supported.

## Device compatibility

The availability of skin temperature data types depends on the device's
sensor hardware:

1. `skin-temperature-sensors`: v4beta Continuous minutely sensor readings capturing paired internal device temperature and on-skin contact temperature from dual-sensor devices. Supported **only** on dual-sensor devices (**Pixel Watch 4** , **Pixel Watch 5** , and **Fitbit
   Edge**). Not supported on single-sensor or legacy hardware.
2. `daily-sleep-temperature-derivations`: Daily rollups representing nocturnal temperature variations relative to the user's personal baseline. This data type replaces the legacy Fitbit Web API skin temperature endpoint, which reported nightly sleep summaries rather than continuous sensor telemetry. Supported across all Pixel Watch and Fitbit devices equipped with temperature sensors (including Pixel Watch 2 and newer, Fitbit Sense series, Versa series, Charge 4 and newer, Inspire series, Luxe, Fitbit Air, and Fitbit Edge).

For the complete list of supported data types by device, see the
[Device compatibility](https://developers.google.com/health/data-types/device-compatibility.md.txt) guide.

## Interpreting temperature values and deltas

Wrist skin temperature measurements reflect peripheral surface dynamics rather
than core body temperature. Because skin temperature varies based on
environmental conditions and individual baseline physiology, don't evaluate raw
Celsius values against clinical thresholds or use them for fever detection.

### Working with deltas

Calculate and display relative deltas against baseline rather than raw
absolute values.

For daily sleep derivations, calculate the nightly deviation from baseline:

`delta = nightlyTemperatureCelsius - baselineTemperatureCelsius`

Relative deltas provide consistent, physiologically meaningful insights across
sleep sessions. For example, a user whose nightly temperature is 34.07°C with a
baseline of 33.95°C has a delta of +0.12°C relative to baseline.

## Skin Temperature Sensors

v4beta

The `skin-temperature-sensors` data type provides continuous minutely raw
sensor readings from dual-sensor hardware (Pixel Watch 4, Pixel Watch 5, and
Fitbit Edge). Each minute contains paired measurements distinguishing
`SKIN_TEMPERATURE_SENSOR` readings from `INTERNAL_DEVICE_TEMPERATURE_SENSOR`
readings. When working with granular sensor telemetry from
`skin-temperature-sensors`, developers must apply their own algorithms to filter
noise, compensate for ambient conditions, and derive actionable metrics.

### REST representation example

To query raw sensor telemetry, send a `GET` request to the `dataPoints`
endpoint:

### Request

```
GET https://health.googleapis.com/v4beta/users/me/dataTypes/skin-temperature-sensors/dataPoints?startTime=2026-07-20T00:00:00Z&endTime=2026-07-20T00:02:00Z
Authorization: Bearer access-token
Accept: application/json
```

### Response

```
{
  "dataPoints": [
    {
      "dataSource": {
        "recordingMethod": "PASSIVELY_MEASURED",
        "device": {
          "displayName": "Google Pixel Watch 4 (45mm)"
        },
        "platform": "FITBIT"
      },
      "skinTemperatureSensors": {
        "sampleTime": {
          "physicalTime": "2026-07-20T00:00:00Z",
          "utcOffset": "3600s",
          "civilTime": {
            "date": {
              "year": 2026,
              "month": 7,
              "day": 20
            },
            "time": {
              "hours": 1,
              "minutes": 0
            }
          }
        },
        "temperatureCelsius": 34.95,
        "metadata": {
          "measurementLocation": "WRIST",
          "sensorType": "SKIN_TEMPERATURE_SENSOR"
        }
      }
    },
    {
      "dataSource": {
        "recordingMethod": "PASSIVELY_MEASURED",
        "device": {
          "displayName": "Google Pixel Watch 4 (45mm)"
        },
        "platform": "FITBIT"
      },
      "skinTemperatureSensors": {
        "sampleTime": {
          "physicalTime": "2026-07-20T00:00:00Z",
          "utcOffset": "3600s",
          "civilTime": {
            "date": {
              "year": 2026,
              "month": 7,
              "day": 20
            },
            "time": {
              "hours": 1,
              "minutes": 0
            }
          }
        },
        "temperatureCelsius": 31.8,
        "metadata": {
          "measurementLocation": "WRIST",
          "sensorType": "INTERNAL_DEVICE_TEMPERATURE_SENSOR"
        }
      }
    }
  ]
}
```

## Daily Sleep Temperature Derivations

The `daily-sleep-temperature-derivations` data type reports nightly summary
statistics, including the user's average nightly temperature and their personal
baseline calculated across previous sleep sessions. This data type replaces the
legacy Fitbit Web API skin temperature endpoint, returning daily summary
variations rather than continuous intraday telemetry.

Daily sleep temperature derivations are calculated using specialized thermal
algorithms and sleep session segmentation, and are not arithmetic averages of
raw sensor readings.

### REST representation example

To query daily sleep temperature derivations, send a `GET` request to the
`dataPoints` endpoint:

### Request

```
GET https://health.googleapis.com/v4/users/me/dataTypes/daily-sleep-temperature-derivations/dataPoints?startTime=2026-07-20T00:00:00Z&endTime=2026-07-21T00:00:00Z
Authorization: Bearer access-token
Accept: application/json
```

### Response

```
{
  "dataPoints": [
    {
      "dataSource": {
        "recordingMethod": "DERIVED",
        "device": {
          "displayName": "Google Pixel Watch 4 (45mm)"
        },
        "platform": "FITBIT"
      },
      "dailySleepTemperatureDerivations": {
        "date": {
          "year": 2026,
          "month": 7,
          "day": 20
        },
        "nightlyTemperatureCelsius": 34.12,
        "baselineTemperatureCelsius": 33.95,
        "relativeNightlyStddev30dCelsius": 0.23
      }
    }
  ]
}
```

## Guidelines

When integrating skin temperature data into your application, use these
guidelines:

- Visualize user temperature changes as relative deviations from personal baseline rather than raw Celsius values.
- Verify that the user is recording with a supported dual-sensor device (Pixel Watch 4, Pixel Watch 5, or Fitbit Edge) when querying `skin-temperature-sensors`, or handle empty data responses gracefully. To check a user's paired device model, see the [Find device information](https://developers.google.com/health/endpoints.md.txt#find-device-information) example in the Endpoints guide.
- Combine nightly temperature variations with `sleep` session data to provide contextual recovery insights.
- Apply custom analytical algorithms when working with granular `skin-temperature-sensors` telemetry, and avoid calculating averages to reproduce nightly baselines because daily derivations rely on specialized thermal models and sleep tracking.
- Clearly explain why temperature metrics are collected and why the `health_metrics_and_measurements` scope is required before prompting users for authorization.