Skip to content

Buying a CGM Without a Prescription, and Getting the Raw Data Out

Woolf Software
A feathered teal engineered animal on a black plinth, a glowing amber disc grown into its upper foreleg.

Yes. In the United States you can now buy a continuous glucose monitor over the counter, with no prescription and no telehealth call in between. A continuous glucose monitor, or CGM, is a small sensor worn on the skin with a filament sitting just under it. It reports a glucose reading every few minutes. Dexcom’s Stelo and Abbott’s Lingo and Libre Rio are cleared for adults 18 and over who are not taking insulin. You order online, a sensor arrives, you apply it to the back of your upper arm and pair it over Bluetooth. Expect roughly $45 to $60 per sensor depending on pack size, which works out to about $90 to $130 a month of continuous coverage. Prices move, so check before you buy.

If you want a single device and a single recommendation, the choice comes down to how you plan to handle the data. Buy Stelo if you care about the Dexcom ecosystem and want CSV export that works without reverse engineering anything. Buy a Libre-family sensor if you want to run Juggluco or xDrip+ and pull readings locally off the sensor itself, accepting that you will have to fight the app stack to do it.

What is for sale

Three over-the-counter sensors are worth considering at the moment, and they differ less in hardware than in labeling and software. Here is what each one is.

  • Stelo (Dexcom) wears for 15 days, transmits to a phone app, and is sold either as one-off two-packs or as a subscription. It is built on G7 hardware with different firmware and a different labeling claim. It has no urgent-low alarm, and it is not cleared for insulin dosing.
  • Lingo (Abbott) wears for 14 days and layers a coaching app on top of Libre 3 hardware, scoring “glucose spikes” in a proprietary unit. You can ignore the scoring and work from the underlying trace.
  • Libre Rio (Abbott) is the over-the-counter sensor aimed at adults with type 2 diabetes who are not on insulin, also with a 14-day wear time.

Everything else marketed as a “non-prescription CGM” is a software subscription sitting on top of one of these sensors. Signos, Levels and Nutrisense work this way, sometimes with a telehealth prescription attached for Dexcom G7 or Libre 3. What you are paying $100 to $400 a month for is an app. If you can write pandas, you do not need it. A review of the over-the-counter versus prescription category describes the same split: the hardware is largely shared, while the labeling and the software wrapper differ 1.

There is no truly subscription-free option in the sense of a reusable sensor. The sensor is a consumable with a wire in your interstitial fluid and a battery, and it expires on schedule. What you can avoid is a recurring app subscription, by buying sensor packs outright.

Accuracy, and what the MARD number hides

Accuracy in this field is usually summarized by a single number, so it helps to know what that number does and does not capture. MARD, the mean absolute relative difference against a laboratory reference, is the headline figure. Prescription Dexcom G7 reports about 8.2% overall in adults, Stelo reports about 9.8%, and Libre 3 sits in the same 8 to 10% band. Treat all of these as manufacturer-reported under favorable conditions.

There are three things a single MARD figure will not tell you. The first is that accuracy is not uniform across the glucose range. Relative error grows at low glucose, which is exactly where it matters clinically, and that is why over-the-counter sensors are labeled for people not on insulin. Stelo’s display range is deliberately narrow, and it will not wake you up for a low.

The second is that accuracy degrades under physiology the trials did not cover. Sensor performance is meaningfully worse in the conditions that make hospital patients interesting: hypoperfusion, edema, hypothermia, and a list of interfering substances. Ascorbic acid (vitamin C) reads high on Libre-family sensors, and older Dexcom generations were sensitive to acetaminophen 2. If you take a gram of vitamin C and see a 40 mg/dL step, that step is the sensor rather than your metabolism.

The third is that over-the-counter firmware smooths harder. The consumer versions apply more filtering to reduce noise complaints, which flattens sharp postprandial peaks and adds lag. Interstitial glucose already trails blood by 5 to 15 minutes, so you should not expect to catch a true peak height to within 10 mg/dL.

Whether any of this is useful if you do not have diabetes remains genuinely open. The published case for non-diabetic CGM use is reasonable and rests mostly on behavior change and pattern discovery rather than diagnosis 3. In people with type 2 diabetes, higher sensor wear time tracks with better glycemic control 4. That at least suggests continuous data used consistently changes something.

Getting the raw data out

The value of a sensor to a technical user depends on how easily you can retrieve the underlying readings, and that varies by brand.

With Stelo, the app exports CSV, a plain text table you can read with any analysis tool. You get a header block, then rows at a 5-minute cadence. Each row carries a timestamp, an event type, and a glucose value in mg/dL. Dexcom’s developer API (v3, using OAuth2 for authorization, with a sandbox that returns synthetic data) covers /egvs, /events, and /dataRange, but Stelo coverage through the API has been inconsistent. Do not build a pipeline that assumes it is there. Schedule a monthly manual export instead and treat the CSV as ground truth.

With Libre and Lingo, the picture is more awkward. LibreView will produce a CSV, but the export is throttled, and the Lingo app hides the underlying trace behind its scoring interface. The path we use is Juggluco on Android. It reads the sensor over NFC and BLE directly, stores readings in a local SQLite database, and exposes a Nightscout-compatible HTTP endpoint on the phone. You can then run curl http://phone:17580/api/v1/entries.json?count=2000 and have your own data with no cloud round trip. There is also libre-link-up-api-client, which works against the LinkUp follower API, but it is unofficial and breaks whenever Abbott changes the endpoint.

Whichever route you take, land everything in one place. A small Nightscout instance (Mongo plus the REST API) works, and so does a single Parquet file per sensor session. We prefer Parquet plus a notebook, because Nightscout is more infrastructure than a single-person dataset needs.

Before you analyze anything, normalize the series onto a regular grid:

import pandas as pd

df = pd.read_csv("stelo_export.csv", skiprows=1)
df = df[df["Event Type"] == "EGV"]
df["ts"] = pd.to_datetime(df["Timestamp (YYYY-MM-DDThh:mm:ss)"])
df["mgdl"] = pd.to_numeric(df["Glucose Value (mg/dL)"], errors="coerce")
s = (df.set_index("ts")["mgdl"]
       .resample("5min").mean()
       .interpolate(limit=3))  # bridge <=15 min, never more

Values exported as “Low” or “High” become NaN under errors="coerce", and that is the behavior you want. Do not backfill them with 40 or 400, and never interpolate across a gap longer than about 15 minutes, because a sensor restart gap filled linearly will invent a smooth ramp that never happened.

What to compute

Once the data is clean, a handful of standard summary measures will describe your overall control, and one meal-level measure will tell you something you could not learn any other way. Start with percent time in the 70 to 180 mg/dL range. Then add the coefficient of variation, which is standard deviation divided by mean, where under 36% is the usual stability threshold. Finish with mean amplitude of glycemic excursion. Then compute the measure that makes this exercise worth doing at all: per-meal incremental area under the curve, or iAUC.

To calculate it, take the 30-minute mean before the first bite as your baseline. Integrate 120 minutes forward with numpy.trapz over the baseline-subtracted curve, and record both peak delta and time to return to baseline. Log meals with a timestamp accurate to the minute, since a 10-minute logging error moves iAUC more than most of the food differences you are trying to measure.

The useful experiment here is repetition rather than novelty. Eat the same meal on four separate mornings and look at the spread before you conclude anything about that food. Within-person day-to-day variance on an identical meal is large enough to swamp a single comparison, and meal order, sleep, prior exercise, and which day of the sensor’s life you are on all shift the result.

If you want to check your sensor against blood, a fingerstick meter costs about $20 and strips a few cents each. Bear in mind that meters cleared to ISO 15197 are themselves only accurate to ±15 mg/dL below 100. Take three paired readings during a flat stretch rather than during a spike, because the interstitial lag will make a rising sensor look wrong when it is behaving correctly. For people already using CGM well, routine confirmatory fingersticks add little, which is the finding of the REPLACE-BG trial 5.

Failure modes worth knowing before your first sensor

A few predictable artifacts account for most of the confusing readings people encounter early on. Knowing them in advance saves you from misreading noise as physiology.

  • Day one runs low and noisy while the insertion site settles. Many people discard the first 12 to 24 hours.
  • Compression lows. Sleeping on the sensor produces a smooth dip to 50 or 55 that recovers the moment you roll over. If your nocturnal lows all happen on the same side, the cause is mechanical.
  • Adhesive failure around day 8 to 10. An overpatch costs a dollar and saves a $50 sensor.
  • Clock drift and timezone handling in exports. Some exports are in local time with no offset recorded. Store UTC plus an explicit offset column.

Where a clinician belongs

Everything above is measurement, and measurement is not diagnosis. Several findings are reasons to talk with a physician and get a lab-drawn A1c and fasting glucose rather than something to settle from a consumer sensor. Those are fasting readings consistently above the normal range, readings under 60 mg/dL that are not compression artifacts, or symptoms. Over-the-counter devices are not cleared for insulin dosing, and clinical benefit from CGM depends heavily on how the data is structured and interpreted 6.

Questions people also ask

Is there a cheaper alternative to Dexcom G7? Stelo is Dexcom hardware at roughly half the cash price, and Abbott’s Lingo and Libre Rio are comparable. The tradeoff is no low alarms, a narrower display range, and heavier smoothing.

Which OTC CGM is most accurate? They are close enough that reported MARD differences, roughly 8 to 10%, do not separate them for personal use. Pick on data access instead: Stelo for clean CSV export, Libre-family sensors for local reads via Juggluco or xDrip+.

Can I get a CGM for free? Manufacturers run first-sensor trials, and if you have a diabetes diagnosis, insurance coverage is the real path. The cost-effectiveness analyses supporting coverage are built on type 1 populations rather than on healthy adults running self-experiments 7.

Is there a CGM with no subscription? Yes, if you mean no app subscription. Buy sensor packs outright and analyze the exports yourself. There is no reusable sensor.

Can I buy a glucose monitor without having diabetes? Yes. Over-the-counter CGMs and fingerstick meters are both sold to anyone, and use by people without diabetes remains an active research question rather than settled practice 3.

Woolf Software builds longitudinal molecular profiles of individuals: whole-genome sequencing, RNA sequencing, proteomics, blood biomarkers, and continuous glucose data, integrated into one model of you. Build your profile.

Footnotes

  1. Julia Arriazola, Joshua Wollen, Shantera Davis, et al. Review of Over the Counter and Prescription Continuous Glucose Monitoring. Journal of Pharmacy Practice, 2025. https://doi.org/10.1177/08971900251328832

  2. Virginia Bellido, Guido Freckman, Antonio Pérez, et al. Accuracy and Potential Interferences of Continuous Glucose Monitoring Sensors in the Hospital. Endocrine Practice, 2023. https://doi.org/10.1016/j.eprac.2023.06.007

  3. David C. Klonoff, Kevin T. Nguyen, Nicole Y. Xu, et al. Use of Continuous Glucose Monitors by People Without Diabetes: An Idea Whose Time Has Come?. Journal of Diabetes Science and Technology, 2022. https://doi.org/10.1177/19322968221110830 2

  4. Irl B. Hirsch, Satish K. Garg, Enrico Repetto, et al. Continuous Glucose Monitoring Frequency and Glycemic Control in People With Type 2 Diabetes. JAMA Network Open, 2025. https://doi.org/10.1001/jamanetworkopen.2025.39278

  5. Grazia Aleppo, Katrina J. Ruedy, Tonya D. Riddlesworth, et al. REPLACE-BG: A Randomized Trial Comparing Continuous Glucose Monitoring With and Without Routine Blood Glucose Monitoring in Adults With Well-Controlled Type 1 Diabetes. Diabetes Care, 2017. https://doi.org/10.2337/dc16-2482

  6. Ramzi A. Ajjan. How Can We Realize the Clinical Benefits of Continuous Glucose Monitoring?. Diabetes Technology & Therapeutics, 2017. https://doi.org/10.1089/dia.2017.0021

  7. Stéphane Roze, John J. Isitt, Jayne Smith-Palmer, et al. Long-Term Cost-Effectiveness the Dexcom G6 Real-Time Continuous Glucose Monitoring System Compared with Self-Monitoring of Blood Glucose in People with Type 1 Diabetes in France. Diabetes Therapy, 2020. https://doi.org/10.1007/s13300-020-00959-y