# models.rip for agents and developers

Everything on models.rip is public, unauthenticated and free to use. There is no API key, no sign-up and no rate limit worth the name. The dataset is [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) — use it, credit it.

## The dataset endpoint

[/graveyard.json](https://models.rip/graveyard.json) is the entire cemetery in one document: every model grave and every benchmark grave, with the fields the pages are rendered from. It is a static file, cached for an hour, and it is the right thing to fetch if you want all of it. There is no paginated or per-record REST API, because at this size one file is a better interface than one.

- Model graves carry `slug`, `name`, `provider`, `modelId`, `aliases`, `born`, `died`, `deprecatedAnnounced`, `retirementScheduled`, `causeOfDeath`, `successor`, `benchmarks`, `contextWindow`, `pricing`, `epitaph`, `lastWords` and `sources`.
- Benchmark graves carry `slug`, `name`, `born`, `died`, `causeOfDeath`, `frontierAtLaunch`, `frontierAtDeath`, `ceiling`, `ceilingBasis`, `successor`, `epitaph` and `sources`.
- `died: null` means a reserved plot: deprecation announced, model still answering. `retirementScheduled` is the shutdown date the provider published, when it published one.
- Every grave cites at least one source, and every source is the provider’s own page.

## The HTTP API

Three read-only JSON endpoints, described in OpenAPI 3.1 at [/openapi.json](https://models.rip/openapi.json). Every operation carries a unique `operationId`, a description, typed parameters and a response schema, which is what a model needs to build a call to one without being told how.

- [/api/graves](https://models.rip/api/graves) — search. `q` matches the name, the model id, any retired snapshot id, the provider and the epitaph text. Filter with `provider`, `cause` and `status`; page with `limit` and `offset`. `total` is the size of the answer, not of the page.
- [/api/graves/{slug}](https://models.rip/api/graves/gpt-4) — one grave in full. Takes a retired snapshot id too: `/api/graves/gpt-4-0613` answers with the GPT-4 grave and says what it resolved from.
- [/api/plots](https://models.rip/api/plots) — every provider plot, with buried and reserved counted apart.

Failures come back as JSON in one shape, never as an HTML error page: an `error` object with a `code` from a closed set, a `message`, a `hint` naming the next thing to try, and a link back to this page. A parameter outside its range is refused rather than quietly clamped.

## Markdown instead of HTML

Every page on this site serves markdown to a client that asks for it. Send `Accept: text/markdown` to any page URL and you get the content without the 3D scene, the navigation or the markup around it; the same URL still serves HTML to a browser. Responses carry `Vary: Accept`, so a cache cannot hand one audience the other’s copy.

Every page also has a `.md` sibling for clients that would rather follow a link than set a header: [/gpt-4/epitaph.md](https://models.rip/gpt-4/epitaph.md) is the epitaph, and the homepage is [/index.md](https://models.rip/index.md). Both are advertised from the HTML with `<link rel="alternate" type="text/markdown">`.

## The command line

There is a CLI over the same API, with no dependencies and no build step: `npx models-rip search claude haiku`, `npx models-rip show gpt-4-0613`, `npx models-rip plots`. `--json` prints the raw payload for piping. `show` takes a retired snapshot id as readily as a slug.

## llms.txt

[/llms.txt](https://models.rip/llms.txt) is the [llmstxt.org](https://llmstxt.org/) index: what this site is, when an agent should reach for it, and where the machine-readable versions live. [/llms-full.txt](https://models.rip/llms-full.txt) is every epitaph in the cemetery in one file, for when fetching 59 URLs is the wrong shape.

## The MCP server

models.rip runs a Model Context Protocol server over Streamable HTTP at [/mcp](https://models.rip/mcp). Point any MCP client at `https://models.rip/mcp` — no authentication, no session to establish. Its server card is published at [/.well-known/mcp](https://models.rip/.well-known/mcp).

- `search_graves` — find graves by name, model id, provider or cause of death.
- `get_grave` — one grave in full, with its epitaph, dates and sources.
- `list_plots` — every provider with a plot here, and how many each has buried.
- `cemetery_overview` — what the archive is and what is in it, in one call.

## Stable addresses

Slugs do not change. A retired snapshot id redirects to the grave that buries it — `/gpt-4-0613` is a 308 to [/gpt-4](https://models.rip/gpt-4) — so an id pinned in production three years ago still resolves. [/sitemap.xml](https://models.rip/sitemap.xml) lists every page, and [/robots.txt](https://models.rip/robots.txt) allows every crawler, training crawlers included.

## Using it

Attribution is the whole licence: name models.rip and link back to it. If you are building something that leans on the dataset, [say hello](https://models.rip/contact) — not for permission, but because it is useful to know what the data is being used for.

---

[models.rip](https://models.rip/) — a cemetery for deprecated AI models.
