Rules: how vendors are verified and scored
A vendor comparison is only as good as its verification criteria and its update history, so both are here. The verification score (0 to 100) is built only from evidence you can check yourself, every vendor page shows each component with its weight and evidence, and a vendor without enough evidence is shown as insufficient data or unscored, never given a guessed number. For research use only; the score rates the paper trail, not any product’s fitness for use, and it is not medical advice.
Rules version 1 · 421 vendors scored, 71 with insufficient data, 1490 unscored · median score 75 · tests last read 2026-10-19 20:22 UTC
What counts as verified
A certificate of analysis (COA) counts toward the score only when all of this holds:
- Independent sample. The sample was tested for Finnrick, an independent testing service, not supplied as a document by the vendor. A certificate a vendor posts on its own site cannot be traced to a sample anyone else bought, so it earns nothing here.
- Identifiable lab. The certificate names the laboratory that ran the test (for example Krause Analytical, BTLabs).
- Lot-specific. The record carries a lot or batch identifier as printed on the vial. A result without one says something about the vendor, less about any batch you might receive.
- Verifiable. The certificate is on file with a public record page you can open: every test on a vendor page links to it.
- Recent. Only tests from the last 2 years count toward results, certificates, depth and sampling; recency is scored on its own.
Not inputs, ever: price; customer reviews or forum reputation; certificates the vendor posts itself (they cannot be traced to a sample someone else bought); sponsorship (it buys a labelled pin, never points).
The formula
Score = the sum of seven components, rounded. Missing evidence earns no points for that component; nothing is estimated.
| Component | Weight | Rule |
|---|---|---|
| Lab results | 35 | Share of the vendor’s classifiable independent tests in the last 2 years that passed Finnrick’s default criteria (identity confirmed, purity at least 99.5%, dose within 35% of the label). Points = weight × share passed. |
| Verifiable certificates | 20 | For each test in the window, one third each for: a certificate of analysis on file with a public record page; the lab named; a lot or batch identifier on the sample. Points = weight × the average. |
| Testing depth | 10 | Number of independent tests in the window, full points at 30. Points = weight × min(tests, 30) / 30. |
| Recency | 10 | Age of the newest test: up to 90 days full points, up to 180 days two thirds, up to a year one third, older none. |
| Finnrick rating | 15 | Finnrick’s own confidence-adjusted rating (0 to 100) under its default “Purity focus” classifier, as published. Points = weight × rating / 100. |
| Blind sampling | 5 | Share of tests in the window whose sample is recorded as bought by the public or by Finnrick, so the vendor could not pick it. Samples sent in by the vendor, or through a program the record does not explain, do not count. Points = weight × share. |
| Ordering and terms | 5 | One point each, from the vendor’s own pages: an online checkout; payment methods published; where it ships from published; a contact email; a website we could read. |
| Total | 100 |
Scored, insufficient data, unscored
- Scored. scored.
- Insufficient data. shown as “insufficient data”, no score.
- Unscored. shown as “unscored”.
“Passed” is Finnrick’s classification under its default “Purity focus” criteria. A pass is about that one sample; it does not mean every batch or listing was tested.
Sources and how often they are read
| Evidence | Source | Re-read |
|---|---|---|
| Every independent test: result, purity, lab, batch, certificate, who sent the sample | Finnrick public API, /api/v1/tests | daily |
| Finnrick rating per vendor | Finnrick vendor record, /api/v1/vendors/<vendor> | every 3 days per vendor |
| New vendors | Finnrick vendor list | every 6 hours |
| Checkout, payment methods, ships-from | the vendor’s own shop and terms pages, and the compiled register | daily (shop), hourly (register) |
| Contact email and website | the vendor’s own site; Finnrick’s vouched contacts | weekly; every 3 days |
| The score itself | recomputed from all of the above | after every update, and every 6 hours as tests age |
Not affiliated with Finnrick or any vendor. Finnrick’s data is read from its public read API, which its robots.txt opens to crawlers.
Update history
Each vendor page shows when its evidence was last verified (last read from the source), when its score changed, and its full score history with the reason for each change. The 50 most recent changes across all vendors:
| When (UTC) | Vendor | Score | Why |
|---|---|---|---|
| 2026-10-19 21:04 | Kandies | 49/100 → 58/100 | finnrick rating 0→9 |
| 2026-10-19 21:03 | Yiwu Laizhi Biotechnology | 71/100 → 78/100 | finnrick rating 0→7.7 |
| 2026-10-19 21:03 | Warrior Makers | 76/100 → 85/100 | finnrick rating 0→9.4 |
| 2026-10-19 21:03 | Sennuo Community | 71/100 → 82/100 | finnrick rating 0→11.1 |
| 2026-10-19 21:03 | Diju Peptides Wellness and Co | 49/100 → 61/100 | finnrick rating 0→11.7 |
| 2026-10-19 21:03 | Kangshengda Technology | 66/100 → 78/100 | finnrick rating 0→11.8 |
| 2026-10-19 21:03 | Wuhan HongyouJie HYJ | 57/100 → 69/100 | finnrick rating 0→11.8 |
| 2026-10-19 21:02 | Purely Peptides | 60/100 → 71/100 | finnrick rating 0→11.7 |
| 2026-10-19 21:02 | Peptility | 67/100 → 79/100 | finnrick rating 0→12 |
| 2026-10-19 21:02 | OmegAmino | 59/100 → 71/100 | finnrick rating 0→12.1 |
| 2026-10-19 21:02 | NUPEPS Peptides | 62/100 → 73/100 | finnrick rating 0→11.4 |
| 2026-10-19 21:02 | Lunivo Peptide | 61/100 → 72/100 | finnrick rating 0→10.9 |
| 2026-10-19 21:02 | Golden Age Peptide | 49/100 → 58/100 | finnrick rating 0→9 |
| 2026-10-19 21:02 | Glacier Aminos | 66/100 → 77/100 | finnrick rating 0→11.1 |
| 2026-10-19 21:01 | Anhui Tengrun Import And Export | 72/100 → 84/100 | finnrick rating 0→12.1 |
| 2026-10-19 21:01 | ANKR Lab | 51/100 → 61/100 | finnrick rating 0→9.9 |
| 2026-10-19 21:00 | Pure Lyophilized Labs | 33/100 → 35/100 | finnrick rating 0→2.7 |
| 2026-10-19 21:00 | Amino Usa | 35/100 → 39/100 | finnrick rating 0→4.3 |
| 2026-10-19 21:00 | Ningbo Shuyou Plasticization | 56/100 → 62/100 | finnrick rating 0→6.4 |
| 2026-10-19 21:00 | VIVA Biotechnology | 37/100 → 42/100 | finnrick rating 0→5.2 |
| 2026-10-19 21:00 | Longevity Plan | 34/100 → 41/100 | finnrick rating 0→6.3 |
| 2026-10-19 21:00 | PurePEPS | 54/100 → 61/100 | finnrick rating 0→6.5 |
| 2026-10-19 20:59 | Peptides For Sale | 44/100 → 51/100 | finnrick rating 0→6.6 |
| 2026-10-19 20:59 | Pure Tested Peptides | 45/100 → 52/100 | finnrick rating 0→6.5 |
| 2026-10-19 20:59 | Swiss Chems | 49/100 → 56/100 | finnrick rating 0→6.9 |
| 2026-10-19 20:59 | Astro Peptides | 50/100 → 58/100 | finnrick rating 0→7.2 |
| 2026-10-19 20:59 | Lumira | 69/100 → 77/100 | finnrick rating 0→7.5 |
| 2026-10-19 20:59 | Crush Research | 69/100 → 76/100 | finnrick rating 0→7.1 |
| 2026-10-19 20:59 | Hydro Research | 49/100 → 57/100 | finnrick rating 0→7.8 |
| 2026-10-19 20:59 | VertexBio | 46/100 → 51/100 | finnrick rating 0→5.2 |
| 2026-10-19 20:59 | Go Alpha Labs Peptides | 67/100 → 74/100 | finnrick rating 0→7.6 |
| 2026-10-19 20:59 | XTP | 59/100 → 66/100 | finnrick rating 0→7.3 |
| 2026-10-19 20:58 | Cocer Peptides | 60/100 → 67/100 | finnrick rating 0→7.5 |
| 2026-10-19 20:58 | Liberty Peptides | 54/100 → 62/100 | finnrick rating 0→7.6 |
| 2026-10-19 20:58 | Peptide Gurus | 46/100 → 54/100 | finnrick rating 0→8 |
| 2026-10-19 20:58 | Deuschem | 45/100 → 53/100 | finnrick rating 0→8.1 |
| 2026-10-19 20:58 | Peptides 4 Research | 41/100 → 49/100 | finnrick rating 0→8 |
| 2026-10-19 20:58 | Limitless Life Nootropics | 46/100 → 55/100 | finnrick rating 0→8.1 |
| 2026-10-19 20:58 | ZePeptide | 68/100 → 76/100 | finnrick rating 0→7.8 |
| 2026-10-19 20:58 | Pink Girl Peps | 56/100 → 64/100 | finnrick rating 0→8.2 |
| 2026-10-19 20:58 | Dankang BioHealth | 66/100 → 74/100 | finnrick rating 0→7.9 |
| 2026-10-19 20:58 | Apollo Peptide Sciences | 40/100 → 48/100 | finnrick rating 0→8.3 |
| 2026-10-19 20:57 | Guangzhou Aoyu | 58/100 → 66/100 | finnrick rating 0→7.8 |
| 2026-10-19 20:57 | Prime Peptides | 48/100 → 56/100 | finnrick rating 0→8.3 |
| 2026-10-19 20:57 | Novapure | 57/100 → 65/100 | finnrick rating 0→8.1 |
| 2026-10-19 20:57 | Biolabshop Limited | 30/100 → 38/100 | finnrick rating 0→8.1 |
| 2026-10-19 20:57 | LP Peptide | 64/100 → 71/100 | finnrick rating 0→6.8 |
| 2026-10-19 20:57 | Get Peptidess | 28/100 → 37/100 | finnrick rating 0→8.5 |
| 2026-10-19 20:57 | Homopeptide | 69/100 → 77/100 | finnrick rating 0→7.9 |
| 2026-10-19 20:57 | Oasis Peptides | 57/100 → 65/100 | finnrick rating 0→8.3 |
Changes to these rules
- , v1: First version: seven components, 100 points, scored from Finnrick’s per-test records and ratings and the vendor’s own pages.
Site changelog
- : A verification score, and the rules behind it
- : Faster under load, a changelog, PubMed links
- : One address per page
- : Dates, and the CLI on npm
- : Ten times faster filters, an About page
Full changelog · the code behind every number is public: src/score.js · these rules as JSON · wrong evidence? Report a correction.