CGM & Blood Glucose API
Blood Glucose & CGM data from every wearable, in one schema
Continuous glucose monitoring streams normalised to a single unit, with insulin delivery alongside.

2/4
providers connectable today
3
webhook event types
Canonical unit
mg/dL canonical, mmol/L conversion preserved
What blood glucose & cgm looks like through one API
Continuous glucose monitoring is the fastest-moving category in consumer health data and the one with the least forgiving accuracy requirements. A CGM produces a reading every five minutes, indefinitely, and users act on those readings — which makes unit handling and gap handling correctness problems rather than polish problems.
WearLink normalises glucose to mg/dL as the canonical unit while preserving the provider's original unit and value, because the mg/dL and mmol/L conventions split cleanly along regional lines and a silent conversion error is roughly an eighteen-fold mistake. Nothing about the source reading is discarded.
Insulin delivery is carried as its own series where the source reports it, so closed-loop and therapy-adherence products can align dose with response without a second integration.
Where providers disagree
mg/dL versus mmol/L is a factor of ~18
US products work in mg/dL; most of the rest of the world uses mmol/L. A misconverted value is not subtly wrong, it is catastrophically wrong, and it will look plausible to code that has no unit check. Always read the unit field rather than assuming a default.
Gaps are normal and meaningful
Sensor warm-up, out-of-range transmitters and sensor changes all produce gaps. Interpolating across them fabricates readings a user may act on. Treat a gap as a gap and render it as one.
Regulatory posture differs from fitness data
Glucose data is health data in the strictest sense in nearly every jurisdiction. Access is gated by the provider, and what you may store, display and infer is constrained. Dexcom in particular has explicit terms on retention and display that are stricter than any fitness provider.
Readings arrive out of order after a connectivity gap
A CGM transmitter buffers readings when the phone is out of range and uploads the backlog on reconnection. That backlog arrives after readings with later timestamps have already been delivered, so an append-only pipeline that assumes monotonically increasing time will interleave the history incorrectly. Sort by the reading timestamp, never by arrival order. Sensor sessions also have distinct accuracy phases — the first hours after insertion are less reliable than the middle of a session — and the payload does not flag which phase a reading came from.
Webhook events for blood glucose & cgm
Summary: blood_glucose.created
Series streams:
series.blood_glucose.createdseries.insulin_delivery.created
The full catalogue is in the event catalogue.
FAQ
Blood Glucose & CGM — frequently asked questions
Which CGM sources does WearLink support?
What unit does the API return?
Can I use WearLink CGM data in a clinical product?
Get blood glucose & cgm from every device your users own
Free for up to 3 connected users. No credit card. Your first API key is issued the moment you sign up.