We currently Support over 300+ devices, a full list can be seen below.

Cloud Based Providers

Some Oauth providers are unavailable unless you can

Bring Your Own OAuth (BYOO)

— you will have to apply directly to the provider for an OAuth application, and provide Vital your assigned credentials once the application is accepted.

Beurerbeurer_apiBeurer Blood Pressure monitorsPassword authentication
Dexcomdexcom_v3Dexcom CGM Glucose monitorsBYOO only
Dexcom (G6 And Older)dexcomDexcom CGM Glucose monitorsPassword authentication
8Sleepeight_sleepSmart MattressPassword authentication
Freestylefreestyle_libreAbbott CGM Glucose monitorLibreView practice connection
FitbitfitbitActivity Trackers (all devices)Vital branded OAuth, or BYOO
GarmingarminFitness watches (all devices)Vital branded OAuth, or BYOO
Google Fitgoogle_fitActivity Trackers (all devices)Vital branded OAuth, or BYOO
HammerheadhammerheadCycling computersPassword authentication
iHealthihealthBlood pressure, Fitness scales, Glucometers & Fitness watchesBYOO only
MyFitnessPalmy_fitness_palNutrition dataMyFitnessPal Diary Sharing Key
OuraouraSmart Sleep tracking ringVital branded OAuth, or BYOO
PelotonpelotonPopular Indoor Exercise bikePassword authentication
RenphorenphoFitness ScalesPassword authentication
StravastravaRunning & Cycling Social NetworkVital branded OAuth, or BYOO
WahoowahooCycling EquipmentVital branded OAuth, or BYOO
WhoopwhoopYour Personal Digital Fitness and Health CoachPassword authentication
WithingswithingsFitness scales, watches and health monitorsVital branded OAuth, or BYOO
ZwiftzwiftVirtual cycling and runningPassword authentication
PolarpolarFinnish sports tech pioneerVital branded OAuth, or BYOO
CronometercronometerNutrition dataVital branded OAuth, or BYOO

SDK Based Providers

Accu-Chek (Bluetooth)accuchek_bleGlucose Strips/MySugr App
Apple HealthKitapple_health_kitHealth and fitness data on iPhone and Apple Watch
Beurer (Bluetooth)beurer_bleBeurer Blood Pressure monitors
Contour (Bluetooth)contour_bleGlucometers
Freestyle Libre BLE (NFC)freestyle_libre_bleAbbott CGM Glucose monitor readings via SDK
Omron (Bluetooth)omron_bleBlood Pressure monitors and scales

Providers under active development

Beta: Currently under development. All providers here are available in sandbox and production, any feedback you have is greatly appreciated!

Android Health Connecthealth_connectHealth and fitness data on Android devices
KardiakardiaElectrocardiogram readings
Omron (Cloud)omronBlood Pressure monitors and scales

Planned: On our roadmap

XiaomixiaomiAll dataEnquire
SuuntosuuntoFitness WatchPlanned
iGlucoseiglucoseGlucose StripsPlanned
KetoMojoTBDGlucose, Ketones and morePlanned

Full Device Support List

Data Frequency

Whenever Vital detects that new data is available, data events are always sent to your configured endpoints, regardless of the provider being push-based or polling-based.

Cloud Based Providers

Cloud Based Providers can be divided in two main categories:

  • Push-based

    • When a cloud-based provider supports a push notify mechanism (typically webhooks), Vital would prefer to use it to drive data fetches. In other words, as soon as the provider notifies Vital of new data through the said mechanism, Vital fetches the latest data.
  • Polling-based

    • For providers and/or resources without any push notify mechanism, Vital polls these resources at a regular schedule, typically every 15 minutes or so.
Freestyle(API + SDK)Polling
Google FitPolling

SDK Based Providers

SDK Based Providers are all push-based, where data are pushed from the Vital SDK embedded inside your Android or iOS app.

Apple HealthKitSync on OS notification, variable frequency [1]
Android Health ConnectSync On App Launch [2]
OmronManual Post
ContourManual Post
Accu-ChekManual Post

[1] Notes on Sync on OS notification:

Apple HealthKit notifies new data immediately only when your iOS app is in the foreground with visible UI.

Meanwhile, properly configured HealthKit apps in background with no visible UI are notified on an OS-throttled, opportunistic schedule that can dynamically change based on factors like CPU usage, battery usage, connectivity, Low Power Mode, and delivery history.

The Vital SDK — or any third-party HealthKit apps — has no control over this, other than suggesting a background delivery frequency to the OS as the lower bound. The actual delivery frequency remains at full discretion of the OS, and can range from hourly, to once a day, or when certain opportunity arises (e.g., when Sleep Mode ends, or when the phone starts charging).

Therefore, it is not recommended to base your UX around immediate availability of HealthKit data. The only exception is if your UX do involve the user actively using your iOS app. For example, iOS 17+ supports third-party apps initiating an Apple Watch workout session that would be live synced with your iPhone app.

[2] Notes on Sync On App Launch:

Because Android Health Connect disallowes any data access when the app is in background, your app must be regularly opened by the end user for data to be synchronized. Hence, the Vital SDK can only provide Sync On App Launch as the default automatic behaviour.

If automatic background monitoring is desired, your app would have to implement one of the Android Foreground Service — e.g. high priority push from Firebase Cloud Messaging — during which your service manually initiate a Vital SDK sync.

Historical Days Retrieved

When a new provider is connected to a user, Vital retrieves the historical data for this user from the connected provider. The following number of historical days of data are retrieved for each provider:

ProviderHistoric Days
Google Fit90
Omron (SDK)90
Contour (SDK)90
Accu-Chek (SDK)90
Apple HealthKit (SDK)90
Android Health Connect (SDK)30
Freestyle Libre BLE (SDK)90
Braun Healthcare90
Dexcom (G6 And Older)1

* Polar only supports historical backfill for Sleep and Sleep Stream resources.

To provide you with the best possible experience, for some providers we implement a mix of Webhook and Polling for different resources. Check out the resources page for more info.