Garmin integration

How to integrate with the Garmin API: ROOK simplifies access to Garmin wearable data for health, fitness, and insurance apps.

Garmin to Garmin cloud to ROOK Connect to Your backend: how Garmin data reaches your product through ROOK.

How it connects

ROOK connects to Garmin through its cloud API.

ROOK's Garmin Web API integration delivers body metrics, physical activity and sleep data from Garmin devices as structured JSON, by webhook and API.

Utilize Garmin data to personalize user experiences, boosting engagement and retention.

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

Read the Garmin docs
ROOK Connectphysical_summary · JSON
{  "data_structure": "physical_summary",  "user_id": "demo-user-01",  "physical_health": { "summary": { "physical_summary": {    "metadata": {      "sources_of_data_array": ["Garmin"]    },    "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": ["Garmin"]    },    "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": ["Garmin"]    },    "heart_rate": {      "hr_avg_bpm_int": 67,      "hr_resting_bpm_int": 58    },    "oxygenation": { "saturation_avg_percentage_int": 97 }  } } }}

Available data

The Garmin data ROOK delivers.

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

Physical health

physical summary25 fields

  • active_seconds_int
  • calories_basal_metabolic_rate_kcal_float
  • calories_expenditure_kcal_float
  • calories_net_active_kcal_float
  • floors_climbed_float
  • high_stress_duration_seconds_int
  • hr_avg_bpm_int
  • hr_granular_data_array
  • hr_maximum_bpm_int
  • hr_minimum_bpm_int
  • hr_resting_bpm_int
  • low_stress_duration_seconds_int
  • medium_stress_duration_seconds_int
  • moderate_intensity_seconds_int
  • saturation_avg_percentage_int
  • saturation_granular_data_array
  • steps_int
  • stress_at_rest_duration_seconds_int
  • stress_avg_level_int
  • stress_duration_seconds_int
  • stress_granular_data_array
  • stress_maximum_level_int
  • traveled_distance_meters_float
  • vigorous_intensity_seconds_int
  • vo2max_mL_per_min_per_kg_int

activity event28 fields

  • activity_duration_seconds_int
  • activity_end_datetime_string
  • activity_start_datetime_string
  • activity_type_name_string
  • cadence_avg_rpm_float
  • cadence_maximum_rpm_float
  • calories_net_active_kcal_float
  • elevation_gain_actual_altitude_meters_float
  • elevation_loss_actual_altitude_meters_float
  • hr_avg_bpm_int
  • hr_maximum_bpm_int
  • pace_avg_min_per_km_float
  • position_start_object
  • speed_maximum_meters_per_second_float
  • steps_int
  • traveled_distance_meters_float
  • velocity_avg_object
  • speed_avg_meters_per_second_float
  • pace_maximum_min_per_km_float
  • cadence_granular_data_array
  • elevation_granular_data_array
  • hr_minimum_bpm_int
  • hr_granular_data_array
  • speed_granular_data_array
  • steps_granular_data_array
  • traveled_distance_granular_data_array
  • power_granular_data_array
  • position_granular_data_array

oxygenation event2 fields

  • saturation_avg_percentage_int
  • saturation_granular_data_array

stress event3 fields

  • stress_avg_level_int
  • stress_maximum_level_int
  • stress_granular_data_array

steps event1 field

  • accumulated_steps_int

Sleep health

sleep summary21 fields

  • breathing_granular_data_array
  • breaths_avg_per_min_int
  • breaths_maximum_per_min_int
  • breaths_minimum_per_min_int
  • deep_sleep_duration_seconds_int
  • hrv_avg_rmssd_float
  • hrv_rmssd_granular_data_array
  • light_sleep_duration_seconds_int
  • rem_sleep_duration_seconds_int
  • saturation_avg_percentage_int
  • saturation_granular_data_array
  • saturation_maximum_percentage_int
  • saturation_minimum_percentage_int
  • sleep_date_string
  • sleep_duration_seconds_int
  • sleep_efficiency_1_100_score_int
  • sleep_end_datetime_string
  • sleep_quality_rating_1_5_score_int
  • sleep_start_datetime_string
  • time_awake_during_sleep_seconds_int
  • time_in_bed_seconds_int

Body health

body summary9 fields

  • current_phase_string
  • cycle_day_int
  • cycle_length_days_int
  • days_until_next_phase_int
  • is_a_predicted_cycle_bool
  • last_updated_datetime_string
  • length_of_current_phase_days_int
  • period_start_date_string
  • predicted_cycle_length_days_int

body metrics event5 fields

  • bmi_float
  • bone_composition_percentage_int
  • muscle_composition_percentage_int
  • water_composition_percentage_int
  • weight_kg_float

heart rate event5 fields

  • hr_avg_bpm_int
  • hr_granular_data_array
  • hr_maximum_bpm_int
  • hr_minimum_bpm_int
  • hrv_avg_rmssd_float

blood pressure event1 field

  • blood_pressure_avg_object

Get started

Connect Garmin in three steps.

  1. Enable Garmin in the ROOK portalTurn Garmin on as a data source for your client in the ROOK portal.
  2. Add Garmin to your connections pageUsers pick Garmin on the connections page and authorize ROOK with their Garmin account.
  3. Receive standardized dataROOK turns Garmin 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 Garmin 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 connects to through their cloud APIs.

FAQ

Frequently asked questions about the Garmin integration

What teams ask before they connect Garmin through ROOK.

What Garmin data can I get through ROOK?

ROOK extracts 100 Garmin 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 Garmin.

How quickly does Garmin data reach my backend?

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

Do I need my own Garmin developer account?

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

How does ROOK connect to Garmin?

Through the Garmin cloud API. Users authorize their Garmin account once and ROOK keeps pulling new data, with no mobile development on your side.

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

Articles on Garmin 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.