Open data
Every figure on PerDose is in these files, rebuilt with the site every morning. Use them for anything, under CC BY 4.0, with a credit to PerDose and a link. They hold nothing about any visitor.
The files
- perdose-prices.csv (gzipped): one row per ranked product at a UK shop, 3,987 rows as of .
- perdose-price-history.csv (gzipped): every first sighting, price change and stock change of every product since the record began.
- The vitamin D report's rows, recomputed every morning, and as sent on 15 October 2026 (figures of 14 October 2026).
- One table's rows:
/c/<supplement>/<form>.csv, for example /c/magnesium/bisglycinate.csv, with the same columns as the prices file. - The price refresh log as an Atom feed: what changed each morning.
The files can be fetched from any site (they are served with Access-Control-Allow-Origin: *). Fetch them once a day at most: the prices change once a morning.
perdose-prices.csv, column by column
| Column | What it holds |
|---|---|
supplement | The supplement, as its page names it. |
form | The form compared (its own table on the site). |
product | The product name, without the pack size. |
brand | The brand, as the listing gives it. |
retailer | The UK shop selling it. |
pack | The pack in words ("180 tablets", "1 kg"). |
amount_per_serving | The amount in one serving, as the label states it (the label's own mass for a salt or an extract). |
amount_unit | The unit of that amount (mg, mcg, IU, g, serving). |
pack_price_gbp | The pack price at the shop, in pounds, before delivery. |
price_per_standard_dose_gbp | The pack price divided down to one standard dose, in pounds, unrounded. |
standard_dose | The standard dose that figure is for. A unit for comparing, not a recommendation. |
cost_per_month_gbp | One standard dose a day for 30 days, in pounds. |
in_stock | yes or no, at the last check. |
price_date | The day the price was read. |
ships_from | Where the shop dispatches from (GB for the UK). |
product_url | The product's page on this site, with the working and the price history. |
product_id | A stable id for the product (the end of its page's address); it stays the same day to day. |
ean | The barcode, where the listing states one; blank otherwise. |
retailer_url | The shop's own product page, untracked, where we have it; blank otherwise. Our links to shops are not in the file. |
pack_units | Tablets, capsules, gummies or grams in the pack, as a number; blank where the listing gives only servings. |
servings | Servings in the pack, as a number. |
basis | "stated" where the amount is the label's own; "estimated" where we converted it with a published factor. |
check_cadence | "daily" for shops read from a live feed every morning; "weekly, by hand" for shops read from their pages by hand. |
Excluded: products we could not verify (they carry no figure), combination products (their price counts one ingredient of several) and Amazon (its terms keep its prices to its own service). How each figure is worked out: How we compare.
perdose-price-history.csv, column by column
| Column | What it holds |
|---|---|
date | The day of the event. |
event | first_seen, price_change or stock_change. |
product | The product name. |
brand | The brand. |
retailer | The shop. |
supplement | The supplement it is priced as. |
pack_price_gbp | The pack price from that day, in pounds. |
previous_pack_price_gbp | The pack price before a change; blank on a first sighting. |
in_stock | yes or no from that day. |
product_url | The product's page on this site. |
How to cite it
PerDose (2026). UK supplement prices per standard dose. https://perdose.co.uk/data/. CC BY 4.0.
A figure quoted from a page: name PerDose and link the page it came from. Questions about the data, or a supplement run as a report: hello@perdose.co.uk. Journalists: the press page.
Changes to the files
- : one CSV per price table,
/c/<supplement>/<form>.csv. - : seven columns added at the end of the prices file: product_id, ean, retailer_url, pack_units, servings, basis, check_cadence. Gzipped copies of both files; cross-origin access. The vitamin D report's rows as sent to journalists on 15 October, rebuilt from that morning's committed prices and kept unchanged.
- : the price history file.
- : the prices file, under CC BY 4.0.