Methodology

How ModelsAtlas Works

Data sources, pricing normalization, capability signal methodology, and freshness approach — explained transparently.

Data sources

Primary: OpenRouter live catalog

The primary data source is OpenRouter's live API endpoint (https://openrouter.ai/api/v1/models). This provides:

  • Real-time per-token pricing (input and output)
  • Maximum context window sizes
  • Architecture modality (text, vision, audio, video)
  • Supported API parameters (tools, response_format, reasoning, etc.)
  • Top provider information
  • Model creation timestamps

OpenRouter aggregates pricing from the providers it hosts, so pricing reflects what a developer would pay calling the model through OpenRouter's API. Direct provider pricing may differ.

Secondary: Supabase model registry

A Supabase-hosted PostgreSQL registry stores supplementary model metadata:

  • Official model identifiers (for cross-referencing with provider docs)
  • Model family groupings (e.g., "GPT-4", "Claude 3", "Gemini 1.5")
  • Release dates and version labels
  • Source-of-truth URLs (links to official provider documentation)
  • Hosting status (generally-available, preview, deprecated)

The Supabase layer is updated less frequently than OpenRouter data and serves as the authoritative record for model identity and release metadata.

Tertiary: Official vendor documentation

Provider documentation is consulted for cross-verification, particularly for:

  • Anthropic, DeepSeek, Google, Meta, Mistral, and xAI official model cards
  • Release announcements and capability claims not reflected in OpenRouter metadata
  • Deprecation notices and migration guidance
  • New model launch confirmation

Vendor documentation is referenced, not scraped. When OpenRouter data and provider docs disagree, the provider documentation takes precedence for factual claims (pricing, context size) and OpenRouter is trusted for real-time cost data.

Pricing normalization

All pricing on ModelsAtlas is normalized to USD per 1 million input tokens. This is the standard unit used by OpenAI, Anthropic, Google, and most other providers. Output token pricing is shown separately as "USD per 1M output tokens."

TierPrice rangeExamples
Budget< $1.00 / 1M inputgpt-4o-mini, gemini-2.0-flash, llama-3.2-1b, mistral-nemo
Standard$1.00–$5.00 / 1M inputgpt-4o, claude-3.5-sonnet, gemini-1.5-pro, llama-3.1-70b
Premium> $5.00 / 1M inputo1-pro, claude-opus-4, gemini-2.5-pro, deepseek-r1
VariableCustom / negotiatedEnterprise tiers, open-weight models with no per-token cost

Per-call fees

Some models charge additional per-call fees (image processing, audio generation). These are shown separately from per-token pricing. When a model has a per-call fee, it is labeled explicitly and the pricing column shows "per-call" instead of a per-token rate.

OpenRouter vs. direct provider pricing

OpenRouter adds a markup layer on top of provider pricing. Calling Anthropic's API directly is typically 5–15% cheaper than through OpenRouter. ModelsAtlas shows OpenRouter pricing because it is the most accessible entry point for developers integrating multiple providers. If you are building a production system with a single provider, check their direct pricing — it will usually be lower than what is shown here.

Capability signals

The capability scores shown on model pages (reasoning, coding, creative) are directional estimates derived from model metadata, not official benchmark results. They should be used for quick filtering, not as authoritative rankings.

The scoring methodology uses a weighted combination of:

These scores are bounded between 72–98 to avoid unrealistic extremes. They are recalculated every time the catalog refreshes, so they will shift as model metadata updates.

For official benchmark data, consult LMArena (for community-reported results) or provider documentation (for internally-validated scores).

Model ranking approach

Catalog ordering

The default model catalog ordering is relevance-based, prioritizing well-known providers (OpenAI, Anthropic, Google) and models with complete metadata. Users can sort by newest, alphabetical, price-low, price-high, or context-high.

"Best for" pages

The "Best for" pages rank models by use case. Rankings are derived from capability signals, pricing, and context window data. Each "best for" page includes a fit score (0–100) combining these factors, plus editorial commentary on the top 3 picks.

Comparison pages

Curated comparison pages (/compare) are hand-written with editorial verdicts. Auto-generated comparison pages (/compare/{provider}/{modelA}/vs/{provider}/{modelB}) use a structured axis comparison with winner flags but no editorial content.

Freshness approach

The catalog uses Next.js ISR (Incremental Static Regeneration) with a 6-hour revalidation window. This means:

The Phase 5 freshness daemon (GitHub Actions cron) will add a weekly changelog digest documenting major changes — new model launches, significant price reductions, deprecations, and new capability flags.

Uniqueness and quality standards

All generated pages (comparison pages, "best for" rankings, alternatives pages) are checked against a shingled Jaccard uniqueness threshold of ≥30%. This means any two generated pages must share fewer than 30% of their 3-shingled n-grams. Pages that fall below this threshold are flagged for editorial review.

Comparison pages include unique editorial content — a primary verdict, capability axis explanations, and FAQ entries — that distinguishes them from templated listings.

Thin or near-duplicate content is a quality risk that Google and AI citation systems both penalize. The uniqueness validator is run as part of the content quality audit.

What ModelsAtlas does not do

Questions or corrections?

If you have questions about how a specific metric is calculated, notice outdated pricing, or have feedback on the methodology — use the search to find the relevant model page and flag the issue through the site contact options.

See also: About ModelsAtlas · Author: Karmendra