# Harpd Product Ranking Dataset > Human-readable README for the canonical `rank` dataset. Companion to https://harpd.com/data/rank.json. ## What it is One record per approved product on Harpd Rank: rank position, Rank Points (promotional placement), category, verification state and per-record updatedAt. ## How it is generated One record per approved product on the Harpd Rank board, mapped through an explicit field whitelist: id, name, slug, url, category, rank position, Rank Points, verification state and per-record updatedAt. Rank Points are awarded from promotional placement purchased with Credits, never from editorial judgment. - **Source type:** `FIRST_PARTY_DATABASE` - **Coverage:** All approved Harpd Rank listings across all categories. - **Methodology:** https://harpd.com/rank/methodology/ ## Update frequency Continuous — regenerated from live Rank data on request. ## Schema The versioned field schema is published at https://harpd.com/data/schema.json. - **JSON endpoint:** https://harpd.com/data/rank.json - **CSV mirror:** https://harpd.com/data/rank.csv ## License CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/ ## Citation > Harpd. "Harpd Product Ranking Dataset." harpd.com/data/ License: CC BY 4.0. ## Limitations - Rank Points are promotional placement purchased via Credits — NOT an editorial quality score. They reflect what a product paid to appear higher, not how good it is. - Harpd does not publish first-party traffic or revenue figures for third-party products. Any such number comes from the product or a third party and is not in this dataset. - The live board changes continuously; a snapshot reflects the time it was fetched. For history, use the immutable monthly snapshots in /data/rank-history.json. ## Methodology How these numbers are produced is documented at https://harpd.com/rank/methodology/. ## Reproduction 1. Fetch the machine-readable board: `curl https://harpd.com/data/rank.json` 2. Fetch the tabular mirror: `curl https://harpd.com/data/rank.csv` 3. Each record carries its own `updatedAt`, so any snapshot can be re-verified on any later date. Treat Rank Points and positions as frozen at the response time; reconstruct history from the immutable /data/rank-history.json snapshots instead of re-fetching the live board. ## Attribution Source: Harpd Data licensed under CC BY 4.0: https://creativecommons.org/licenses/by/4.0/ Canonical page: https://harpd.com/data/