Skip to content
Ari Mayer edited this page Jun 12, 2026 · 4 revisions

Data Sources

models aggregates data from multiple sources. This page describes where each type of data comes from and how it stays current.

Model data

  • Source: models.dev, an open-source database of AI models maintained by SST
  • Fetch strategy: Fetched from the models.dev API at TUI startup
  • Coverage: 4,000+ models across 85+ providers
  • Data includes: model names, IDs, providers, capabilities (reasoning, tools, files), pricing, context windows, modalities, release dates, knowledge cutoffs, open weights status

Benchmark data

Benchmark data comes from four independent sources, each served as its own data file:

Source Coverage Data includes
Artificial Analysis ~540 models Intelligence/Coding/Math indexes, academic and agentic benchmark scores, tokens per second, latency, input/output/blended pricing
Epoch AI ~310 models Frontier benchmarks (ARC-AGI, FrontierMath, Epoch Capabilities Index), agentic and academic evals
Arena ~95 models Crowdsourced Elo ratings with confidence intervals and vote counts across six leaderboards (Text, Vision, Code, Agent, Search, Document)
LLM Stats ~120 models Per-category TrueSkill ratings across 11 categories (Agents, Code, Math, Reasoning, Finance, Legal, and more)
  • Fetch strategy: All four files are fetched fresh from a jsDelivr CDN endpoint on every launch, in parallel (no local cache). Sources load progressively -- the Benchmarks tab is usable as soon as the first source lands.
  • Auto-updating: A GitHub Actions workflow fetches the latest upstream data and runs an offline transform pipeline that converts each source's raw API/CSV dump into a shared schema, committing changes to the repository. Artificial Analysis and LLM Stats refresh roughly every 30 minutes; Arena and Epoch AI refresh twice daily. The CDN serves the resulting files to all users.
  • Schema: Each file ships its own metric definitions (labels, groups, scales, directions, descriptions), so the app renders every source's columns, detail sections, sort options, and radar presets without hardcoding any benchmark names.
  • Enrichment: At launch, benchmark entries are matched against models.dev data to fill in missing release dates, open-weights status, context windows, tool support, and reasoning capability.
  • A legacy single-source data/benchmarks.json file is still published for previously released binaries that fetch the old format.

Agent data

  • Source: Curated catalog in data/agents.json
  • Coverage: 11 AI coding assistants
  • Data includes: name, GitHub repo, categories (CLI/IDE), installation method, pricing model, supported providers, platform support, open source status, binary name, version detection commands, homepage and docs URLs
  • Contributing: Adding a new agent to data/agents.json requires no Rust knowledge. See Contributing for details.

GitHub data

  • Source: GitHub REST API
  • Fetch strategy: Two modes depending on context:
    • TUI: 2 API calls per agent -- one for releases, one for repo metadata (stars, issues, license). Uses ETag conditional fetching with disk cache for fast startup.
    • CLI: 1 API call per agent -- releases only (no repo metadata needed). No caching.
  • Cache: ~/.local/share/modelsdev/github-cache.json with configurable TTL (default: 1 hour). See Configuration#github-cache.
  • Data includes: release versions, release dates, changelogs/release notes, star count, open issue count, license

Status data

  • Source: Each provider's official status page
  • Fetch strategy: Fetched on demand when the Status tab is active or when agents status shows the health column
  • Platforms supported:
  • Data includes: overall health status, individual component/service statuses, active incidents with updates, scheduled and in-progress maintenance windows
  • Fallback: If a provider's official status page is unreachable, apistatuscheck.com is used as a fallback source
  • Coverage: 22 providers. See Status#tracked-providers for the full list.

Data flow summary

Data type Fetched when Cached Update frequency
Models TUI startup No Real-time from API
Benchmarks (4 sources) Every launch No CDN updated every 30 min (AA, LLM Stats) / twice daily (Arena, Epoch)
Agents (catalog) Embedded N/A Updated with releases
GitHub (releases, stars) TUI startup / CLI command Yes (ETag, 1h TTL) On demand
Status Tab active / CLI status No On demand

Clone this wiki locally