Source hierarchy
This page sets out what counts as evidence for each fact, and the order sources are trusted in.
Order of trust
Aggregator sites, forums and social media are never used for prices. Prices and stock come only from these three kinds of source, in this order:
- A feed the vendor supplies.
- A public structured product endpoint, where the vendor's terms and robots file allow it.
- A storefront product page with structured data, under the same test.
What counts as evidence
Other facts have their own sources. Returns and terms come from vendor policy pages. Business details come from regulators and registries.
- Price: a list price and any sale price, stored separately.
- Stock: In stock, Out of stock or Unknown. We read whether a product can be bought, not how many are left.
- Discount: an effective price includes a code only when the code is verified and eligibility is known, shown as "Includes verified code. Shipping, duties and taxes excluded." If a code is tied to an affiliate arrangement, that is disclosed next to the outbound button. Commission has zero weight in ranking.
- Shipping: the vendor's own shipping policy page, read once a week. The US rate, the order total for free shipping and whether it ships outside the US show only where the page states them plainly. Prices say "Shipping, duties and taxes excluded."
- Certificate of analysis: "COA on file" when the vendor links a certificate for the product. Documentation coverage, not a product-quality guarantee. Listed products are for research use only.
- Lab tests: the number of tests Finnrick has published for a vendor, with its date and a link to Finnrick. No pass rates.
Permission and hard stops
A vendor feed or a permitted catalog URL is the normal path. Crawling is the exception. Every source must have a registry entry with its terms URL, robots status and review date. The owner sets its crawl permission. No source is collected without it.
We never rotate IP addresses and never solve CAPTCHAs.
Collection stops on any of these:
- A login wall.
- A CAPTCHA or explicit bot block.
- A robots disallow.
- Repeated 403 responses.
- A cease-and-desist or rights complaint. The source is disabled pending legal review.
Snapshot first
Every fetch is saved as a raw, immutable snapshot before anything is parsed, and kept for 30 days. Each price keeps its source URL, retrieval time, snapshot ID and content hash.
An opened price row shows its snapshot ID beside a View source link to this page; the snapshot itself is not public. If a vendor disputes a price, the snapshot will show what was served and when (for a store read through its structured data, that data). Vendors will be able to respond to and dispute their record but not edit or delete an observation, and corrections will leave an audit trail.
Review queue
A price is held for review when it falls below a fifth of its last price, rises above five times it, or puts its $/mg under a fifth of the median of three or more other vendors. A held listing is left out of tables and charts until the owner decides. A size that cannot be read shows "No $/mg" with its reason, and a product matched to no compound is not shown.
Each listing comes from one source and shows the latest price read from it. Prices from different sources are never merged or averaged.
Compound names
Compound names and aliases come from The Peptide Reference's registry, under licence.
Freshness
Every price shows its age. For example: "Price checked 18 minutes ago." A price checked in the last 6 hours is recent; after 14 days without a successful check it is stale.
A failed check does not blank a price. A stale price stays visible, shown for example as "Last successful price check 16 days ago." After 60 days without a successful check it leaves comparisons. A source disabled after a cease-and-desist or rights complaint follows the hard stops above.