Open mushroom supplement product dataset

This read-only snapshot contains factual label, source, testing, price, and normalized-value fields for the bounded product index. Missing and conflicting values remain null.

Download products.csv | Download products.json | Download fields.json

Read-only API and CORS

GET /api/products, GET /api/products/{slug}, and the three /data/*.json|csv resources are read-only. Product API and data responses allow cross-origin GET requests; no POST, PUT, PATCH, or DELETE product endpoint exists.

Field dictionary

NameMeaningTypeUnitNullable / null semanticsFormulaEncoding
slugStable internal product-record key.stringunitlessNoStored, not derivedlowercase hyphenated text
brandBrand shown on the stored SKU record.stringunitlessNoStored, not derivedplain text
productNameProduct or SKU name shown by the source.stringunitlessNoStored, not derivedplain text
productUrlExternal brand or retailer source page for the SKU.stringunitlessYes - No valid source page is stored.Stored, not derivedabsolute HTTP(S) URL
categoryStored product form, such as capsule or powder.stringunitlessNoStored, not derivedplain text enum-like value
speciesPrimary mushroom species or Blend classification.stringunitlessYes - The primary species is not disclosed.Stored, not derivedplain text
blendComponentsStored ingredient/component list for a blend.stringunitlessYes - No component list is stored.Stored, not derivedJSON text containing a string array
partUsedMushroom material stated by the source.stringunitlessYes - The mushroom part is not disclosed.Stored, not derivedplain text
extractionExtraction method stated by the source.stringunitlessYes - The extraction method is not disclosed.Stored, not derivedplain text
extractionRatioExplicit extraction ratio parsed or stated separately from method.stringratioYes - No explicit ratio is disclosed.Stored, not derivedN:N text
servingSizeMgActual extract or product weight in one serving.integermg/servingYes - No safe serving-weight denominator is disclosed.Stored, not derivedbase-10 integer
servingsPerContainerNumber of servings in the priced container.integerservings/containerYes - Container serving count is not disclosed or conflicts.Stored, not derivedbase-10 integer
betaGlucanPctLabel- or COA-stated beta-glucan percentage; a stated minimum remains a floor.numberpercentYes - No unambiguous beta-glucan percentage is disclosed.Stored, not derivedJSON number
betaGlucanMgPerServingEffective beta-glucan mass per serving, preferring an explicit stated amount.numbermg/servingYes - Neither a stated amount nor safe percentage-times-serving derivation is available.betaGlucanMgPerServingStated, otherwise servingSizeMg * betaGlucanPct / 100JSON number
betaGlucanMgPerServingStatedBeta-glucan mass per serving explicitly stated by a source.numbermg/servingYes - No explicit mass per serving is disclosed.Stored, not derivedJSON number
betaGlucanSourceSource for the stored beta-glucan statement.stringunitlessYes - No beta-glucan source is stored.Stored, not derivedabsolute HTTP(S) URL
alphaGlucanPctCOA-stated alpha-glucan percentage.numberpercentYes - No sourced alpha-glucan percentage is stored.Stored, not derivedJSON number
starchPctCOA-stated starch percentage.numberpercentYes - No sourced starch percentage is stored.Stored, not derivedJSON number
coaUrlStored certificate-of-analysis document URL for the exact product evidence.stringunitlessYes - No public COA URL is stored.Stored, not derivedabsolute HTTP(S) URL
coaLotLot identifier read from the stored COA evidence.stringunitlessYes - No lot identifier is disclosed.Stored, not derivedplain text
coaReportIdLaboratory report identifier read from the stored COA evidence.stringunitlessYes - No report identifier is disclosed.Stored, not derivedplain text
coaDateDate shown on the stored COA report.dateunitlessYes - No report date is disclosed.Stored, not derivedISO 8601 YYYY-MM-DD
manufactureDateManufacture month shown by the stored evidence.stringunitlessYes - No manufacture month is disclosed.Stored, not derivedISO-like YYYY-MM
thirdPartyTestedWhether the source explicitly states third-party testing.booleanunitlessYes - The source does not state either tested or not tested.Stored, not derivedJSON boolean
heavyMetalsTestedWhether the source explicitly states heavy-metals testing.booleanunitlessYes - The source does not state either tested or not tested.Stored, not derivedJSON boolean
certificationsCertification names stored for the SKU.stringunitlessYes - No certification list is stored.Stored, not derivedJSON text containing a string array
priceUsdExact standalone one-time price for the represented SKU/container.numberUSD/containerYes - No exact SKU-bound USD price is stored; ranges and foreign currencies remain null.Stored, not derivedJSON number
priceObservedAtDate on which priceUsd was observed at its source.dateunitlessYes - No exact stored price means no price observation date.Stored, not derivedISO 8601 YYYY-MM-DD
pricePerServingDerived container price divided by servings.numberUSD/servingYes - Price or serving count is missing/nonpositive.priceUsd / servingsPerContainerJSON number
pricePerGramBetaGlucanDerived price per gram of label-stated beta-glucan.numberUSD/g beta-glucanYes - At least one required formula input is missing/nonpositive.priceUsd / (servingsPerContainer * servingSizeMg / 1000 * betaGlucanPct / 100)JSON number
subscriptionPriceUsdExact subscription price when independently stored.numberUSD/containerYes - No exact subscription price is stored.Stored, not derivedJSON number
availabilityStatusAvailability statement observed for the SKU.stringunitlessYes - No availability state is stored.Stored, not derivedplain text enum-like value
availabilityObservedAtDate on which availabilityStatus was observed.dateunitlessYes - No availability state means no availability observation date.Stored, not derivedISO 8601 YYYY-MM-DD
dataProvenanceEvidence tier assigned to the stored facts.stringunitlessYes - No evidence tier is stored.Stored, not derivedthird-party-COA, brand-COA, brand-claim, or retailer-listing
sourceUrlsAll stored evidence URLs for the record.stringunitlessYes - No source list is stored.Stored, not derivedJSON text containing an absolute-URL string array
fieldObservationsPer-field source URL and observation date receipts.stringunitlessYes - No valid per-field receipt object is stored.Stored, not derivedJSON text object keyed by field name; each value has sourceUrl and observedAt
lastVerifiedAtLatest bounded evidence-observation timestamp for any field on the record.datetimeunitlessYes - No record-level latest observation is stored.Stored, not derivedISO 8601 local datetime
verificationSourceProcedure/source label corresponding to lastVerifiedAt.stringunitlessYes - No record-level verification label is stored.Stored, not derivedplain text
retailerLinksStored external retailer or brand-direct links for the SKU.stringunitlessYes - No retailer link is stored.Stored, not derivedJSON text containing objects with retailer, url, and optional program
transparencyTierDeterministic display tier derived from part, COA, and beta-glucan coverage.stringunitlessYes - The derived tier is unavailable.Rule-based hi, mid, or lo classification; not a quality score.hi, mid, or lo

Provenance

Each record preserves its provenance tier, source URLs, verification source, per-field observation JSON, and observation dates where available. A COA, brand statement, and retailer listing are not treated as equivalent evidence.

Changelog

Quarterly verification procedure

  1. Freeze a dated copy of the current product records.
  2. Review stored source URLs without automated brand scraping.
  3. Record price, availability, label, and COA observations with exact dates; keep unknown or conflicting values null.
  4. Recompute normalized values with the published formula.
  5. Run the offline deterministic audit and preserve its JSON receipt.
  6. Publish only after schema, export, crawler, and browser tests pass.

Read the calculation and evidence methodology