Data Logs

Introduction

Raw health data, unfiltered. Data Logs provide granular, timestamped samples directly from HealthKit and Health Connect—ideal for research, clinical studies, and custom analytics.

Need processed data instead?

Most use cases are better served by Biomarkers —deduplicated, aggregated, and ready to use. Use Data Logs only when you need the raw samples.


Key Features

Raw & Unfiltered

Direct access to granular health samples for research and analysis

Multi-Source

Data from HealthKit, Health Connect, and wearables in one stream

Real-time Streaming

Receive data as it's recorded via webhooks

Research-Grade

Timestamped, source-attributed records for clinical use

Complete Provenance

Know exactly which device and app recorded each sample

Flexible Filtering

Filter by log type, data type, or time range


List of Data Logs

Below are the key data types captured in Data Logs, categorized by their respective health aspects. The logs can be streamed via webhooks for real-time data reception.

Activity Logs

Data Type Unit Description Requires Wearable
exercise_time minute Duration of physical exercise. No
floors_climbed count Number of floors climbed. No
stand_time minute Time spent standing. No
steps count Total steps taken. No

Blood Logs

Data Type Unit Description Requires Wearable
blood_glucose mg/dL Glucose levels in the blood. Yes
blood_pressure_diastolic mmHg Diastolic blood pressure. Yes
blood_pressure_systolic mmHg Systolic blood pressure. Yes

Body Logs

Data Type Unit Description Requires Wearable
body_fat percent Percentage of body fat. Yes
body_mass_index count Body Mass Index (BMI). No
lean_body_mass kg Weight of lean body mass. Yes
weight kg Total body weight. No

Device Logs

Data Type Unit Description Requires Wearable
device_lock boolean Indicates if the device is locked. No

Energy Logs

Data Type Unit Description Requires Wearable
active_energy_burned kcal Calories burned through activity. No
basal_energy_burned kcal Calories burned at rest. No
time_in_daylight minute Time spent in natural daylight. No

Exercise Logs

Data Type Unit Description Requires Wearable
exercise session * minute Duration spent doing specified exercise type. See all supported exercise types No
exercise_session_biking minute Duration spent cycling or biking No
exercise_session_running minute Duration spent running or jogging No
exercise_session_walking minute Duration spent walking for exercise No

Heart Logs

Data Type Unit Description Requires Wearable
heart_rate bpm Beats per minute. Yes
heart_rate_variability ms Variation in intervals between heartbeats. Yes
heart_rate_variability_sdnn ms Standard deviation of NN intervals. Yes
resting_heart_rate bpm Heart rate at rest. Yes
walking_heart_rate_average bpm Average heart rate while walking. Yes

Nutrition Logs

Sourced from HealthKit and Health Connect dietary entries. Values are per-record intake amounts as logged in the source app, not daily aggregates.

Data Type Unit Description Requires Wearable
energy_intake kcal Total energy consumed from food and beverages. No
water_intake L Volume of water consumed. No
protein_intake g Protein consumed. No
fat_intake g Total dietary fat consumed. No
fat_saturated_intake g Saturated fat consumed. No
fat_monounsaturated_intake g Monounsaturated fat consumed. No
fat_polyunsaturated_intake g Polyunsaturated fat consumed. No
fat_trans_intake g Trans fat consumed. Android only. No
cholesterol_intake mg Dietary cholesterol consumed. No
carbohydrate_intake g Total carbohydrates consumed. No
sugar_intake g Sugars consumed. No
fiber_intake g Dietary fiber consumed. No
vitamin_a_intake µg Vitamin A consumed. No
vitamin_c_intake mg Vitamin C consumed. No
vitamin_d_intake µg Vitamin D consumed. No
vitamin_e_intake mg Vitamin E consumed. No
vitamin_k_intake µg Vitamin K consumed. No
thiamin_intake mg Thiamin (vitamin B1) consumed. No
riboflavin_intake mg Riboflavin (vitamin B2) consumed. No
niacin_intake mg Niacin (vitamin B3) consumed. No
pantothenic_acid_intake mg Pantothenic acid (vitamin B5) consumed. No
vitamin_b6_intake mg Vitamin B6 consumed. No
biotin_intake µg Biotin (vitamin B7) consumed. No
folate_intake µg Folate (vitamin B9) consumed. No
vitamin_b12_intake µg Vitamin B12 consumed. No
calcium_intake mg Calcium consumed. No
iron_intake mg Iron consumed. No
magnesium_intake mg Magnesium consumed. No
phosphorus_intake mg Phosphorus consumed. No
potassium_intake mg Potassium consumed. No
sodium_intake mg Sodium consumed. No
zinc_intake mg Zinc consumed. No
chloride_intake mg Chloride consumed. No
copper_intake mg Copper consumed. No
manganese_intake mg Manganese consumed. No
chromium_intake µg Chromium consumed. No
molybdenum_intake µg Molybdenum consumed. No
selenium_intake µg Selenium consumed. No
iodine_intake µg Iodine consumed. No
caffeine_intake mg Caffeine consumed. No

Oxygen Logs

Data Type Unit Description Requires Wearable
oxygen_saturation percent Percentage of oxygen-saturated hemoglobin. Yes
respiratory_rate bps Breaths per second. Yes
vo2_max ml/kg/min Maximum rate of oxygen consumption during exercise. Yes

Sleep Logs

Data Type Unit Description Requires Wearable
sleep_stage_awake minute Duration in awake stage. Yes
sleep_stage_deep minute Duration in deep sleep stage. Yes
sleep_stage_in_bed minute Duration in bed, not necessarily asleep. No
sleep_stage_light minute Duration in light sleep stage. Yes
sleep_stage_rem minute Duration in REM sleep stage. Yes
sleep_stage_sleeping minute Duration spent asleep/sleeping. No

Temperature Logs

Data Type Unit Description Requires Wearable
basal_body_temperature degC Body temperature at rest. Yes
sleeping_wrist_temperature degC Temperature measured at the wrist during sleep Yes

Browse our comprehensive data dictionary to view all available outputs beyond just data logs.

Output Schema for Data Logs

When you receive data from Data Logs, it comes in a structured format.

logType string

Log category: activity, sleep, heart, body, energy, nutrition, etc.

dataType string

Specific data type (e.g., steps, heart_rate)

externalId string

The identifier for the profile that sent the log

receivedAtUtc datetime

UTC timestamp when the log was received

dataLogs DataLog[]

Array of individual data samples

Example Response
json
[
{
"logType": "activity",
"dataType": "steps",
"externalId": "ext-789",
"receivedAtUtc": "2023-06-26T12:34:56+00:00",
"dataLogs": [
{
"id": "123e4567-e89b-12d3-a456-426614174003",
"parentId": null,
"value": 10000,
"unit": "count",
"source": "iPhone X",
"recordingMethod": "RECORDING_METHOD_AUTOMATICALLY_RECORDED",
"deviceType": "iPhone13,2",
"startDateTime": "2023-06-25T00:00:00+00:00",
"endDateTime": "2023-06-25T23:59:59+00:00",
"additionalProperties": {}
}
]
}
]
Object

DataLog

Each entry in the dataLogs array contains:

id UUID

Unique identifier for this sample

parentId UUID nullable

Parent record ID for hierarchical data

value float

The recorded measurement value

unit string

Unit of measurement (e.g., count, bpm)

source string

Device or app that recorded the data

recordingMethod string

How the data was captured (automatic, manual, etc.)

deviceType string

Device model identifier

startDateTime datetime

When the measurement started (ISO 8601)

endDateTime datetime

When the measurement ended (ISO 8601)

additionalProperties object

Extra metadata specific to certain log types


FAQ

What's the difference between Data Logs and Biomarkers?

Data Logs are raw samples with full provenance. Biomarkers are processed, deduplicated, and aggregated—ready for most use cases.

How do I receive Data Logs?

Subscribe to Data Log webhooks in the dashboard. Logs are streamed in real-time as they're recorded.

Can I filter by data type?

Yes. Configure your webhook to receive only specific log types (e.g., only sleep or heart data).


Getting Started

Data Logs are delivered exclusively via webhooks for real-time streaming.


Support

For help with Data Logs, reach out in the Slack community or contact support@sahha.ai .

Previous
Tags