Sleep signal & research API
Consumer sleep tech reports the dial.
The literature has the signal.
Total sleep time and stage percentages are a summary of a summary. Thirty years of sleep research describes far richer structure in the same night of data — regularity, depth, spindles, homeostatic decay, the statistics of waking up. Beacon computes those metrics from raw recordings and serves them over an API, each one implementing a named, citable paper.
Method
Three steps, no black box.
A metric you cannot audit is a metric you cannot build on. The pipeline is deliberately short and each stage is inspectable.
- 01
Ingest
EDF polysomnography, epoch-scored hypnograms, or minute-level wearable actigraphy and heart rate. Every source is resampled onto a common epoch grid and quality-flagged before anything is derived from it.
- 02
Derive
Each metric is an implementation of a named, citable paper. The equation, the epoch resolution it requires, and the population it was validated in travel with the result — so you can tell what a number means and where it stops meaning it.
- 03
Serve
One call returns the metric set for a night. Every value carries its coverage, its confidence, and the algorithm version that produced it, so results stay comparable across recordings and across releases.
Signals
Five metrics. Five papers.
This is the whole catalogue — not a teaser for one. Each entry names the primary source it implements and the input resolution it needs.
- SRI
Sleep Regularity Index
Phillips et al., Sci Rep 2017;7:3216
Percent concordance of sleep/wake state at time points 24 hours apart, rescaled to a 0–100 scale.
In 60,977 UK Biobank participants (Windred et al., SLEEP 2024;47(1):zsad253), the most-regular versus least-regular quintile had an all-cause mortality hazard ratio of 0.52 minimally adjusted and 0.70 fully adjusted — and regularity outperformed sleep duration.
Requires · Multiple consecutive days
- ORP
Odds Ratio Product
Younes et al., SLEEP 2015;38(4):641-654
A continuous 0–2.5 measure of sleep depth derived from deciles of 3-second EEG band power, rather than five discrete stages.
Requires · Raw EEG
- SPD
Sleep spindle density
Lacourse et al., J Neurosci Methods 2019;316:3-11
Spindles detected per minute of N2, using the A7 algorithm.
Requires · Raw EEG
- SWA
Slow-wave activity decay (Process S)
Borbély, Hum Neurobiol 1982;1(3):195-204
The overnight dissipation rate of delta power across successive NREM periods.
Requires · Raw EEG
- TRN
Sleep–wake transition dynamics
Lo et al., PNAS 2004;101(50):17545-17548
Wake bouts follow a power law (reference exponent ~1.3) while sleep bouts are exponential. Reported alongside stage-transition entropy.
Requires · Epoch hypnogram
API
One call. One night. Everything it can support.
Post a recording, get the metric set back. The response is designed so a downstream reader can tell exactly how much to trust each number.
POST /v1/nights
Content-Type: application/edf
{
"night_id": string,
"source": "psg" | "hypnogram" | "wearable",
"epoch_sec": number,
"metrics": {
"sleep_regularity_index": {
"value": number, // 0-100
"coverage": number, // fraction of required epochs present
"confidence": string,
"algorithm": string, // versioned implementation id
"citation": string // Phillips et al., Sci Rep 2017;7:3216
},
"odds_ratio_product": { ... },
"spindle_density": { ... },
"slow_wave_decay": { ... },
"transition_dynamics": { ... }
},
"quality_flags": string[]
}- Coverage before value
- A metric computed over a partial recording says so. Coverage is a first-class field, not a footnote.
- Versioned algorithms
- Every value names the implementation that produced it, so a re-run months later is comparable or explicitly is not.
- Citations in the payload
- The reference for each metric ships in the response. Whatever you build on top can show its work.
- Input-aware
- EEG-derived metrics are simply absent when you send actigraphy. Nothing is silently approximated to fill the object.
Provenance
No simulated nights.
The reference implementation runs on PhysioNet’s Sleep-EDF Expanded corpus: real full-night polysomnography with hypnograms scored by human technicians.
Nothing on this site is computed from synthetic recordings. If a metric can be shown, it was derived from a real night that a person actually slept and a technician actually scored — and the same code path serves the API.