Methodology

How we measure and publish prices.

The pricing data is built from public snapshots plus curated official-source reviews. The raw static outputs are public, and this page documents what is automated today versus planned next.

Last methodology update · 2026-05-12View raw data JSONPricing data ops
Pricing

How prices get on this site

OpenRouter data is refreshed from its public Models API. Official provider prices are curated manually in V1 with source URLs and review timestamps. Generalized provider scraping is planned after the first data pipeline is stable.

Fetch

OpenRouter snapshot

npm run pricing:fetch calls the OpenRouter public Models API and saves the raw response under data/snapshots/openrouter for auditability.

Curate

Official provider rows

V1 official prices are maintained in data/manual/official-prices.json with sourceUrl, observedAt, confidence, and optional validUntil fields.

Build

Normalize and merge

npm run pricing:build normalizes the latest OpenRouter snapshot, skips sentinel rows, merges official rows, and writes data/models.json, data/providers.json, and data/meta.json.

Review

Changes and future scraping

Large diffs can be marked needsReview: true in data/changes.jsonl. Generalized provider page scraping comes after this first pipeline is stable.

Reliability roadmap

What is planned after pricing coverage

V1 publishes auditable price data only. Latency, uptime, and region checks will be added after the pricing pipeline is stable and the measurement harness is documented.

01

Measurement harness

Define prompts, request parameters, timeout policy, and failure semantics before exposing reliability numbers.

PLANNED
02

Regional checks

Keep region-specific results separate so developers can compare deployment fit without hidden averages.

PLANNED
03

Raw summaries

Publish machine-readable summary files beside pricing data once the reliability pipeline exists.

PLANNED
04

Methodology first

No provider score is shown until the data collection method and review policy are public.

PLANNED
Boundaries

What we don't do

Worth being explicit. These are deliberate limits, not gaps.

Open data

Everything is downloadable

The public site reads static data outputs. Pull the files directly, audit the source metadata, or rebuild them locally with the documented npm scripts.

Changelog

When the methodology changes, you see it here

Methodology shifts can move historical numbers. We document every revision so old comparisons stay interpretable.

2026-05

Pricing pipeline v1

Added OpenRouter snapshots, normalized public JSON, curated official prices, metadata, and change-log review flags.

Affects history
2026-05

Official rows separated

Official provider prices now carry source URLs, observedAt timestamps, confidence, and optional validUntil windows.

Affects history
2026-05

Sentinel rows excluded

Routing-only rows with negative OpenRouter prices are skipped before data/models.json is written.

Affects history
2026-05

Static outputs documented

The public site now documents data/models.json, data/providers.json, data/meta.json, data/changes.jsonl, and local rebuild commands.

Affects history
Data Snapshot

Current static build inputs

The values below come from data/meta.json at build time.

Generated

generatedAt

2026-05-12T05:09:56.660Z

Models

modelCount

362

Providers

providerCount

3

Source

sourceSnapshot

2026-05-12T05-03-17-704Z.json