Keep pharmacy prices and benchmarks separate

The calculator compares prices you enter. Selected medication pages show dated cash-price estimates from a pharmacy, while the CMS tables present National Average Drug Acquisition Cost (NADAC) benchmarks. We never turn those benchmarks into a claimed pharmacy quote or guaranteed saving.

Calculator arithmetic

Cash total = your cash quote + additional fees not already included. Difference per fill = insurance cost − cash total. A positive difference means cash costs less for this fill; a negative difference means insurance costs less. Annual difference = difference per fill × the number of identical fills you enter.

Annual figures assume unchanged prices, quantities, fees, and coverage. They do not model deductibles, benefit stages, taxes, clinical suitability, or future price changes. If comparing different days supplied, normalize the quotes first.

Snapshot and selection

Our selected dataset contains 326 descriptions, retrieved 2026-10-29. We query CMS for selected medication names, use the latest available as-of date, and retain one representative NDC for each normalized description. We keep the established atorvastatin example NDC when it exists; otherwise we select the lexicographically first NDC. This is not a representative sample of retail quotes, a complete NDC catalog, or inventory data.

Units and precision

Source rates retain five decimal places in the directory. EA means each, ML means milliliter, and GM means gram. Package size matters. A per-unit value is not necessarily the price for a tablet, device, bottle, pen, or course of treatment.

Freshness and limitations

Each record displays its as-of date. Rebuilding the website does not make source records newer. A snapshot more than 14 days old is flagged in the browser. Static pages retain their dates even without JavaScript. Missing descriptions, new products, discontinued products, and other manufacturers may not appear.

Published pharmacy prices

We retrieve selected cash-pay estimates from the Cost Plus Drugs public pricing API. A scheduled daily refresh validates the response and rebuilds the static site. These offers are independent of CMS NADAC; we do not turn acquisition costs into retail estimates. The public refresh status identifies the snapshot used by this build.

Coverage includes selected generic tablets and capsules across 23 medication groups. Browse pharmacy price coverage. We match exact source product names, strength, form, release description, and quantity unit. Combination drugs and ambiguous packaged quantities are excluded. Immediate-release metformin is separate from metformin ER; other release descriptions also remain distinct. An equivalent-NDC list does not identify the NDC you will receive, so we do not join these offers to a specific NADAC record or claim clinical interchangeability.

Amounts before shipping include the source-reported medication and dispensing subtotal. We use the source’s complete shipping total where supplied, or add an explicitly supplied shipping fee to its quantity-specific subtotal. Missing fees stay unknown, not zero. A source rounding adjustment of at most one cent is shown when its itemized medication and dispensing amounts differ from the supplied subtotal; larger discrepancies are rejected. We do not extrapolate absent quantity prices, assume tablet count equals days supplied, or treat insurance-eligibility flags as personal copay quotes. Prescription and delivery eligibility must be confirmed with the pharmacy.

Every observation has a retrieval timestamp and a 48-hour expiry. The source does not supply a separate price-effective timestamp. Expired amounts and out-of-stock products are omitted on rebuild; the browser also hides expired amounts when JavaScript is available. With JavaScript disabled, the printed expiration time still applies. Refresh failures keep the previous retrieval time, and the daily workflow still attempts to rebuild and deploy so old offers can be removed. Prices and stock may change before expiry.

Validation rejects malformed amounts, mismatched totals, missing medication coverage, and unexpected large price or coverage changes until reviewed. Historical snapshots are retained in the private repository for audit, not offered as a public price-history dataset. This API is not labeled public domain. We have not established broader resale or redistribution rights; public downloads and price-history publication would require a separate source-terms review.

There is no market-wide cheapest-pharmacy ranking or referral commission for these ordinary product links. No visitor prescriptions, insurance identifiers, or addresses are sent to the pricing API; retrieval happens during the scheduled build.

Commercial independence

Paid links do not change calculations, source values, or provider order. We do not publish fabricated coupon discounts, pharmacist review credentials, customer testimonials, or pharmacy rankings.

Download the data · Editorial policy

Sources & further reading

Source links checked 2026-09-22. Cost information only; this content has not been clinically reviewed.