Oura integration

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

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

How it connects

ROOK connects to Oura through its cloud API.

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

Utilize Oura data to personalize user experiences, driving higher engagement and retention..

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

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

Available data

The Oura data ROOK delivers.

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

Physical health

physical summary18 fields

  • active_seconds_int
  • calories_expenditure_kcal_float
  • calories_net_active_kcal_float
  • continuous_inactive_periods_int
  • high_stress_duration_seconds_int
  • hr_avg_bpm_int
  • hr_granular_data_array
  • hr_maximum_bpm_int
  • hr_minimum_bpm_int
  • inactivity_seconds_int
  • low_intensity_seconds_int
  • moderate_intensity_seconds_int
  • rest_seconds_int
  • saturation_avg_percentage_int
  • steps_int
  • vigorous_intensity_seconds_int
  • vo2max_mL_per_min_per_kg_int
  • walked_distance_meters_float

activity event12 fields

  • activity_duration_seconds_int
  • activity_end_datetime_string
  • activity_start_datetime_string
  • activity_type_name_string
  • calories_expenditure_kcal_float
  • calories_net_active_kcal_float
  • hr_avg_bpm_int
  • hr_granular_data_array
  • hr_maximum_bpm_int
  • hr_minimum_bpm_int
  • traveled_distance_meters_float
  • walked_distance_meters_float

steps event1 field

  • accumulated_steps_int

Sleep health

sleep summary19 fields

  • breaths_avg_per_min_int
  • deep_sleep_duration_seconds_int
  • hr_avg_bpm_int
  • hr_granular_data_array
  • hr_maximum_bpm_int
  • hr_minimum_bpm_int
  • hrv_avg_rmssd_float
  • hrv_rmssd_granular_data_array
  • light_sleep_duration_seconds_int
  • rem_sleep_duration_seconds_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
  • time_to_fall_asleep_seconds_int

Body health

body summary3 fields

  • weight_kg_float
  • height_cm_int
  • bmi_float

oxygenation event1 field

  • saturation_avg_percentage_int

Get started

Connect Oura in three steps.

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

What teams ask before they connect Oura through ROOK.

What Oura data can I get through ROOK?

ROOK extracts 54 Oura 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 Oura.

How quickly does Oura data reach my backend?

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

Do I need my own Oura developer account?

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

How does ROOK connect to Oura?

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

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

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