Withings API: at a glance
Summary based on publicly available vendor documentation. Vendor terms, endpoints and limits change; we verify them against current documentation at the start of every project.
- Integration methods
- Withings Public API (cloud REST, OAuth 2.0)
- Notify subscriptions (webhooks) by data category
- Measure, Measure v2, Sleep v2 and Heart v2 endpoints
- Commercial cellular device and data services for clinical programs (separate agreement)
- Data types
- Weight, fat mass and other body composition measures
- Systolic and diastolic blood pressure, heart pulse
- SpO2 and body temperature
- Daily and intraday activity, workouts
- Sleep summaries and sleep data
- ECG recordings from supported devices such as ScanWatch and BPM Core
- Authorization requirements
- User consents via Withings OAuth 2.0 authorization flow
- Scopes requested per data category
- Access tokens expire after roughly three hours
- Refresh tokens rotate; the new token must be stored on every refresh
- Developer approval & agreements
- Developer account and registered application for the Public API
- Commercial agreement for cellular devices and RPM data services
- Production use subject to Withings developer terms
- Requirements verified with Withings at project start
- API limitations
- Rate limits apply per application
- Measure types are numeric codes that must be mapped carefully
- Webhooks signal new data; content must still be fetched
- Data appears only after the device syncs to the Withings cloud
- Endpoints and parameters change; verified against current documentation
- Healthcare use cases
- Hypertension remote monitoring
- Heart failure weight monitoring
- Sleep and respiratory programs
- Post-discharge vitals follow-up
- Elderly care and clinical research
Supported integration methods
The Withings Public API is a cloud REST API. After a user authorizes your application, you create Notify subscriptions for the data categories you need. Withings then calls your webhook when new data is available, and your service fetches it from the relevant endpoint.
This pattern works well in a server-side wearable API integration architecture: a webhook receiver, a job queue, idempotent fetch workers and a normalization layer that writes to your data store.
Measure
The getmeas action returns body and vital measurements, each identified by a numeric type code such as weight, fat mass, systolic and diastolic blood pressure, heart pulse, SpO2 and temperature.
Measure v2
Actions such as getactivity, getintradayactivity and getworkouts return daily summaries, intraday activity and workout sessions.
Sleep v2 and Heart v2
Sleep v2 provides sleep data and summaries. Heart v2 lists and retrieves ECG recordings from supported devices such as ScanWatch and BPM Core.
Devices and data types
Data originates from Withings Body scales, BPM blood pressure monitors, ScanWatch, Sleep Analyzer and Thermo. Each device contributes different measure types, and some features depend on model and region.
Because measures are returned as numeric codes with a value and a unit exponent, the mapping layer is where most errors occur. We maintain an explicit, tested mapping for every code in scope and keep device and timestamp metadata alongside each value.
Households often share a single scale or blood pressure monitor, and Withings attributes measurements to user profiles that can be misassigned. For clinical programs we add review rules for unexpected jumps in weight or blood pressure, and give care teams a clear way to mark a reading as belonging to someone else rather than silently deleting it.
- Convert value and unit exponent into real units consistently
- Record device model and measurement time, not just sync time
- Distinguish user-entered values from device measurements
API limitations and commercial options
Rate limits apply, so bulk backfills need throttling and retry with backoff. Webhooks indicate that data is available but do not carry the full payload. Data is also only as current as the device's last sync with the Withings cloud.
For remote patient monitoring programs, Withings offers cellular-connected devices and data services under commercial agreement. These are separate from the consumer Public API and have their own terms. We help you decide which route fits, and we verify current terms, endpoints and limits with Withings documentation at project start.
Healthcare use cases
Withings data is commonly used in remote patient monitoring for hypertension and in heart failure programs that watch for rapid weight change. Sleep and SpO2 data can support respiratory and sleep programs, and ECG recordings can support cardiac follow-up where clinically reviewed.
Data can be delivered to clinical systems as FHIR Observations through FHIR wearable integration. Consumer device readings should be validated for the intended clinical use and are not a substitute for clinical-grade measurement without that validation.
Frequently asked questions
Is the Withings API cloud-based?
Yes. The Withings Public API is a cloud REST API using OAuth 2.0. Data syncs from devices to the Withings cloud, and your server reads it after the user authorizes your application.
How do we know when new Withings data is available?
You create Notify subscriptions per data category. Withings calls your webhook when new data arrives, and your service then fetches the data from the relevant endpoint.
Why do Withings connections sometimes stop working?
A common cause is refresh token handling. Refresh tokens rotate, so the new token returned on each refresh must be stored. Reusing an old one breaks the connection.
Can we use Withings cellular devices for an RPM program?
Withings offers cellular-connected devices and data services for clinical programs under commercial agreement, separate from the Public API. Terms and availability are confirmed with Withings directly.
Does Withings provide ECG data through the API?
Heart v2 endpoints list and retrieve ECG recordings from supported devices such as ScanWatch and BPM Core. Availability depends on device, region and current API terms.