Stream NapBot data. Straight from the phone.
NapBot tracks sleep automatically and classifies its stages on-device with CoreML, writing the session — light, deep, REM, and awake — to Apple Health, and Sahha’s SDK reads it into your app as normalized sleep biomarkers, alongside every other source.
- On-device
- Apple Health
- iOS
- HIPAA
- GDPR
Free for 30 days · No credit card
- Sleep duration
- 7:26 h
- Deep sleep
- 84 min
- REM sleep
- 96 min
Identical schema across 500+ sources
Your users connect NapBot. Sahha does the rest.
This is your user’s side of the story — one screen, once. Sahha ingests every NapBot signal, normalizes, deduplicates, and delivers it to your service — raw, or as refined intelligence your product can act on.
A Allow "your app"
On-device and permissioned
NapBot data is read on the user’s own device, only after they grant Apple Health permission — nothing syncs without consent.
One integration, every source
Permission is per data type, not per brand. Anything that writes to Apple Health — NapBot today, a new watch next year — flows through the same SDK with no extra prompt and no new code.
What NapBot syncs through Apple Health.
Request only what you need
You choose exactly which of these signals to request from Apple Health — users are only ever prompted for those, which keeps opt-in rates high.
One schema, every source
NapBot, Apple Watch, and Oura all return the same fields and units.
What crosses the bridge
The sleep session and its light, deep, REM and awake stages pass through Apple Health; some app-exclusive metrics may not.
Sleep
5
HealthKitSahha- sleepAnalysis · asleepsleep_durationmin
- sleepAnalysis · asleepCoresleep_stage_lightmin
- sleepAnalysis · asleepDeepsleep_stage_deepmin
- sleepAnalysis · asleepREMsleep_stage_remmin
- sleepAnalysis · awakesleep_stage_awakemin
See a real payload
{
"type": "HKCategoryTypeIdentifierSleepAnalysis",
"value": "HKCategoryValueSleepAnalysisAsleepDeep",
"startDate": "2026-06-03T01:12:00Z",
"endDate": "2026-06-03T02:36:00Z",
"sourceRevision": { "source": { "name": "NapBot" } }
// …light, REM & awake segments across the session
} [
{
"category": "sleep",
"type": "sleep_stage_deep",
"value": 84,
"unit": "minute",
"periodicity": "daily",
"aggregation": "total",
"startDateTime": "2026-06-02T23:20:00Z",
"endDateTime": "2026-06-03T06:46:00Z"
},
{
"category": "sleep",
"type": "sleep_stage_rem",
"value": 96,
"unit": "minute",
"periodicity": "daily",
"aggregation": "total",
"startDateTime": "2026-06-02T23:20:00Z",
"endDateTime": "2026-06-03T06:46:00Z"
}
// …3 more normalized logs
] NapBot classifies sleep stages on-device with CoreML, and the session plus its stages is all that crosses. NapBot also surfaces sleep-apnea analysis and environmental sound exposure — neither reaches Sahha, because Sahha has no biomarker for apnea events and none for noise or sound exposure. NapBot is Apple-Watch-based, so a user without a watch produces nothing at all. It’s a consumer sleep app, so accuracy varies with how the user tracks; where they also wear another device writing sleep to Apple Health, Sahha deduplicates the overlapping sessions.
Missing a metric you need? Talk to us in the Sahha Slack — if NapBot captures it, we can usually add support.
Get more than just raw data
Sahha turns these signals into biomarkers, scores, archetypes, and insights — the modeling done for you.
Reading Apple Health yourself? Here’s the to-do list.
Everything on the left is yours to write, test, and maintain on iOS. Everything on the right, Sahha already did.
- Integrate Apple Health.
- Handle iOS version differences.
- Add Health Connect separately for Android.
One SDK covers Apple Health, Health Connect, and every cloud source.
- Write the HealthKit queries.
- Request the right permissions.
- Wire up background delivery.
The SDK handles queries, permissions, and background sync.
- Dedupe apps writing the same metric.
- Map dozens of HealthKit types.
- Reconcile against your Android sources.
Deduped, typed, one schema — one stream per user.
- Build a sleep model.
- Build an activity model.
- Hire a data scientist.
Scores, archetypes, and insights — built in.
- Apple changes a HealthKit API.
- You find out in production.
We version the SDK. You never notice.
No NapBot developer account needed — Sahha reads what NapBot already writes to Apple Health on iOS.
Live in an afternoon, not a sprint.
- # Add the Sahha SDKnpm install sahha-react-native01
Add the Sahha SDK
Drop the Sahha SDK into your iOS app — or React Native or Flutter. The same SDK also covers Health Connect for your Android sources.
- 02
Prompt for Apple Health permissions
Call the SDK to show the native Apple Health consent sheet. The user chooses what to share — under your brand. It’s one prompt, ever: permission is per data type, not per brand, so every future source is already covered.
- Your app LIVESleep7h 12mReadiness82Heart rate62 bpm03
Sahha reads and delivers
Once permission is granted, the SDK reads NapBot data from Apple Health in the background, normalizes it to one schema, and streams it to your app by webhook or API.
Most teams read live NapBot data the same day they add the SDK. The only per-source prerequisite: your user has NapBot’s Apple Health sync switched on — most source apps enable it by default.
NapBot integration questions
How does Sahha get NapBot data?
NapBot writes each automatically tracked sleep session to Apple Health, and Sahha reads it from there with its mobile SDK, delivering it as normalized sleep biomarkers — no NapBot API to integrate.
Does the user have to start and stop tracking?
No. NapBot detects sleep automatically and classifies the stages on-device with CoreML, so nights land in Apple Health without the user tapping anything. That makes it a steadier source than trackers that depend on someone remembering to hit a button.
What NapBot data does Sahha receive?
The sleep session and its stages — light, deep, REM, and awake. NapBot’s sleep-apnea analysis and its environmental sound exposure do not cross: Sahha has no biomarker for apnea events and none for noise or sound exposure, so those stay in NapBot. Accuracy varies with how the user tracks, and where another device also writes sleep to Apple Health, Sahha deduplicates the overlapping sessions.
Does the NapBot integration work on Android?
No. NapBot is an iOS app that writes to Apple Health, so this is an iOS-only integration — and because tracking is Apple-Watch-based, a user without a watch produces no NapBot data at all. Your users’ other Android sources still flow through the same Sahha SDK.
Is the NapBot integration HIPAA and GDPR compliant?
Yes. Sahha is HIPAA and GDPR compliant and SOC 2 certified, and NapBot data flows through the same compliant pipeline as every other source.
One API for every other source, too.
Add another wearable or app and the schema, webhooks, and scores are identical — no new pipeline to build.
Start streaming NapBot data today.
Connect once. Sahha handles consent, normalization, and real-time delivery — for NapBot and every other source.
Free for 30 days · No credit card
- One API for NapBot and every other source
- Real-time webhooks + on-demand REST, one normalized schema
- Scores, archetypes & insights — no modeling required
- HIPAA, GDPR & SOC 2 · your brand on the consent screen



