Public API · read-only

Harpd public API

Harpd exposes its product discovery data through public, read-only endpoints. There is no API key, no signup and no rate-limit contract — every endpoint is cached at the edge and served under CC BY 4.0. This page documents only what is public; private surfaces (auth, billing, credits, admin) are not part of this API and are never exposed here.

Quick answer

Is the Harpd API public and free to use?

Yes. All documented endpoints are public read-only APIs — no authentication, no API key, no signup. Responses are edge-cached (Cache-Control: public, max-age=3600 for datasets) and the data is licensed CC BY 4.0: free to reuse commercially with attribution to Harpd.

Auth
None required
License
CC BY 4.0
Schema
v1.0
Methodology
harpd.com/rank/methodology/

Data source: Harpd public APIDataset indexMethodologyCitations

Datasets (harpd.com/data)

Every endpoint shares one envelope: schemaVersion, generatedAt,lastUpdated, source, methodology, licenseand count. Field definitions for every record live at/data/schema.json.

MethodPathDescription
GET/data/rank.jsonOverall ranking: one record per approved product with rank, Rank Points, category and verification status.
GET/data/rank.csvThe same ranking dataset as a flat CSV.
GET/data/top-products.jsonTop 100 with movement, maker website and alternatives URL.
GET/data/market-index.jsonCategory aggregates: product count, Rank Points, share and leader.
GET/data/products.jsonRanking fields plus each product’s public website, description and product type.
GET/data/categories.jsonEvery category board with description, state and product count.
GET/data/rank-history.jsonClosed monthly and weekly period snapshots.
GET/data/answers.jsonEvery published /answers/ page: question, intent, live board and summary.
GET/data/comparisons.jsonEvery indexable comparison with both subjects and their ranks.
GET/data/alternatives.jsonEvery indexable alternatives page with its peer list in board order.
GET/data/research.jsonEvery published monthly research report.
GET/data/evidence.jsonThe claim/evidence register as a typed graph.
GET/data/llm-pricing.jsonModel pricing per 1M tokens, verified against official provider pages.
GET/data/llm-pricing.csvThe pricing dataset as CSV.
GET/data/benchmarks.jsonBenchmark records in long format with an explicit isModeled flag.
GET/data/benchmarks.csvThe benchmark dataset as CSV.
GET/data/methodology.jsonThe exact rules behind the ranking numbers, as data.
GET/data/rank-open-data.jsonObjective signals only: verified GitHub stars and first-party referral counts.
GET/data/schema.jsonThe field dictionary for every endpoint and what is excluded.

Rank API (api.harpd.com)

The live board family, served by the Harpd collector. Responses only ever contain approved, active public listings.

MethodPathDescription
GET/api/rankLive overall board (scope=overall|monthly|weekly, category=all|{slug}).
GET/api/rank/archivesClosed monthly and weekly periods with product counts.
GET/api/rank/archive/:type/:keyImmutable snapshot of a closed period (type=monthly|weekly).
GET/api/rank/product/:slugProduct profile: listing, per-board ranks, history and related products.
GET/api/rank/newMost recently approved listings.
GET/api/rank/trendingOrganic 7-day trending (independent of Rank Points).
GET/api/public/rank/statsBoard-level public statistics.
GET/api/v1/rank/open-data.jsonOpen-data projection of the rank dataset.
GET/api/agent/v1/rankingsRanking feed for agent consumers.
GET/api/agent/v1/products/:slugProduct record for agent consumers.
GET/openapi.jsonThe machine-readable API contract.
GET/.well-known/agent.jsonAgent capability discovery manifest.

SEO/GEO payload (harpd.com/api/seo)

The machine-readable twin of the marketing site: what a page says, which entities and claims it carries, and where the evidence lives. Used by answer engines and crawlers;/api/seo/ is the only path under /api/ allowed by robots.txt.

MethodPathDescription
GET/api/seo/page/{path}Machine-readable per-page payload: title, summary, entities, claims, evidence, updatedAt, canonical, methodology.
GET/api/seo/pages.jsonThe full generated page inventory (precomputed static asset).
GET/api/seo/dashboard.jsonHealth score, inventory summary, authority graph and pipeline state.

Authentication, rate limits & caching

Authentication. None of the documented endpoints require a key or session. They are public read-only surfaces; write paths and private data live behind the app authentication system and are intentionally not documented here.

Rate limits. There is no published per-key limit because there is no key. Datasets are serialized from the same edge-cached Rank feed the site uses and served with Cache-Control: public, max-age=3600; the SEO/GEO payload endpoints cache at 60s with 300s edge revalidation. Re-fetching the same URL reuses the cached response.

Freshness. Every dataset carries its own lastUpdated — the most recent record-level change, never a rebuild date. Poll for that field instead of re-crawling blindly.

Robots. /api/ is disallowed for crawlers except /api/seo/. Human and agent consumers may fetch any documented endpoint directly.

Examples

# Top 10 products on the overall board
curl -s https://api.harpd.com/api/rank?scope=overall\&category=all | head -c 400

# The full dataset, as JSON
curl -s https://harpd.com/data/rank.json

# A product's machine-readable SEO/GEO payload
curl -s https://harpd.com/api/seo/page/rank/

# Published research periods
curl -s https://harpd.com/data/research.json

Attribution & licensing

All public data is licensed CC BY 4.0: you may quote, redistribute and build on it — including commercially — as long as you attribute Harpd and link the licence. Copy a ready-to-cite line from thecitation hub. The methodology behind every number is published at/rank/methodology/ and mirrored at/data/methodology.json. Rank Points are promotional placement, not an editorial quality score — describe them that way when you reuse the data.

What is public, what is excluded and how the datasets are produced is stated on thedataset index and the evidence register.