Skip to content

Supported Providers

import { Aside } from ‘@astrojs/starlight/components’;

VitaSync currently supports four health and fitness providers. Use this page to quickly determine which provider covers the data you need.

ProviderAuth TypeMin Sync IntervalWebhook SupportSetup Complexity
FitbitOAuth 2.0 + PKCE15 minNo (polling)Easy
GarminOAuth 1.0a30 minYes (push)Medium (approval required)
WHOOPOAuth 2.015 minNo (polling)Easy
StravaOAuth 2.0On-demandNo (polling)Easy

The table below shows which providers supply each metric type.

Legend: ✅ Full   🔶 Partial   — Not available

MetricFitbitGarminWHOOPStrava
Activity
Steps
Distance
Calories burned✅ (active)
Active minutes
Floors climbed
Heart
Heart rate (intraday)✅ 1-min🔶 per-workout
Resting heart rate
HRV (RMSSD)
Sleep
Sleep stages (REM/Light/Deep)
Sleep score
Body Composition
Weight✅ (Fitbit scale)
Body fat %
BMI
Oxygen & Respiratory
SpO₂
Respiratory rate
Recovery & Readiness
Recovery score
Readiness / Body Battery
Strain score
Stress level
Workouts / Events
Workout events
Activity type mapping100+ sports
Route / GPS data
ProviderDevice ExamplesForm Factor
FitbitCharge 6, Sense 2, Versa 4, Inspire 3Fitness tracker / Smartwatch
GarminFenix 8, Forerunner 965, Venu 3, Vívoactive 5Smartwatch / GPS watch
WHOOPWHOOP 4.0, WHOOP MGBand (subscription-based)
StravaAny GPS device that syncs to StravaApp / Connected device

Best for comprehensive health data: Fitbit — covers the widest range of daily metrics including body composition and intraday heart rate.

Best for athletes and training load: WHOOP — deep recovery, strain, and HRV metrics designed for performance athletes.

Best for GPS sports tracking: Strava or Garmin — detailed workout events with route data, splits, and multi-sport support.

Best for real-time sync: Garmin — push-based webhook delivery means data arrives in VitaSync immediately without waiting for the next polling cycle.

Best for quick setup: Fitbit, WHOOP, or Strava — all use standard OAuth 2.0 and are available via self-service developer portals. Garmin requires manual approval.

VariableRequired ByDescription
FITBIT_CLIENT_IDFitbitOAuth app client ID
FITBIT_CLIENT_SECRETFitbitOAuth app client secret
GARMIN_CONSUMER_KEYGarminOAuth 1.0a consumer key
GARMIN_CONSUMER_SECRETGarminOAuth 1.0a consumer secret
WHOOP_CLIENT_IDWHOOPOAuth app client ID
WHOOP_CLIENT_SECRETWHOOPOAuth app client secret
STRAVA_CLIENT_IDStravaOAuth app client ID
STRAVA_CLIENT_SECRETStravaOAuth app client secret

You only need variables for the providers you plan to use. VitaSync will show only configured providers via GET /v1/providers.