Methodology · Model pricing

Where every price comes from

No guessed numbers. Each model price in Harpd is sourced from the provider's official pricing page, recorded with a verification date and source link, and published in one canonical file.

Answer

Every price in Harpd is pulled from the model provider's official pricing page and stored with a sourceUrl and verifiedAt timestamp. Deprecated models are flagged. The canonical machine-readable source is /data/llm-pricing.json — we never fabricate an unknown price.

Evidence
  • Sourced from official provider pricing pages
  • Every entry has verifiedAt + sourceUrl
  • Deprecated models flagged, never deleted silently
  • One canonical file: /data/llm-pricing.json

Procedure

  1. 1

    Fetch the official price

    We read the provider's published pricing page for each model — input, output, cached input, and batch rates where the provider publishes them.

  2. 2

    Record provenance

    Each entry stores the sourceUrl we read and a verifiedAt ISO timestamp of when we captured it.

  3. 3

    Flag deprecated models

    Models the provider has retired are kept but marked deprecated: true so historical comparisons stay possible without silently dropping data.

  4. 4

    Publish one canonical file

    The result is generated from src/lib/pricing-registry.ts into /data/llm-pricing.json and /data/llm-pricing.csv. Every price shown on Harpd traces back to this file.

Data schema

Each record in the dataset carries the following fields:

FieldTypeMeaning
idstringStable model identifier
providerstringProvider name (e.g. openai, anthropic)
displayNamestringHuman-readable model name
inputPerMillionnumberInput price per 1M tokens (USD)
outputPerMillionnumberOutput price per 1M tokens (USD)
cachedInputPerMillionnumber | nullCached input price per 1M tokens, if published
batchInputPerMillionnumber | nullBatch input price per 1M tokens, if published
batchOutputPerMillionnumber | nullBatch output price per 1M tokens, if published
contextWindownumber | nullContext window in tokens, if published
sourceUrlstringOfficial pricing page the price came from
sourceNamestringShort label for the source
verifiedAtstringISO timestamp of verification
deprecatedbooleanTrue if the provider has retired the model

What we do not do

We never fabricate a price we cannot source. If a provider does not publish a rate (for example, a batch price that isn't available), the field is null — not an estimate. Any derived "estimated cost" shown on the site is computed from real published fields and labeled as a calculation, not presented as a new price.