SensorBio integration

SensorBio data, in your own cloud

One API for SensorBio and for the rest of the wearables your users own, connected through SensorBio's own API and returned in a single schema. Self-hosted in a cloud account you control, under an MIT licence.

Built on Open Wearables

  • Heart Monitor logo
  • Hundred logo
  • JustGains logo
  • Lifelong logo
  • MoveTogether logo
  • Suna logo
  • Yoboo logo

Data coverage

SensorBio data we support

Readings arrive as a continuous stream of timestamped samples, and everything below lands in the same schema as every other source.

  • Sleep

    Deep, light, REM and awake time, with a stage timeline per session.

  • Heart rate

    Continuous samples, plus resting heart rate.

  • Heart rate variability

    RMSSD, sampled continuously and as a resting value.

  • Blood oxygen

    SpO2 samples through the day and night.

  • Respiratory rate

    Breaths per minute, sampled continuously.

  • Workouts

    Type, duration, heart rate, energy and distance.

  • Steps and distance

    Daily totals for every day synced.

  • Calories

    Active and resting energy, split out per day.

  • SensorBio scores

    SensorBio's own daily sleep, recovery and activity scores.

What working with Open Wearables gives you

Two views of the same deployment. One for the people wiring it in, one for the people signing it off.

  • One schema, not one per provider

    SensorBio arrives in the same shape as every other source, so your code carries no SensorBio-specific branches and adding a source later does not change the call.


    • Sleep
    • Heart rate
    • HRV
    • SpO2
  • A continuous stream, paged for you

    SensorBio returns heart rate, HRV, blood oxygen and respiratory rate as a stream of timestamped samples. Open Wearables pages through it with a cursor and writes each sample to the same series your other sources fill.


    • Cursor paging
    • Timestamped samples
  • Polling, already scheduled

    The SensorBio API is read over REST with no webhooks, so Open Wearables polls it hourly by default and refreshes tokens along the way. Requests go over HTTP/2, which the API requires, so there is nothing for you to schedule or configure.


    • Hourly polling
    • OAuth 2.0
  • Health scores computed in your deployment

    SensorBio's own sleep, recovery and activity scores arrive as data, as SensorBio calculates them. Health scores from our science team run alongside them inside your deployment, validated before release, and are part of Pro.


    • SensorBio scores
    • Health scores

How it works

From nothing to your first SensorBio query

  1. 01

    Bring it up

    Clone the repository and run it with Docker Compose. First API call in five minutes, before any provider is connected.

    Terminal

    git clone https://github.com/the-momentum/open-wearables.git
    cd open-wearables && docker compose up -d
  2. 02

    Get SensorBio API access

    Ask SensorBio for a developer account with API access, then register your redirect URI in their developer portal. The client ID and secret are issued in your name, so the data relationship is between you and SensorBio.

    SensorBio API setup guide
  3. 03

    Connect a user

    Your user authorises through SensorBio's own consent screen. Open Wearables handles the token lifecycle from there, including the refresh that keeps the connection alive months later.

  4. 04

    Query the user, not the provider

    SensorBio data arrives in the same schema as every other source, in your own database, so your application code carries no SensorBio-specific branches.

The honest comparison

Hosted SaaS API, in-house build, or self-hosted

Where each one actually wins. If a hosted API fits your situation, use one.

Hosted SaaS APIBuild in-houseOpen Wearables, self-hosted
[01] SensorBio credentialsTheirs, if they support itYours to obtainYours, in your own name
[02] Sync modelHandled for youPolling you build and scheduleHourly polling, already scheduled
[03] The continuous streamMapped to their schemaCursor paging you write and maintainPaged and split into the series every source fills
[04] Where SensorBio data sitsTheir cloud, their regionsYoursYour cloud account, your region
[05] The data modelTheirs, you build against their schemaYoursYours, in your database
[06] SensorBio API changesThey absorb themYour team tracks and adaptsFixed in a release you pull
[07] Cost shapeScales with monthly active usersSalaries and infrastructureFixed, flattens as you grow

What stays yours

The deployment, the data and what you build on it stay in your account, whoever runs it

Sovereignty

SensorBio data goes straight to your cloud, with no aggregator in between.

Residency

It stays in the region you chose, provable by pointing at an account.

Control

What you build on top of Open Wearables is yours, and the schema and the data are in your account.

Your own reasons

No regulator forcing it. You want the data in your own account anyway.

SensorBio is one integration in the same API

You query a user rather than a provider, so somebody who wears SensorBio and also trains with a watch or logs runs on Strava comes back in one shape, under one user.

Browse all integrations

Deploy Open Wearables in your own cloud

The repository is public and the deployment is yours from the first commit. Start from the source, or bring us in to stand it up in your account with SensorBio connected and validated on real accounts.

FAQ

Do you have more questions?

Does SensorBio have an API?

Yes. It uses OAuth 2.0, and you need a SensorBio developer account with API access to get a client ID and secret. The credentials are issued in your name, so the data relationship is between you and SensorBio.

What does SensorBio actually give us?

Sleep with a stage timeline, workouts, and a continuous stream of heart rate, HRV, blood oxygen and respiratory rate, plus resting heart rate, daily steps, distance and calories, and SensorBio's own daily scores. Everything arrives in the same schema as your other sources.

Do we get SensorBio's own scores?

Yes. Its daily sleep, recovery and activity scores arrive as SensorBio calculates them, alongside the data underneath.

Is the HRV comparable with our other sources?

Yes. SensorBio's HRV arrives as RMSSD, the same measure Oura, Polar, Ultrahuman and Whoop report, so it lands in the same series and can be read side by side.

Does it support webhooks?

No. The SensorBio API is read over REST, so Open Wearables polls it hourly by default. New data lands within the hour rather than the second, which is the trade-off the API imposes.

Does SensorBio tell naps apart from night sleep?

Not through the API. A day can return more than one sleep session, and each arrives as its own record, so Open Wearables stores every session as sleep rather than guessing a nap from its length.

How far back does a first sync go?

Ninety days by default when a user connects. You can switch that off and request a specific range yourself, up to a year back.

What do we need to configure?

Your client credentials from SensorBio and a redirect URI registered in their developer portal. The setup guide in the docs has the exact variables.

Can we combine SensorBio with other sources?

Yes. SensorBio sits alongside whatever else a user connects, and you query the user rather than each provider, so a second source never means a second code path.