Skip to main content

Polar

By integrating the ROOK API, you gain access to Polar data, enabling you to retrieve body, physical, and sleep information from your linked users. Our API collects raw data from Polar, transforms it into structured data, and delivers it in JSON format via webhooks or API queries.

Polar.png

Polar Available Data

This is the data available from Polar that ROOK extracts:

Body Health

{
"body_summary": [
"saturation_granular_data_array",
"alcohol_intake_g_float",
"vo2max_mL_per_min_per_kg_int",
"mood_avg_scale_int",
"hrv_sdnn_granular_data_array",
"hrv_avg_rmssd_float",
"temperature_avg_object",
"blood_glucose_avg_mg_per_dL_int",
"hr_minimum_bpm_int",
"waist_circumference_cm_int",
"sugar_intake_g_float",
"mood_delta_scale_int",
"fiber_intake_g_float",
"calories_intake_kcal_float",
"chest_circumference_cm_int",
"blood_pressure_granular_data_array",
"mood_minimum_scale_int",
"bmi_float",
"hip_circumference_cm_int",
"hrv_avg_sdnn_float",
"hydration_level_granular_data_array",
"hr_maximum_bpm_int",
"sodium_intake_mg_float",
"temperature_minimum_object",
"muscle_composition_percentage_int",
"bone_composition_percentage_int",
"trans_fat_intake_g_floatr",
"mood_maximum_scale_int",
"mood_granular_data_array",
"protein_intake_g_float",
"weight_kg_float",
"saturation_avg_percentage_int",
"hr_granular_data_array",
"hrv_rmssd_granular_data_array",
"carbohydrates_intake_g_float",
"hydration_amount_granular_data_array",
"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",
"water_total_consumption_mL_int",
"temperature_maximum_object",
"hr_resting_bpm_int"
]
}

Physical Health

{
"physical_activity_event": [
"carbohydrate_percentage_of_calories_int",
"activity_type_name_string",
"activity_duration_seconds_int",
"fat_percentage_of_calories_int",
"protein_percentage_of_calories_int",
"hr_avg_bpm_int",
"activity_start_datetime_string",
"hr_maximum_bpm_int",
"activity_end_datetime_string",
"calories_net_active_kcal_float"
],
"physical_summary": [
"saturation_granular_data_array",
"vo2max_mL_per_min_per_kg_int",
"vo2_granular_data_array",
"stress_maximum_level_int",
"hrv_sdnn_granular_data_array",
"hrv_avg_rmssd_float",
"elevation_planned_gain_meters_float",
"low_intensity_seconds_int",
"hr_minimum_bpm_int",
"high_stress_duration_seconds_int",
"stress_granular_data_array",
"steps_granular_data_array",
"stress_duration_seconds_int",
"elevation_granular_data_array",
"active_steps_granular_data_array",
"swimming_num_strokes_float",
"stress_at_rest_duration_seconds_int",
"vigorous_intensity_seconds_int",
"hrv_avg_sdnn_float",
"steps_int",
"elevation_maximum_altitude_meters_float",
"calories_net_intake_kcal_float",
"hr_maximum_bpm_int",
"swimming_total_distance_meters_float",
"calories_net_active_kcal_float",
"swimming_num_laps_int",
"swimming_pool_length_meters_float",
"elevation_loss_actual_altitude_meters_float",
"elevation_minimum_altitude_meters_float",
"stress_avg_level_int",
"swimming_distance_granular_data_array",
"traveled_distance_meters_float",
"rest_seconds_int",
"elevation_avg_altitude_meters_float",
"elevation_gain_actual_altitude_meters_float",
"walked_distance_meters_float",
"saturation_avg_percentage_int",
"hr_granular_data_array",
"continuous_inactive_periods_int",
"activity_level_granular_data_array",
"hrv_rmssd_granular_data_array",
"floors_climbed_float",
"low_stress_duration_seconds_int",
"inactivity_seconds_int",
"calories_expenditure_kcal_float",
"medium_stress_duration_seconds_int",
"traveled_distance_granular_data_array",
"hr_avg_bpm_int",
"active_seconds_int",
"floors_climbed_granular_data_array",
"moderate_intensity_seconds_int",
"calories_basal_metabolic_rate_kcal_float",
"hr_resting_bpm_int",
"active_steps_int"
]
}

Sleep Health

{
"sleep_summary": [
"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",
"hrv_avg_rmssd_float",
"hr_minimum_bpm_int",
"saturation_maximum_percentage_int",
"saturation_minimum_percentage_int",
"sleep_start_datetime_string",
"time_to_fall_asleep_seconds_int",
"hr_basal_bpm_int",
"breaths_avg_per_min_int",
"hrv_avg_sdnn_float",
"sleep_continuity_1_5_rating_int",
"hr_maximum_bpm_int",
"snoring_duration_total_seconds_int",
"hrv_sdnn_granular_data_array",
"sleep_efficiency_1_100_score_int",
"sleep_quality_rating_1_5_score_int",
"time_awake_during_sleep_seconds_int",
"saturation_avg_percentage_int",
"hr_granular_data_array",
"sleep_goal_seconds_int",
"breaths_minimum_per_min_int",
"breathing_granular_data_array",
"sleep_continuity_1_5_score_int",
"snoring_events_count_int",
"sleep_end_datetime_string",
"temperature_granular_data_array",
"snoring_granular_data_array",
"hr_avg_bpm_int",
"sleep_duration_seconds_int",
"hrv_rmssd_granular_data_array",
"hr_resting_bpm_int"
]
}
note

The data you receive depends on the permissions granted by the user when linking their data source.

Data Delivery

Our Polar integration delivers notifications within minutes after a user completes an event and syncs their app. ROOK retrieves, processes, and delivers the data through our SDKs, providing you with user insights efficiently.

Start Extracting Polar Data

To begin extracting health data from Polar, follow these steps:

Step 1: Enable Data Source

Integrate Polar into your application or digital solution through the endpoint provided by ROOK.

Switch Polar.png

Step 2: Set Up Your Connections Page

Enable the Polar data source on the connections page to allow your users to connect.

Connect Polar.png

Step 3: Receive Your Users' Data

Once users connect to the data source, you will start receiving their data. Utilize this data to its full potential.

{
"version":[],
"data_structure": "",
"client_uuid": "",
"user_id": "",
"body_health": {},
"physical_health": {},
"Sleep_health": {},
}