Data drop · 2026-08-18
The 2026 Vial-Content Report
We archive every public certificate of analysis (COA) we can find for the research-peptide market — 32,594 documents at the time of this snapshot. Of those, 5,964 deduplicated batches give both a lab-measured peptide content and an unambiguous labelled vial size, across 68 vendors with at least 20 usable batches each. This report is what those measurements say about the question every buyer actually has: does the vial contain what the label claims?
The counter-narrative is the headline: the gray market's dominant habit is overfilling. The median tested vial contains 9.7% more peptide than its label states, and 85.6% of batches meet or beat the label. Underfilling is rare fleet-wide — but it is not evenly distributed. The 3.4% of batches that come in more than 10% under label concentrate heavily at specific vendors, where the rate reaches 1 in 6.
Where the 5,964 batches landed
| Measured vs label | Batches | Share |
|---|---|---|
| More than 20% under label | 79 | 1.3% |
| 10–20% under label | 121 | 2% |
| 5–10% under label | 207 | 3.5% |
| 0–5% under label | 454 | 7.6% |
| At label to 10% over | 2,155 | 36.1% |
| More than 10% over label | 2,948 | 49.4% |
How we got these numbers
Every number above starts as a vendor-hosted COA document — a lab report the vendor publishes on its own site. We OCR each document and extract the measured peptide content, then parse the labelled vial size from the product name with a conservative parser that returns nothing on any ambiguous label: multi-size kits and unclear names are dropped rather than guessed. Ratios outside 0.1–3 are discarded as extraction noise. That yields 8,997 candidate batches from 12,316 OCR'd documents with a numeric content field.
Then come the three artifact filters — added after we verified, by human eyes on 53 vendor-hosted documents, exactly how OCR gets this wrong. They remove 3,033 batches that would otherwise distort every rate on this page:
- Duplicate documents — 1,280 batches removed. The same COA ingested at multiple URLs (thumbnails, scaled copies, mirror paths, renamed files) counts once, not four times. Identity is the document's content — lab, batch number, product, values — never its URL.
- Label echo — 1,477 batches removed. Many COAs are purity-and-identity reports that never measure content at all. On those, OCR tends to copy the labelled mg from the product title into the "measured" field, fabricating a perfect 1.000 ratio. Any batch where measured equals label to the decimal is treated as "no content measurement" — it can vouch for a vendor in neither direction. Entire vendors whose corpora were all label-echo left the dataset here, including some that had looked suspiciously perfect.
- Blend component collapse — 276 batches removed. When a lab reports a multi-peptide blend as one content value per component, OCR stores a single number — sometimes one component, sometimes an average — and dividing it by the blend's total label fabricates a damning ~0.5 ratio. Blend products are excluded entirely: sparse but real beats wrong.
The third filter exists because it burned us. Our own first-pass OCR falsely flagged a vendor as one of the market's worst underfillers — because the lab printed per-component contents for its two-peptide blends, and our pipeline divided one component by the total label. Human verification against the vendor's own documents showed every sampled vial at or above label once the components were summed. We dropped the vendor from the worst list and excluded the entire claim class from the dataset. Every vendor named below survived that same standard: a person read the documents.
Full pipeline details are on the methodology page.
The vendors where underfilling concentrates
This table names only vendors whose failing batches we verified by eye against the documents on the vendor's own site — every value below is printed verbatim on a hosted lab report. Rate is the share of a vendor's usable batches measuring more than 10% under label.
| Vendor | >10% under | Usable batches | What we verified |
|---|---|---|---|
| pandapeptides.com | 17.4% | 23 | Verified against the Janoshik reports the vendor hosts. Worst verified batch: 5.48 mg measured in a vial labelled 10 mg. |
| vandl-labs.com | 16.7% | 24 | Verified against the vendor’s own Vanguard Laboratory PDFs — which the vendor publishes itself, failing results included; that transparency is worth acknowledging. One of the flagged batches is a capsule product (spec 250 mcg per unit, result 36 mcg). A separate 80 mg four-peptide blend, excluded from this rate as unmeasurable, carries a COA that reports 9.95 mg. |
| hkroids.com | 16% | 25 | These are COAs the vendor displays for its products — the client name is redacted on the documents themselves, so the rate describes what the vendor publishes, not batches established as its own. Values verified against the hosted Vanguard Laboratory reports. |
| peptologylabs.uk | 14.3% | 21 | Small document count: the rate rests on 3 failing documents out of 21 — vendor-published Janoshik full-test PDFs, including a cagrilintide batch at roughly half its label. Read it as three verified misses, not a stable rate. |
| ascensionpeptides.com | 16% | 25 | Verified against vendor-hosted MZ Biolabs quantitation reports naming the vendor as client — including an ipamorelin vial measured at 72% of label. The rate rests on 4 failing documents out of 25 usable; the vendor’s overall median is above label with a wide spread, and it publishes its own failing reports. Disclosure: Ground Truth has an affiliate link for this vendor; these tables are affiliate-blind in both directions. |
Other vendors clear the same statistical bar but have not yet had their documents individually verified; they are not named here. Verification-first naming is the rule, not the exception — the filters remove known artifact classes, they do not prove the surviving rows.
The other end: who fills at or over label
Highest share of batches at or over label, among vendors with at least 20 usable batches and zero label-echo exclusions — vendors whose corpora needed the echo filter are not eligible for this table, in either direction.
| Vendor | At or over label | Median ratio | Usable batches |
|---|---|---|---|
| myoasislabs.com | 100% | 1.037 | 44 |
| astralabs.co.uk | 100% | 1.203 | 22 |
| regenlabs.co.uk | 96.3% | 1.125 | 27 |
| midshirelabs.co.uk | 93.7% | 1.136 | 63 |
| apexamino.com | 86.4% | 1.158 | 22 |
Who does the testing
Lab share of the 5,964 usable content measurements:
| Lab (as printed on the COA) | Batches | Share |
|---|---|---|
| janoshik | 3,060 | 51.3% |
| freedom diagnostics | 1,171 | 19.6% |
| vanguard laboratory | 442 | 7.4% |
| bioviridian | 245 | 4.1% |
| freedom diagnostics testing | 185 | 3.1% |
| ils laboratories | 137 | 2.3% |
What this data cannot tell you
Everything above describes vendors that publish testing. Vendors with no public COAs are invisible to this report — absence of a failing test is not evidence of a full vial, and a vendor that never publishes anything can't appear in either table.
The same goes for tests never commissioned. A COA that only reports purity says nothing about content; one that only reports content says nothing about sterility, endotoxin, or heavy metals. The tests a vendor chooses not to buy are themselves a signal, and this report does not fill those gaps with assumptions — an empty cell stays empty.
And this snapshot covers documents we had archived as of 2026-08-18. Vendors add, remove, and replace COAs continuously; a future data drop re-runs the whole pipeline on the corpus as it stands then.
Caveats. Measurements are extracted by OCR from vendor-hosted documents; individual extractions can be wrong, which is why vendor naming requires human verification of the underlying documents and why three artifact classes are filtered wholesale. Labelled sizes come from a conservative parser that drops anything ambiguous. Per-vendor rates describe the COAs a vendor publishes, which are not a random sample of its production. A vendor's appearance here is a statement about its published documents on 2026-08-18, not a permanent verdict. Ranking and inclusion are independent of any affiliate relationship.
All compounds discussed are sold for research use only. See how we collect and score this data or browse all tracked vendors.