Eight Sleep API integration
OnboardingThe adapter is implemented; the OAuth application is awaiting provider approval.
Eight Sleep measures sleep from the mattress rather than the wrist, which produces a genuinely different signal: no compliance problem, no charging gap, and thermal data no wearable can supply.
The important caveat is that Eight Sleep does not operate a formal public developer programme in the way Fitbit or Strava do. The integration runs against the client API, which means it is more exposed to unannounced change than a contractually supported partner API.
For sleep-focused and recovery products it is worth having, but treat it as a best-effort source rather than something to build a core guarantee on.
How the Eight Sleep integration works
- Authentication
- Account credentials against the client API
- Sync model
- Pull-based.
- API base
- https://client-api.8slp.net
- Integration type
- Cloud OAuth
Eight Sleep data available through WearLink
Everything below arrives in the shared normalised schema. The same field names and units apply whether the record came from Eight Sleep or from any other provider, so your scoring, charting and storage code is written once.
- Sleep stages
- Bed & ambient temperature
- HRV
- Respiratory rate
- Toss & turn events
Webhook events you can subscribe to
sleep.createdseries.heart_rate_variability.createdbody_temperature.createdConnect a Eight Sleep user
Two calls: create a connect session for your end user, then read their normalised data. You never handle Eight Sleep OAuth credentials, token refresh or webhook registration.
# 1. Create a connect session for your end-user
curl -X POST https://wearlink.io/api/v1/connections/session \
-H "Authorization: Bearer $WEARLINK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"user_id": "'"$USER_ID"'", "provider": "eight-sleep"}'
# → { "connect_url": "https://wearlink.io/widget/connect?token=..." }
# Redirect the user there; they authorise eight-sleep and land back on your redirect_uri.
# 2. Pull normalised data whenever you want
curl -H "Authorization: Bearer $WEARLINK_API_KEY" \
"https://wearlink.io/api/v1/users/$USER_ID/summaries?provider=eight-sleep&days=7"What makes the Eight Sleep API hard to integrate directly
These are the things that turn an estimated one-week integration into a one-month one. They are worth knowing whether you use WearLink or build it yourself.
No formal public developer programme
There is no published contract or deprecation policy. The surface can change without notice.
Two sleepers, one bed
Dual-zone beds report per-side. Attributing the right side to the right user account is part of the integration, not an afterthought.
Presence, not wear
The device measures whoever is in the bed. A guest, a child or a pet changes what the data means.
Eight Sleep API — frequently asked questions
- Does Eight Sleep have an official API?
- Not a formal public developer programme comparable to Fitbit or Strava. The integration works against the client API, which carries more change risk.
- What does Eight Sleep add over a wrist wearable?
- Bed and ambient temperature, and sleep measurement that does not depend on the user remembering to wear or charge anything.
- Is it reliable enough for a production feature?
- Treat it as a supplementary source. Because there is no supported contract, we would not recommend making it the single source of truth for a paid feature.
Other integrations
Start with Eight Sleep — free for up to 3 users
No credit card. Create an account, add your provider credentials once, and your users connect through a hosted widget or our mobile SDK.