Mental Health API

Mental wellbeing, from what the phone already records.

Sahha scores six daily habits: steps, active hours, extended inactivity, activity regularity, sleep regularity and circadian alignment. The result is a 0 to 100 mental wellbeing score, from models trained against PHQ-9 and DASS-21. No questionnaire to answer and no wearable to own. It is a wellbeing measure, not a diagnosis.

Free for 30 days · No credit card

6
daily habits scored
0–100
wellbeing score
0
wearables required
2,000+
study participants
FitFocusSuggesticPrescribeLife.AIPrismatic StackIntervengineNowFit
Why Sahha

What a questionnaire cannot tell you.

  • Carries a smartphone82–97%
    Owns a wearable13–46%

    Share of adults across surveyed markets. No factor in this score needs the second number.

    A signal on the days nobody logs anything

    A check-in tells you how someone felt at the moment you asked. Behavior tells you what actually happened on every day in between. All six factors come from a phone in a pocket, so the score keeps reading through weeks when a user never opens your app. It fills the gap between check-ins rather than replacing them.

    • Stepsdaily habit
    • Active hoursdaily habit
    • Sleep regularitydaily habit
    mental_wellbeing0.80

    Six habits, not a mood guess

    The score is not an opaque read on how someone feels. It is six named behaviors: steps, active hours, inactivity, activity regularity, sleep regularity and circadian alignment. Each returns its own sub-score, so you can tell a user which habit moved and point at the one with the most room to improve.

  • 2,000+

    participants across 17+ countries in Sahha’s research study

    Grounded in PHQ-9 and DASS-21. Not a diagnosis.

    The models are trained against clinically used questionnaires, and Sahha publishes the study design, dataset and method openly, so you can read how the score was built. It supports triage toward self-management or professional support. It is not a diagnostic instrument, not peer-reviewed clinical validation, and not a replacement for professional assessment.

API reference

Every endpoint, payload and field.

The score with all six factors, each carrying its own sub-score and the goal it was measured against. Three factors is the minimum for a reliable result.

GET /api/v1/profile/score/{externalId}?types=mental_wellbeing
{
  "type": "mental_wellbeing",
  "score": 0.8,
  "state": "high",
  "factors": [
    { "name": "steps", "value": 8000, "goal": 10000, "score": 0.8, "state": "high" },
    { "name": "active_hours", "value": 6, "goal": 12, "score": 0.67, "state": "medium" },
    { "name": "extended_inactivity", "value": 500, "goal": 240, "score": 0.8, "state": "high" },
    { "name": "activity_regularity", "value": 70, "goal": 100, "score": 0.7, "state": "medium" },
    { "name": "sleep_regularity", "value": 85, "goal": 100, "score": 0.85, "state": "high" },
    { "name": "circadian_alignment", "value": 40, "goal": 30, "score": 0.9, "state": "high" }
  ],
  "dataSources": ["age", "activity", "sleep"],
  "scoreDateTime": "2026-08-11T00:00:00+12:00"
}

Score factors 6

FactorWhat it measuresFrom
steps Total steps taken through the day Activity
active_hours Hours with recorded activity or exercise Activity
extended_inactivity Time spent sedentary without breaks Activity
activity_regularity Consistency of activity patterns across days Activity
sleep_regularity Consistency of bed and wake times across days Sleep
circadian_alignment Sleep timing against the body clock Sleep

None of the six requires a wearable. Sub-scores are research-backed curves, not a value divided by its goal.

The behavior the score reads. Ordinary activity and sleep metrics, one typed record per metric per day, reconciled across every device a user has connected.

GET /api/v1/profile/biomarker/{externalId}?categories=activity
{
  "id": "c2d3e4f5-a6b7-4890-cdef-123456789abc",
  "type": "steps",
  "category": "activity",
  "value": "8240",
  "valueType": "long",
  "unit": "count",
  "aggregation": "total",
  "periodicity": "daily",
  "startDateTime": "2026-08-11T00:00:00+12:00",
  "endDateTime": "2026-08-11T23:59:59+12:00",
  "createdAtUtc": "2026-08-12T06:10:00Z"
}

Activity biomarkers 10

FieldDescriptionUnit
steps Total steps taken count
active_hours Hours with significant activity hour
active_duration Total time active minute
activity_sedentary_duration Time spent sedentary minute
activity_low_intensity_duration Time at low intensity minute
activity_medium_intensity_duration Time at medium intensity minute
activity_high_intensity_duration Time at high intensity minute
active_energy_burned Energy burned through activity kcal
total_energy_burned Overall energy burned kcal
floors_climbed Flights of stairs climbed count

Every one of these is available without a wearable. Sleep regularity and circadian alignment come from the sleep category.

A slower classification than the daily score, recomputed weekly and monthly, for segmenting a population rather than reacting to a day.

GET /api/v1/profile/archetypes/{externalId}
{
  "id": "7f2b91ac-3d55-4e18-9c04-2ab7135ef902",
  "name": "mental_wellness",
  "value": "good_mental_wellness",
  "dataType": "ordinal",
  "ordinality": 2,
  "periodicity": "monthly",
  "startDateTime": "2026-08-01T00:00:00+12:00",
  "endDateTime": "2026-08-31T00:00:00+12:00",
  "createdAtUtc": "2026-09-01T13:08:53.322886Z"
}

Wellbeing archetypes 2

ArchetypeTypeValues
mental_wellness Ordinal poor · fair · good · optimal
overall_wellness Ordinal poor · fair · good · optimal

Two of Sahha’s fourteen archetypes speak to wellbeing directly. The rest describe the activity and sleep behavior underneath it.

A score on its own says little. Trends say whether it is moving, and comparisons say whether it is low for this person or low for everyone like them.

GET /api/v1/profile/insight/comparison/{externalId}
{
  "name": "mental_wellbeing",
  "category": "score",
  "value": 0.8,
  "data": [
    {
      "type": "demographic",
      "value": 0.74,
      "percentile": 0.62,
      "percentageDifference": 0.08,
      "properties": { "sex": "male", "ageRange": "30-35" }
    }
  ],
  "startDateTime": "2026-07-13T00:00:00+12:00",
  "endDateTime": "2026-08-11T00:00:00+12:00"
}

The layer that runs both ways. Reserved symptom tags arrive on their own when a user logs one in their phone’s health app, carrying a five-level severity scale, and you post anything else your product tracks to the same timeline as the score.

POST /api/v1/profile/tag/{externalId}
{
  "type": "event",
  "category": "symptom",
  "name": "mood_changes",
  "value": "moderate",
  "source": "acme.mindapp",
  "startDateTime": "2026-08-13T09:15:00+12:00",
  "additionalProperties": {
    "logged_by": "user"
  }
}

Reserved symptom tags 5

TagTypeSeverity values
mood_changes event unknown, not_present, mild, moderate, severe
sleep_changes event unknown, not_present, mild, moderate, severe
appetite_changes event unknown, not_present, mild, moderate, severe
fatigue event unknown, not_present, mild, moderate, severe
memory_lapse event unknown, not_present, mild, moderate, severe

Custom tags have no fixed schema, so anything else your product tracks sits on the same timeline: a therapy session, a medication change, an intervention arm.

The individual activity and sleep samples underneath everything else, each naming the device it came from. This is the one layer delivered by webhook only.

POST your webhook endpoint
[
  {
    "logType": "activity",
    "dataType": "steps",
    "externalId": "ext-412",
    "receivedAtUtc": "2026-08-11T21:05:00+00:00",
    "dataLogs": [
      {
        "id": "8fd21a03-4c19-4f7e-93b2-77c5e0a1d884",
        "parentId": null,
        "value": 412,
        "unit": "count",
        "source": "iPhone 16",
        "recordingMethod": "RECORDING_METHOD_AUTOMATICALLY_RECORDED",
        "deviceType": "iPhone17,1",
        "startDateTime": "2026-08-11T08:40:00+12:00",
        "endDateTime": "2026-08-11T08:55:00+12:00",
        "additionalProperties": {}
      }
    ]
  }
]

The ideas behind the factors, and the instruments the model was trained against. Each links to the research or guide that covers it in full.

PHQ-9 and DASS-21
Two clinically used questionnaires. PHQ-9 screens depression severity; DASS-21 measures depression, anxiety and stress. The models were trained against responses to both. Read the research
Circadian alignment
Whether the sleep window sits where the body clock expects it. Misalignment shows up in the score even when someone is sleeping enough hours. Read the guide
Activity regularity
How consistent movement is from one day to the next, scored separately from how much of it there is. Erratic beats sedentary less often than people assume.
Extended inactivity
Unbroken sedentary time rather than total sedentary time. A long uninterrupted block reads differently from the same hours spread across a day.
Passive digital phenotyping
Inferring behavioral and mental health signal from data a device already collects, instead of asking someone to report it. Read the research
Not a diagnostic
The score supports triage toward self-management, behavioral change or professional advice. It does not diagnose a condition and does not replace clinical assessment. Read the research
  • REST API

    Pull any of it on demand, per profile, whenever your app asks.

  • Webhooks

    Or have it pushed to your endpoint as it arrives, so you never have to poll for it.

  • Mobile SDK

    Read straight from the device on iOS and Android, with no round trip.

What you build

What a continuous wellbeing signal lets you ship.

Show the six

Render the score with the habits behind it, so someone sees which behavior moved rather than a number that arrived from nowhere.

Sahha Scores

Fill the gaps between check-ins

Keep a reading on the weeks a user skips their survey, and bring context to the session where they finally do answer.

Sahha Tags

Notice the drift early

Behavior tends to shift before anyone says something is wrong. Watch activity regularity and sleep timing move against a person’s own baseline, weeks before a questionnaire would pick it up.

Sahha Insights

Recommend one habit

A sub-score points at the specific behavior with the most headroom, which is a far better prompt than telling someone to feel better.

Sahha Biomarkers

Find who to reach first

Surface the cohort most likely to benefit from a program, without screening an entire population one questionnaire at a time.

Sahha Archetypes

Measure an intervention

Compare a cohort before and after a program against a population benchmark, aggregated, without surfacing any individual.

Workplace wellness
How it compares

Three ways to get a wellbeing signal.

Sahha Mental Wellbeing Questionnaires alone Other health APIs
Reads on days users disengage
Works with no wearable
Explains which behavior moved Six factors
Clinical grounding Trained on PHQ-9, DASS-21 Is the instrument
Method published openly Sahha research Peer-reviewed
Measurement type Observed behavior Self-reported Observed
Effort asked of the user None Every check-in None

Questionnaires are not a competitor. PHQ-9 and DASS-21 are the reference instruments, carry decades of peer-reviewed validation, and this score is trained against them. The column is here because most teams already run one and want to know what a passive signal adds between administrations. Sahha’s own studies are published on this site, not in journals. Other health APIs = wearable and health-data APIs that also offer scores.

FAQ

Questions that come up before you integrate.

Is this a diagnostic tool?

No. It is a wellbeing measure built to support triage toward self-management, behavioral change or professional advice. It does not diagnose any condition, it is not a medical device, and it does not replace clinical assessment by a qualified professional. Products built on it should present it that way to end users.

Can it replace PHQ-9 or a clinical assessment?

No, and it is not designed to. PHQ-9 and DASS-21 remain the reference instruments; the model is trained against them. What the score adds is continuity: a reading on the weeks between administrations, when a questionnaire tells you nothing because nobody filled it in. Most teams run both and cross one against the other.

What data does the score actually need?

Steps, exercise sessions, and bed and wake times. A minimum of three of the six contributing factors is required for a reliable score, so a user who only ever supplies step data will still be scored, on fewer factors.

Does it need a wearable?

No. Every one of the six factors is available from Apple Health or Health Connect without one, which means the phone in someone’s pocket is enough. A wearable improves the precision of the sleep inputs but is never required.

Does it read messages, calls or screen time?

No. The score is computed from activity and sleep data plus demographics. It does not use message content, call logs, keyboard input, location or app usage, and Sahha does not collect them.

What was the model trained on?

Responses to clinically used rating scales, principally PHQ-9 and DASS-21, paired with passively collected activity and sleep data. The research study behind it runs to over 2,000 participants across 17 or more countries, reviewed by a university human ethics committee, and Sahha publishes the design, data collection and ethical framework on its research pages. These are Sahha’s own studies rather than peer-reviewed journal publications.

How often does the score update?

Daily, as new activity and sleep data arrives. Trends and comparisons run over longer windows, and the wellbeing archetypes are recomputed weekly and monthly for a slower read.

Can users log how they actually feel?

Yes, and that is the point of pairing the two. Reserved symptom tags including mood_changes, sleep_changes, appetite_changes, fatigue and memory_lapse carry a severity scale, and custom tags cover anything else your product tracks. Both sit on the same timeline as the score, so you can cut one by the other.

Is Sahha HIPAA and GDPR compliant?

Yes, and SOC 2. Health data is handled under all three, and the end-user consent screens are configurable to carry your brand rather than Sahha’s.

Add a wellbeing signal in days.

One integration reading behavior your users already generate, with the modeling and the validation already done.

Free for 30 days · No credit card

  • A daily score for every user, no questionnaire and no wearable
  • Six named habits, each with its own sub-score
  • Trained against PHQ-9 and DASS-21, with the method published openly
  • HIPAA, GDPR and SOC 2, with your brand on the consent screen