How This Tracker Works (Methodology)
What we track
Published consumer prices for FDA-approved GLP-1 medications across every channel where a patient can legitimately fill a prescription: manufacturer direct-pharmacy programs (LillyDirect, NovoCare), TrumpRx, manufacturer savings cards, Medicare arrangements, telehealth subscription programs, and retail reference prices. Prices are collected only from official, publicly published pages.
What we deliberately don't track
Compounded semaglutide or tirzepatide. These products sit in a shifting regul atory situation with the FDA, and listing their prices would imply a purchase recommendation we're not qualified — or willing — to make. We also don't compare drug effectiveness; that's a medical question for you and your physician, not a spreadsheet question.
How verification works
Every price in the table carries three things: an as-of date, a source link to the official page, and an archived screenshot taken on the verification date. A human re-verifies the full table on a dated weekly pass, and in between a program re-reads every source page through the day — around 22 sweeps in a typical 24 hours, counted rather than promised, because the scheduler behind it drops a run under load and the front page prints the measured figure — to catch a number moving early — see the monitor section below for exactly what each of those two does and does not establish. Anything that changed gets a row in the public change log — old price, new price, date. Rows we haven't yet confirmed display an "unverified" badge and no price rather than a guessed one. If you catch an error, the fastest fix is the contact link below — corrections ship in the next build, credited.
The source monitor
Through the day — the front page prints how many sweeps actually ran, because the scheduler behind it drops runs and a counted figure is worth more than a promised one — a program asks every source page behind this table for its current copy and checks one narrow thing: is the figure we published still printed on the page we took it from? That check is the reason this tracker can say something a weekly spreadsheet cannot — the gap between a seller moving a number and this site admitting it has gone from about a week to about an hour, most of the time. The monitor's own report is on the front page: when it last ran, how many source pages it could read, how many figures it still found, and what it is asking about.
Be clear about what it is not. The monitor is a machine reading text; it is not a verification. A verification is a person opening the source, reading the terms around the number — the refill window, the eligibility line, the expiry date — and transcribing it. Only a verification can change a price on this site, and every price carries the date of the one it came from. The monitor cannot edit the table. It is wired so that it cannot, deliberately: the worst thing an unattended scraper can do to a price tracker is quietly publish a number nobody read in context.
So when a figure stops appearing at its source, the table does not change. The row gets a may have moved marker, the front page says which figure and when it was last seen there, and a person is queued to go and look. Sometimes the answer is a price change and it lands in the change log with the old number still visible. Sometimes it is a page redesign, a rotating offer, or a regional variant, and nothing moves at all. We publish the question at the speed of the machine and the answer at the speed of a human, and we label which is which.
Three limits, stated rather than hidden. Some sources cannot be read this way at all: they refuse automated requests outright, build the price in the browser, or sit behind a login. Today that is roughly half of them, and those rows are counted separately on the front page as checked by hand only; the monitor makes no claim about them between verification passes. Some pages ask, in robots.txt, not to be read by automated clients; we honour that and count those rows the same way. And a source that shows different figures on consecutive reads is marked varies at source rather than being reported as a change every hour.
What we do when a row goes stale
A re-check can be missed — a holiday, a source page redesign, an operator away. We publish what that costs rather than hiding it. Every row carries the date it was actually checked, and the date shown anywhere on this site is always a real verification date, never the date the page happened to be rebuilt. These thresholds count human verification, and the source monitor does not move them: a machine confirming a figure is still printed somewhere is not a person reading the terms around it. A row past one verification cycle (7 days) gets a "re-check" marker showing its age; past two cycles (14 days) the marker and the banner at the top of the table say so in stronger terms and tell you to open the source link before acting. What we will not do is take the table offline for being old: an honestly-dated price you can check yourself is more useful than a blank page, and a rule that goes dark when it fires would quietly encourage nobody to write the rule at all. Staleness changes what the page claims about itself; it never removes the page.
Why prices here may differ from what you pay
Published program prices are not quotes. Insurance coverage, prior authorization, dose tier, pharmacy stock, program eligibility (several savings cards exclude government plans), and enrollment windows all move the number. Treat this table as your starting map, then confirm the final price with the program or your pharmacist before committing.
How this site makes money
No outbound link on this site is an affiliate link, and nothing here earns us a commission. We hold one affiliate approval and have published no link under it. That programme sells compounded semaglutide and tirzepatide, which this site does not price. If a paid link ever appears, the page will say so next to the link rather than in the small print. Three rules govern any paid link here, present or future: commissions never affect ranking (the table sorts by your click, not our payout); we link every channel we track whether or not it pays us; and prices are transcribed from the source page identically either way. We accept no payment for placement and no sponsored rankings.
Who runs this
An independent research operation (Speculan LLC). We are not affiliated with, endorsed by, or sponsored by Eli Lilly, Novo Nordisk, or any pharmacy or telehealth provider named here. Trademarks belong to their owners and are used only to identify the products being priced.
Nothing on this site is medical advice. Medication decisions belong with you and your physician.