pepmg_

Methodology

Most comparison sites hide how they work. We publish it. Here's exactly how every number on pepmg is produced — and how to check us.

current index built 37m ago · 2026-08-16T09:16:24.094Z

0 · Why this site exists

You've used the other kind of price list. You know the moves:

None of that requires trusting us — every claim above is checkable on any row of the site. That's the whole idea.

1 · Collection — first-party, live-captured

Every price on this site is read directly from the vendor's own live store — the same public product feed their own storefront runs on — then cross-checked against a fresh fetch before publishing. No middlemen, no stale caches, no guesswork.

Why no "breadth" from third-party feeds? We tested an aggregated third-party dataset for wider vendor coverage and spot-checked it — the listings were stale and in some cases dead (a product still shown that the vendor no longer sells). A price index you can't trust is worse than a smaller one you can. So we removed it: if it's on pepmg, we pulled it live ourselves.

2 · Normalization (the hard part)

Raw vendor data is messy. We turn it into one comparable number — cost per milligram — and flag what shouldn't be compared head-to-head:

From 5772 raw listings this build, 3243 survive as clean, comparable, in-stock retail rows.

3 · Ranking (money can't move it)

Tables sort strictly ascending by $/mg. Bulk and outlier rows are de-emphasized and pushed below clean retail. No vendor can pay to move up. pepmg publishes no outbound vendor links right now, so no row on this site earns us a commission; the sort is the same $/mg arithmetic either way. See /disclosure.

4 · Continuous re-checking

A separate job re-fetches every first-party vendor on a schedule and compares the live price to what's published here. If a listing has gone dead or drifted, it's flagged for removal or refresh — so "captured 4h ago" stays true, not just true once. The whole index is also an open feed: /api/prices.json — every listing carries its vendor, fetch time, and the flags above. The per-listing vendor source URL is suspended from that feed while vendor links are off — the feed says so in meta.vendorLinks, and every other field is unchanged.

5 · What the receipt proves — and what it doesn't

Being honest about our limits is the point. A pepmg row proves exactly one thing: this was the vendor's listed price for this product at the time and source shown. It does not prove:

If a number looks wrong, the receipts are right there — click the source, check the math, and tell us at hello@pepmg.com. We'd rather be corrected than wrong.

6 · Vendor longevity — domain ageHow long the vendor's website domain has existed — from public registration records and the Wayback Machine. It's the domain's age, not proof of how long the business has run.

One of the few objective, hard-to-fake trust signals in this space is how long a vendor has actually been online. Outright scam shops rarely last; established stores have a reputation to protect. For each vendor we resolve two public facts:

We show the earlier of the two as a rough "online since" as a longevity signal about a source, not scored into anything and not published per seller while vendor identity is suspended. Two honest caveats: it is the domain's age, not proof of how long the business has run — an aged domain can be bought or a brand rebranded — and it is a weak signal, so we never treat it as a safety verdict. It has no effect on the $/mg ranking; price is still the only sort, and no vendor can pay for placement.

All products listed are sold by third-party vendors for laboratory and research use only (RUO). Where an FDA label or a peer-reviewed study has published a dose, pepmg reports it with the source named, because that is safer than guessing. It is a report, not medical advice and not a recommendation to use anything. pepmg sells nothing and ships nothing. Listings are price-tracking data, not endorsements.