Skip to content
Dupedex

Data sources

Where each field comes from

One primary source per field, named — so that disagreeing with us is a thing you can actually do.

Field by field

9 groups
FieldSourceHow it is read
Claim wording, evidence URLThe merchant’s own product pageQuoted verbatim from the product’s own description or structured product record. Never from a category page, a banner or a recommendation widget.
Price, currency, sizeThe merchant’s own product pageThe listed price of the variant on the date shown. Cost per millilitre is arithmetic on price and size, not an editorial judgement.
Catalogue presence, listed stockThe merchant’s own product pageTwo separate fields, read on the same visit. Neither is a live signal.
US shipping, free-shipping threshold, delivery time, returns, samplesThe merchant’s own policy pagesFive facts per merchant, each stored with the policy URL and the date it was read. Unrecorded means unknown, not free.
Fragrance identity: brand, name, flanker, editionThe brand’s own site, where one existsResolved by a reviewer. Where the record was first seen on a merchant page and the brand publishes nothing usable, brand-side fields stay unknown rather than being filled in from elsewhere.
Original retail price, official note listThe brand’s own site onlyHeld for a small minority of records. If the brand does not publish it, the field is unknown and no retail price is shown — attributing a merchant’s number to the brand would be a fabricated source.
Product photographyThe merchant’s own product imageProcessed locally, served from our CDN, with the source URL kept against the record. Never a brand logo, never bottle trade dress used as decoration.
Coverage countsThe merchant’s own sitemapPages read over pages published. Nothing is sampled, extrapolated or rounded up.
Change eventsOur own ledgerGenerated when a record is created or a value is observed. Each event carries its evidence URL, its reviewer and its date.

What is never a source

5 exclusions
  • Fragrantica, Parfumo, Basenotes and comparable community encyclopaedias — not scraped, not mirrored, not used as a source for any field.
  • Other dupe sites and their mappings, prices or ratings. Where one of them surfaces a merchant we do not track, that merchant goes on a queue to be checked from its own pages; their data never becomes ours.
  • Brand imagery, logos and bottle photography from brand sites.
  • Any merchant whose robots policy asks us not to read it.
  • Our own opinion of how anything smells. There is no such field.

These are constraints, not aspirations. A field with no primary source is published as unknown.

What this release is built from

1.9.3+2026-08-23
Merchant pages read
5387
Candidates put through review
3374
Reclassified during review
370
Published claim records
3807
Read and not promoted
2013

The rejected file ships with the dataset, and the per-merchant breakdown is on each merchant page. Method: how a claim gets verified.

Current as of dataset 1.9.3+2026-08-23, Aug 23, 2026. Every correction is logged in public.

to move · to open · typos are fineBrowse every brand