Skip to content

About

API prices, hiring, SEC filings, revenue, incidents, and demand share for the frontier AI labs. Every number links to its source and shows when we read it.

What this is

A free, public, read-only terminal for equity analysts who cover AI infrastructure through the frontier-lab IPO wave. We track nine frontier model providers (OpenAI, Anthropic, Google, xAI, Meta, Mistral, DeepSeek, Alibaba’s Qwen, and Moonshot AI’s Kimi). For each one we follow API prices, hiring (including the roles that build data centers and power), OpenRouter demand share and the spend share it implies at list price, status-page incidents, misalignment disclosures, SEC filings, and disclosed revenue.

Most of these labs are still private. Until one files to go public, hiring, prices, and usage are the best data there is. We check EDGAR for the first public filing, and the revenue panel fills in from it. Until then the panel says “no audited disclosure” instead of showing a run-rate.

We check every source on a schedule, keep a copy of each page we read, and record what changed since the last check. Pages show what each source says now and what has changed. An alert only ever describes those recorded changes.

Who runs it

Built and run by Jeremy Ettlinger, a software engineer in New York who builds data platforms for institutional finance, previously at FactSet. Frontier Terminal is an independent project. It isn’t affiliated with any lab, bank, or employer, and no one pays for it.

Jeremy follows a written trading policy. Each thesis shows his position. He doesn’t trade a covered company within 48 hours after a notable or critical alert on it, holds positions at least 30 days, doesn’t trade against a published thesis before revising it, and doesn’t take IPO allocations in a covered company. The full policy is available on request. Write to contact@frontierterm.com.

The provenance rule

Every number links to the page we read it from and shows when we read it (UTC). If we can’t fetch it again, we don’t store it.

When a source publishes no figure, the page says so. OpenAI’s catalog page doesn’t list prices. Meta has no public hiring feed. OpenRouter’s price list is a third party’s copy of vendor prices, so we only use it as a cross-check. Its usage rankings are one aggregator’s traffic, so we don’t treat them as market share. Timestamps under a day old show as relative times. The full timestamp is in the hover text and the page markup.

Caveats

Each source shows the caveat from our audit, in the audit’s own words. Each source we chose not to use shows why. Both are in the coverage table, behind the info button on each row.

Data latency

SEC filings
We check EDGAR every 30 minutes. That covers the full-text search for new S-1s, the filings of each company we track, and XBRL (the SEC’s tagged financial data) for each company that reports revenue. Filings are where minutes matter.
Pricing and hiring
We also check every source, EDGAR included, every 6 hours. That way a stuck feed still gets picked up.
Pages
Pages refresh within five minutes of a new check. Each page shows the time of the check it reflects.
Against the press
The track record times each notable or critical alert against the first press report and the lab’s own post. It shows the alerts where the press was first too.
Confidential filings
A confidential draft registration doesn’t appear on EDGAR until the company makes it public. We report the public filing when it appears. We can’t see the draft.

Corrections

Every fix that changed or restored a published number. History is never rewritten.

  • 2026-11-04 · Demand share

    Two different token shares were printed without their denominators: the readout’s share of all OpenRouter tokens and the spend table’s share of the tracked labs’ tokens, side by side on /rankings. The fix

  • 2026-11-04 · Theses

    The Anthropic thesis passed its horizon (Anthropic’s public S-1, filed 2026-10-26) without the journal recording it. The horizon is now recorded, extended, and the revenue claim it promised is open. The fix

  • 2026-11-03 · Prices

    Google’s pricing and model pages moved to AI Studio on 2026-11-02; Google prices were not refreshed from 17:05 UTC that day until the fix. Values shown were the last ones read, not wrong ones. The fix

  • 2026-11-01 · Prices

    OpenAI redesigned its pricing page on 2026-10-23 and every poll failed until the fix; OpenAI prices were not refreshed for nine days. The fix

  • 2026-10-12 · Prices

    Anthropic’s balanced class showed claude-sonnet-5 after the 5.5 generation launched; it is claude-sonnet-5-5. The fix

  • 2026-10-08 · Prices and disclosures

    Claude Haiku 5.5’s “From” prices were not parsed, and OpenAI’s redesigned misalignment index (2026-10-07) was not read, until the fix. The fix

Not investment advice

This isn’t investment advice. We report what public sources say and when they said it. Nothing here is personalized or a solicitation. Judged alerts are a model’s reading of the changes we record, and they’re labeled that way.

Code and data

  • Source on GitHub (MIT). Every source and parser is in the repo.
  • Bulk exports of every table, as CSV or JSON.
  • License for our data. The last 90 days are CC BY 4.0. Older data is CC BY-NC 4.0, except what we published before 2026-11-04.
  • Commercial licensing for commercial use of the full history, your own terms, a dependable feed, or new coverage.
  • Atom feed of notable and critical alerts.

Connect an agent

The same queries the pages run, as MCP tools. Read-only, no account, no key.

Point Claude, ChatGPT, or any MCP client at the endpoint below. Each tool returns the same data as the matching API route, with every source URL and fetch time. It shares the site’s cache and the same rate limit per IP address.

https://frontierterm.com/mcp
claude mcp add --transport http frontier-terminal https://frontierterm.com/mcp

Tools: describe, get_overview, get_prices, get_price_history, get_hiring, get_hiring_history, get_releases, get_incidents, get_rankings, get_alerts, get_alert, get_coverage, get_status. Start with describe.