Apple Health integration

How to integrate with the Apple Health SDK: ROOK simplifies access to Apple Health SDK wearable data for health, fitness, and insurance apps.

Apple Health to ROOK Connect to Your backend: how Apple Health data reaches your product through ROOK.

How it connects

ROOK reads Apple Health data on the phone through its mobile SDKs.

ROOK's SDK delivers body metrics, physical activity and sleep from Apple Health as structured JSON, by webhook and API.

Leverage Apple Health data to personalize user experiences, driving higher engagement and retention.

Our Apple Health integration delivers notifications within minutes after a user completes an event and syncs their app.

Read the Apple Health docs
ROOK Connectphysical_summary · JSON
{  "data_structure": "physical_summary",  "user_id": "demo-user-01",  "physical_health": { "summary": { "physical_summary": {    "metadata": {      "sources_of_data_array": ["Apple Health"]    },    "distance": {      "steps_int": 8432,      "active_steps_int": 6120,      "walked_distance_meters_float": 6180.0    },    "activity": { "active_seconds_int": 3240 }  } } }}
ROOK Connectsleep_summary · JSON
{  "data_structure": "sleep_summary",  "user_id": "demo-user-01",  "sleep_health": { "summary": { "sleep_summary": {    "metadata": {      "sources_of_data_array": ["Apple Health"]    },    "duration": {      "sleep_duration_seconds_int": 26400,      "deep_sleep_duration_seconds_int": 6300,      "rem_sleep_duration_seconds_int": 5400    },    "heart_rate": { "hr_resting_bpm_int": 56 }  } } }}
ROOK Connectbody_summary · JSON
{  "data_structure": "body_summary",  "user_id": "demo-user-01",  "body_health": { "summary": { "body_summary": {    "metadata": {      "sources_of_data_array": ["Apple Health"]    },    "heart_rate": {      "hr_avg_bpm_int": 67,      "hr_resting_bpm_int": 58    },    "oxygenation": { "saturation_avg_percentage_int": 97 }  } } }}

Available data

The Apple Health data ROOK delivers.

Every field below comes from the Apple Health documentation and arrives in ROOK's standard structure, whatever device the user wears.

Physical health

physical activity event27 fields

  • floors_climbed_granular_data_array
  • saturation_granular_data_array
  • activity_type_name_string
  • vo2max_mL_per_min_per_kg_int
  • steps_granular_data_array
  • swimming_num_strokes_float
  • hr_minimum_bpm_int
  • hrv_avg_sdnn_float
  • swimming_total_distance_meters_float
  • hr_maximum_bpm_int
  • calories_net_active_kcal_float
  • activity_duration_seconds_int
  • swimming_distance_granular_data_array
  • traveled_distance_meters_float
  • walked_distance_meters_float
  • saturation_avg_percentage_int
  • activity_start_datetime_string
  • hr_granular_data_array
  • floors_climbed_float
  • activity_end_datetime_string
  • calories_expenditure_kcal_float
  • traveled_distance_granular_data_array
  • steps_int
  • hr_avg_bpm_int
  • active_seconds_int
  • calories_basal_metabolic_rate_kcal_float
  • hr_resting_bpm_int

physical summary24 fields

  • saturation_granular_data_array
  • hrv_sdnn_granular_data_array
  • hr_minimum_bpm_int
  • steps_granular_data_array
  • active_steps_granular_data_array
  • swimming_num_strokes_float
  • hrv_avg_sdnn_float
  • steps_int
  • swimming_total_distance_meters_float
  • hr_maximum_bpm_int
  • calories_net_active_kcal_float
  • swimming_distance_granular_data_array
  • traveled_distance_meters_float
  • walked_distance_meters_float
  • saturation_avg_percentage_int
  • hr_granular_data_array
  • floors_climbed_float
  • traveled_distance_granular_data_array
  • hr_avg_bpm_int
  • active_seconds_int
  • floors_climbed_granular_data_array
  • calories_basal_metabolic_rate_kcal_float
  • hr_resting_bpm_int
  • active_steps_int

physical heart rate event7 fields

  • hrv_sdnn_granular_data_array
  • hr_avg_bpm_int
  • hrv_avg_sdnn_float
  • hr_granular_data_array
  • hr_minimum_bpm_int
  • hr_maximum_bpm_int
  • hr_resting_bpm_int

physical steps event1 field

  • accumulated_steps_int

Sleep health

sleep summary24 fields

  • deep_sleep_duration_seconds_int
  • time_in_bed_seconds_int
  • sleep_date_string
  • rem_sleep_duration_seconds_int
  • saturation_granular_data_array
  • breaths_minimum_per_min_int
  • light_sleep_duration_seconds_int
  • hr_minimum_bpm_int
  • saturation_maximum_percentage_int
  • saturation_minimum_percentage_int
  • sleep_start_datetime_string
  • breaths_avg_per_min_int
  • hrv_avg_sdnn_float
  • hr_maximum_bpm_int
  • hrv_sdnn_granular_data_array
  • time_awake_during_sleep_seconds_int
  • saturation_avg_percentage_int
  • hr_granular_data_array
  • breaths_maximum_per_min_int
  • breathing_granular_data_array
  • sleep_end_datetime_string
  • hr_avg_bpm_int
  • sleep_duration_seconds_int
  • hr_resting_bpm_int

Body health

body summary29 fields

  • saturation_granular_data_array
  • vo2max_mL_per_min_per_kg_int
  • hrv_sdnn_granular_data_array
  • temperature_avg_object
  • blood_glucose_avg_mg_per_dL_int
  • hr_minimum_bpm_int
  • sugar_intake_g_float
  • fiber_intake_g_float
  • calories_intake_kcal_float
  • bmi_float
  • blood_pressure_granular_data_array
  • hrv_avg_sdnn_float
  • hr_maximum_bpm_int
  • sodium_intake_mg_float
  • temperature_minimum_object
  • protein_intake_g_float
  • weight_kg_float
  • saturation_avg_percentage_int
  • hr_granular_data_array
  • carbohydrates_intake_g_float
  • blood_pressure_avg_object
  • cholesterol_intake_mg_float
  • blood_glucose_granular_data_array
  • temperature_granular_data_array
  • height_cm_int
  • fat_intake_g_float
  • hr_avg_bpm_int
  • temperature_maximum_object
  • hr_resting_bpm_int

body blood glucose event3 fields

  • blood_glucose_granular_data_array
  • blood_glucose_avg_mg_per_dL_int
  • device_source_data_array

body blood pressure event3 fields

  • blood_pressure_granular_data_array
  • blood_pressure_avg_object
  • device_source_data_array

body metrics event4 fields

  • bmi_float
  • weight_kg_float
  • waist_circumference_cm_int
  • height_cm_int

body heart rate event7 fields

  • hrv_sdnn_granular_data_array
  • hr_avg_bpm_int
  • hrv_avg_sdnn_float
  • hr_granular_data_array
  • hr_minimum_bpm_int
  • hr_maximum_bpm_int
  • hr_resting_bpm_int

body oxygenation event4 fields

  • vo2max_mL_per_min_per_kg_int
  • saturation_granular_data_array
  • saturation_avg_percentage_int
  • device_source_data_array

body temperature event5 fields

  • temperature_avg_object
  • temperature_maximum_object
  • temperature_granular_data_array
  • temperature_minimum_object
  • device_source_data_array

body ecg event7 fields

  • start_datetime_string
  • end_datetime_string
  • duration_ms_float
  • hr_avg_bpm_int
  • sampling_frequency_hz_int
  • ecg_granular_data_array
  • device_source_data_array

Get started

Connect Apple Health in three steps.

  1. Enable Apple Health in the ROOK portalTurn Apple Health on as a data source for your client in the ROOK portal.
  2. Let users connect Apple Health on their phoneUsers grant access to Apple Health in your app through the ROOK SDK or ROOK App.
  3. Receive standardized dataROOK turns Apple Health data into the same JSON structure as every other data source and delivers it to your backend by webhook and API.

Use cases

What teams build with Apple Health data.

From seamless wearable integrations to advanced health insights, ROOK empowers you to build personalized wellness apps, research platforms, fitness dashboards, chronic care solutions and many more great use cases.

More data sources

More data sources ROOK reads through its mobile SDKs.

FAQ

Frequently asked questions about the Apple Health integration

What teams ask before they connect Apple Health through ROOK.

What Apple Health data can I get through ROOK?

ROOK extracts 145 Apple Health fields covering physical activity, sleep and body and vital signs data, grouped into summaries and events. The data each user shares depends on the permissions they grant when they connect Apple Health.

How quickly does Apple Health data reach my backend?

Our Apple Health integration delivers notifications within minutes after a user completes an event and syncs their app.

Do I need my own Apple Health developer account?

No. ROOK handles the Apple Health connection, so you only enable Apple Health as a data source in the ROOK portal.

How does ROOK connect to Apple Health?

Through ROOK's mobile SDKs, because Apple Health keeps its data on the phone. ROOK App offers the same connection without building a mobile app.

Read the Apple Health documentation
Still have questions?Our team can review your sources and use case with you.
Schedule a demo

Articles on Apple Health from the ROOK blog

Build on better health data

Turn fragmented health data into your next product advantage.

Connect the sources your users rely on, standardize what comes back, and build workflows that respond to change.

Newsletter

Stay in the loop.

Sign up with your email address to receive news and updates from the ROOK team.

We respect your privacy. Read our privacy policy.