Open source · Self-hosted · MIT license
One wearable API
for every health device.
Connect Garmin, Whoop, Apple Health, Oura, Polar, Suunto, Samsung, Ultrahuman and more through a single, self-hosted API. Full data ownership. Deploy in 5 minutes.
Health scores, AI reasoning, and coaching profiles included.
Supported providers
A full wearable API stack.
Four layers, from raw device data to AI-powered health coaching.
Unified Wearable API
One REST API for Whoop, Garmin, Oura, Apple Health, Strava, Polar, Suunto, Samsung, Google Health Connect, and Ultrahuman. Normalized data model across all providers.
Health Scores
Open algorithms for sleep, recovery, strain, stress, HRV, and VO2 max. Audit every line. Tune thresholds for your population.
AI Reasoning Engine
MCP server for any LLM. Detect trends, flag anomalies, connect patterns across scores. Works with Claude, ChatGPT, or your own models.
Coaching Profiles
Define how the engine reasons for your use case. Wellness, performance, clinical. Same data, same scores: different logic for different domains.
First wearable API call in 5 minutes.
$ git clone https://github.com/the-momentum/open-wearables.git
$ cd open-wearables && docker compose up -d
# Your wearable API is running on localhost:8000
$ curl localhost:8000/api/v1/health
{"status": "ok", "version": "0.4.0", "providers": ["garmin", "whoop", "oura", "polar", "strava", "suunto"]}
Query wearable data with one call.
The same endpoint works for every provider. No provider-specific logic in your code.
$ curl -H "Authorization: Bearer $TOKEN" \
localhost:8000/api/v1/summaries/daily?provider=whoop
{
"date": "2026-01-15",
"provider": "whoop",
"recovery_score": 78,
"hrv_rmssd_ms": 62.4,
"resting_heart_rate_bpm": 52,
"sleep_performance_pct": 84,
"strain_score": 14.2
}
Switch provider=whoop to garmin, oura, or any other — same response schema.
Full API reference →
SaaS, in-house, or open source?
Per-user cost
Source code
Self-hosted
Health scores
AI reasoning
First API call
Compliance-ready
Two ways to run
Open Wearables.
For developers
For companies
Built and maintained by Momentum
Stop paying per user
for wearable data.
Deploy your own wearable API. Own the data. Own the code.
First API call in 5 minutes. Production-ready in days.
Frequently asked questions
Terra, Rook, Thryve, and Spike are SaaS wearable APIs that charge per active user and run on their servers. Open Wearables is self-hosted and MIT licensed. You deploy it on your own infrastructure, pay nothing per user, and get full source code access.
Beyond data ingestion, Open Wearables includes health scores (sleep, recovery, strain, HRV), an AI reasoning engine with MCP server support, and coaching profiles. SaaS alternatives typically offer raw data or basic scores with proprietary algorithms you cannot inspect or customize.
If you need a managed solution with zero infrastructure work, SaaS APIs are a reasonable choice. If you want ownership, customization, and zero per-user fees at scale, Open Wearables is the alternative.
The platform itself is free and MIT licensed. You pay for:
- Your own infrastructure (hosting, database storage)
- LLM API costs if you use the AI reasoning engine
- Optional services from Momentum if you need custom integrations, enterprise deployment, or domain-specific scoring
No per-user fees. No hidden charges. No pricing tiers. At 10,000 users, SaaS APIs can cost $5,000-20,000/month just for wearable data access. With Open Wearables, that cost is zero.
Live providers: Whoop, Garmin, Oura, Apple Health (via Flutter SDK), Strava, Polar, Suunto, Samsung Health, Google Health Connect, Ultrahuman.
Coming soon: Fitbit, Coros, Xiaomi.
Each provider connects through OAuth 2.0 or SDK integration. Data is normalized into a consistent format across all devices, so your application code doesn't need provider-specific logic.
Yes. Open Wearables is self-hosted, which means health data stays on your infrastructure. You control access, encryption, retention, and audit logging.
For production HIPAA deployments, Momentum offers custom deployment with HIPAA-eligible architecture, encrypted storage at rest and in transit, role-based access controls, and BAA availability.
First API call: 5 minutes. Clone the repo, run docker compose up, and you have a running instance.
Provider connections: Each wearable provider requires API credentials that you apply for directly (Garmin, Whoop, Oura, etc.). Approval timelines vary: some are immediate, others take 1-4 weeks. This is a one-time process, and it's the same whether you use Open Wearables or build integrations yourself.
Production-ready: Days, not months. Once credentials are in place, OAuth flows, data sync, and testing are handled by the platform.