# AI API Changes in 8 Days: 35 Price Moves and 27 Delistings

> Source: <https://www.digitalapplied.com/blog/ai-api-price-changes-retirements-november-2026>
> Published: 2026-11-05 00:00:00+00:00

Between 11:12 UTC on October 28 and 12:06 UTC on November 5, 2026, OpenRouter's all-modality catalogue went from 692 routes to 698. Behind that quiet net change of six, 665 routes were present in both captures and 80 of them changed at least one field. Thirty-five changed a pricing field, 32 changed a provider limit, 23 changed their supported parameters and 16 changed their expiration date (15 gained one; Llama 3.1 70B's November 3 date was removed). Thirty-three routes were added and 27 were no longer listed.

This is a measurement of one marketplace's catalogue, and it is reported that way throughout. A route price on OpenRouter is the price a serving provider posts there, which may or may not match the vendor's own list; a route vanishing from the catalogue may mean the vendor retired the model, or that a provider stopped serving it; an expiration date is a field OpenRouter publishes, not a vendor's deprecation notice. Where we could check a change against a vendor page, the row says so.

Our [October 28 study](https://www.digitalapplied.com/blog/openrouter-price-changes-october-2026-study) compared two captures about 44 hours apart and found 24 changed pricing records on 680 matched routes. This capture spans eight days and finds 35 on 665. The method is identical, the files are published below, and the comparison can be re-run by anyone with the two JSON snapshots.

1. 0135 of 665 matched routes changed a price in eight days.29 are concrete routes and 6 are floating aliases whose price change may be a retarget to a different model. Of the 29, 13 rose and 7 fell (12 and 6 on both input and output; Clef and Parakeet carry an input price only), 5 moved in opposite directions and 4 changed only a cache-read, override or image field.
2. 02The largest moves are on open-weight routes, in both directions.Meta's Llama 3.1 70B route rose from $0.40 to $0.72 on both input and output; Llama 4 Maverick input nearly doubled. Mistral Large 4's route halved to $0.70 in and $2.10 out; Gemma 4 26B's route fell by about 70%. DeepSeek V4 Pro's route rose from $0.9553 to $1.60 in and $1.911 to $3.20 out.
3. 03Twelve of the 33 additions are not new models.Nine are Voyage AI embedding and rerank routes re-listed under a mongodb/ prefix with catalogue dates from July to September, replacing nine voyageai/ routes that left. Two are batch variants of existing Grok routes, and one is a legal variant of GLM 5.3 FlashX. Genuinely new in the window: Hy4, Ripple-65B, the two GPT Image 2.6 models, Cohere's Embed 5 and Rerank 5, and thirteen smaller routes.
4. 04Seven delistings line up with a vendor shutdown; the rest are unconfirmed.OpenAI's deprecations page dates the shutdown of gpt-4-turbo, o1, o1-pro, o3-mini and o4-mini to October 23, 2026, which covers seven of the 27 routes that left. The other eleven, including four Poolside Laguna routes, two Inkling free routes and Upstage Solar Pro 3, have no vendor notice we found.
5. 0524 routes carry an expiration date; five of them expire on the capture day.Five MiniMax routes (M2.7, M2-her, M2.1, M2 and MiniMax-01) carried November 5, 2026. Four Inception Mercury routes carry November 8 and four ByteDance routes November 11. Two OpenAI image-mini routes carry December 1, which matches OpenAI's own deprecations page for gpt-image-1-mini.

## 01 — The CaptureTwo captures, *eight days* apart.

The source is OpenRouter's public models endpoint with all output modalities requested, which returns every text, image, audio, embedding, rerank and decision route in one list. The October 28 capture at 11:12:58 UTC returned 692 routes; the November 5 capture at 12:06:26 UTC returned 698, with a stated total of 698 and no further page. The raw November 5 response is stored with its SHA-256 hash so the diff can be re-derived from the exact bytes.

Matching is by route id. 665 ids appear in both captures; for each, every retained field was compared exactly: pricing, context length, top-provider limits, supported parameters, expiration date and Hugging Face id. Descriptions were dropped because they change for editorial reasons. A route id beginning with a tilde is a floating alias that OpenRouter points at a moving target, and those are reported separately, because a price change on an alias can be a retarget to a different model rather than a price change on the same one.

An example of why the eight-day window matters: our October 28 study found 24 pricing changes in two days, and a reader might extrapolate that to 96 in eight. The actual count was 35, because many routes that moved on October 26 to 28 did not move again. The failure case is treating either number as a rate. Catalogue movement arrives in bursts tied to vendor announcements, and the honest unit is the window, stated with both timestamps.

##### Present in both captures

692 routes on October 28, 698 on November 5. 80 of the 665 changed at least one retained field; 585 were byte-identical on every field compared.

##### Any pricing field changed

29 concrete routes and 6 floating aliases. The most common companion change was the cache-read price, which changed on 20 of the 29 concrete routes; on five of the six DeepSeek routes it moved in the opposite direction to input.

##### Provider limits, parameters, expiry

32 routes changed a provider limit such as maximum completion tokens, 23 changed supported parameters, 16 changed an expiration date (15 set, one removed), 4 changed a Hugging Face id and 3 a context length.

##### A net of six hides sixty moves

Nine of the additions and nine of the removals are the same Voyage AI models moving from a voyageai/ prefix to mongodb/. Strip those and the window still added 24 routes and dropped 18.

## 02 — Price MovesThe 35 price moves, *every one*.

The table lists the 29 concrete routes whose pricing object changed, with input and output per million tokens before and after, and which other pricing fields moved. Three routes changed only a cache-read or override field and show the same headline price on both sides. Two are not token-priced at all: Krea's K3 Edit route changed its image fields, and NVIDIA's Parakeet transcription route is priced per unit of audio, so its 25 to 16.67 is not a per-token figure.

Several rows deserve a vendor check before anyone calls them a vendor price change. Mistral Large 4's route fell from $1.36 and $4.18 to $0.70 and $2.10. Mistral's October 29 open-weights announcement states: "Starting today, Mistral Large 4 is priced at $0.70 input / M, $0.07 cached input / M, and $2.10 output / M tokens", which matches the route's new input, cache-read and output prices exactly. Mistral does not state an earlier price, so the $1.36 and $4.18 starting point is OpenRouter's figure, not a confirmed Mistral cut. DeepSeek V4 Pro's route rose from $0.9553 to $1.60 input and $1.911 to $3.20 output, while the dated V4 Pro 0813 route moved the opposite way on input and up on output; DeepSeek publishes peak and off-peak tables, and a route price can reflect a change in which window a provider mirrors.

An example of a clean reading: Meta's Llama 3.1 70B route went from $0.40 to $0.72 on both sides, an 80% rise, and the Llama 3.1 8B route from $0.02 and $0.04 to $0.05 and $0.08. Those are provider-posted prices for open-weight models for which we found no Meta per-token list price, so there is no vendor list to contradict them and the route price is the price. The failure case is the Mistral row read too far: the route's new price matches Mistral's October 29 list price, but Mistral never published the $1.36 and $4.18 starting point, so "Mistral halved its price" is not supported.

| OpenRouter all-modality catalogue, October 28, 2026 11:12 UTC and November 5, 2026 12:06 UTC. Route prices in USD per million tokens unless the row notes another unit. Not vendor list prices. |  |  |  | 
|---|---|---|---|
| Route | Input, before to after | Output, before to after | Other fields | 
|---|---|---|---|
| cloudflare/clef | $0.042 to $0.192 | $0 to $0 | — | 
| deepseek/deepseek-v3.2 | $0.28 to $0.26 | $0.42 to $0.38 | cache read | 
| deepseek/deepseek-v4-flash-0731 | $0.119 to $0.059 | $0.238 to $0.30 | cache read | 
| deepseek/deepseek-v4-pro | $0.9553 to $1.60 | $1.911 to $3.20 | cache read | 
| deepseek/deepseek-v4-pro-0813 | $0.66 to $0.103 | $1.98 to $4.11 | cache read, overrides | 
| deepseek/deepseek-v4.1-flash | $0.14 to $0.045 | $0.42 to $0.50 | cache read | 
| deepseek/deepseek-v4.1-flash:batch | $0.05 to $0.112 | $0.15 to $0.336 | cache read | 
| google/gemma-4-26b-a4b-it | $0.09 to $0.027 | $0.30 to $0.082 | cache read | 
| krea/k3-edit | $0 to $0 | $0 to $0 | image fields | 
| meta-llama/llama-3.1-70b-instruct | $0.40 to $0.72 | $0.40 to $0.72 | — | 
| meta-llama/llama-3.1-8b-instruct | $0.02 to $0.05 | $0.04 to $0.08 | cache read | 
| meta-llama/llama-3.2-3b-instruct | $0.05 to $0.0509 | $0.33 to $0.335 | — | 
| meta-llama/llama-3.3-70b-instruct | $0.10 to $0.20 | $0.32 to $0.52 | cache read | 
| meta-llama/llama-4-maverick | $0.1875 to $0.35 | $0.6525 to $1.00 | cache read | 
| minimax/minimax-m2.5 | $0.30 to $0.27 | $1.20 to $0.95 | — | 
| minimax/minimax-m3.1-flash | $0.15 to $0.15 | $0.60 to $0.60 | overrides only | 
| mistralai/mistral-large-4-0 | $1.36 to $0.70 | $4.18 to $2.10 | cache read | 
| moonshotai/kimi-k2.7-code | $0.6725 to $0.60 | $3.10 to $3.50 | — | 
| moonshotai/kimi-k3 | $0.169 to $0.192 | $20 to $16 | cache read | 
| nvidia/parakeet-tdt-0.6b-v3 | $25 to $16.67 | $0 to $0 | audio unit | 
| openai/gpt-oss-20b | $0.018 to $0.03 | $0.09 to $0.13 | cache read | 
| qwen/qwen3-235b-a22b-2507 | $0.09 to $0.14 | $0.55 to $0.80 | cache read | 
| qwen/qwen3-coder-30b-a3b-instruct | $0.07 to $0.15 | $0.28 to $0.60 | — | 
| qwen/qwen3.8-27b | $0.039 to $0.15 | $1.25 to $1.875 | cache read | 
| z-ai/glm-4.6 | $0.55 to $0.50 | $2.20 to $2.00 | cache read | 
| z-ai/glm-4.6v | $0.30 to $0.30 | $0.90 to $0.90 | cache read only | 
| z-ai/glm-4.7 | $0.54 to $0.60 | $1.98 to $2.20 | cache read | 
| z-ai/glm-5.2 | $0.014 to $0.006 | $7.00 to $6.80 | cache read | 
| z-ai/glm-5.3-flashx | $0.37 to $0.37 | $1.25 to $1.25 | cache read only | 

## 03 — DirectionUp more often than *down*, on this marketplace, in this window.

Of the 29 concrete routes, 13 rose and 7 fell (12 and 6 on both input and output; Clef and Parakeet carry an input price only), 5 moved in opposite directions and 4 changed only a cache, override or image field. The rises cluster on open-weight models: five Meta Llama routes, three Qwen routes, OpenAI's gpt-oss-20b, Cloudflare's Clef and GLM 4.7. The falls: Mistral Large 4, Gemma 4 26B, MiniMax M2.5, GLM 4.6, GLM 5.2, DeepSeek V3.2 and NVIDIA's Parakeet.

That pattern has a plausible mechanism and we state it as one. When a provider that was serving an open-weight model cheaply leaves a route, OpenRouter's listed price becomes the next provider's, which can be higher; when a vendor cuts its own list price, its route follows. We did not inspect per-provider endpoints for this post, so the mechanism is inference and the counts are the finding.

The example that matters for a budget: an agent pinned to the Llama 3.3 70B route paid $0.10 and $0.32 on October 28 and $0.20 and $0.52 on November 5, which at 50 million input and 5 million output tokens a month is a rise from $6.60 to $12.60. The failure case is the headline "AI prices are rising". Thirteen concrete routes on one marketplace rose in eight days while seven fell, and no Anthropic, Google Gemini or xAI route, and no OpenAI route other than gpt-oss-20b, changed price.

## 04 — AliasesSix aliases that may have *retargeted*.

A floating alias such as ~deepseek/deepseek-pro-latest is a pointer. Its price changes whenever the model behind it changes, so a price change on an alias is evidence of a retarget first and a price change second. Six aliases changed in the window. The DeepSeek pro alias's input fell from $0.2542 to $0.0927 with output unchanged at $8; the Kimi alias's output fell from $20 to $10.55 while the concrete kimi-k3 route moved from $20 to $16, which suggests the alias now points somewhere other than kimi-k3.

Anyone calling an alias in production is accepting that the model under their requests can change without a code change. Our [alias and retirement ledger](https://www.digitalapplied.com/blog/model-alias-and-retirement-ledger) tracks which vendor aliases float and how much notice each vendor gives. The example of safe use is a pinned concrete id with the alias checked weekly for drift; the failure case is budgeting on an alias price that halves or doubles when the pointer moves.

| Floating aliases (ids beginning with a tilde) whose pricing object changed between the two captures. A change here may be a retarget rather than a price change on one model. |  |  | 
|---|---|---|
| Alias | Input, before to after | Output, before to after | 
|---|---|---|
| ~deepseek/deepseek-flash-latest | $0.0126 to $0.006 | $1.80 to $0.50 | 
| ~deepseek/deepseek-pro-latest | $0.2542 to $0.0927 | $8.00 to $8.00 | 
| ~deepseek/deepseek-v4-flash-latest | $0.0475 to $0.059 | $0.1568 to $0.30 | 
| ~moonshotai/kimi-latest | $0.169 to $0.1824 | $20 to $10.55 | 
| ~x-ai/grok-latest | $2.00 to $2.00 | $6.00 to $6.00 | 
| ~z-ai/glm-flash-latest | $0.0197 to $0.0285 | $0.1238 to $0.0923 | 

## 05 — Additions33 added, and *12 of them* are not new.

Thirty-three route ids appear on November 5 that were absent on October 28. Nine are Voyage AI embedding and rerank models now listed under a mongodb/ prefix with catalogue creation dates from July 27 to September 30, 2026, and nine voyageai/ routes with the same model names left the catalogue in the same window. That is a rename, not a release. Two more additions are batch variants of existing Grok 4.6 and 4.7 routes, and one is a legal variant of GLM 5.3 FlashX. Strip those and twenty-one routes represent models that arrived in the catalogue during the window.

Among the twenty-one, four are launches we covered as they happened: Tencent's Hy4 on November 4 at a promotional $0.417 and $1.25, Ricursive's Ripple-65B Preview the same day at $0.20 and $0.60, and OpenAI's two GPT Image 2.6 models at $8 per million input tokens and $30 per million image output tokens on the route. Cohere's Embed 5 and Rerank 5 pairs arrived November 3. The rest are smaller: Cloudflare's Clairic and Morph's Reflex decision models, Baseten's three decision routes, Particle-1, AssemblyAI's text-to-speech, NVIDIA's Nemotron 3.5 Transcribe, Moondream's Parakeet Ultra, Sourceful's Riverflow 2.6 Pro, TBC's Mischief 1, inclusionAI's Ling 3.0 Tiny and the anonymous stealth/crouton-alpha.

Catalogue creation dates are listing times. Ling 3.0 Tiny carries a date of August 6 and arrived in the catalogue after October 28; Particle-1 carries October 28, the day of our first capture, and was not in it. The example of the right use is a prompt to check the vendor's own date, which for Hy4 and Ripple we did in their own posts. The failure case is a release calendar built from the created field.

| Routes present on November 5 and absent on October 28, grouped. Catalogue created dates are OpenRouter listing timestamps, not release dates. Full list in the downloadable CSV. |  |  | 
|---|---|---|
| Group | Routes | Ids | 
|---|---|---|
| Voyage AI re-listed under mongodb/ | 9 | voyage-4, voyage-4-large, voyage-4-lite, voyage-code-4, voyage-multimodal-3.5, rerank-2.5, rerank-2.5-lite, rerank-3, rerank-3-lite (dates Jul 27 to Sep 30) | 
| Variants of existing routes | 3 | x-ai/grok-4.6:batch, x-ai/grok-4.7:batch, z-ai/glm-5.3-flashx-legal | 
| Launches covered separately | 4 | tencent/hy4, ricursiveai/ripple-65b-preview, openai/gpt-image-2.6-flare, openai/gpt-image-2.6-sunburst (all Nov 4) | 
| Embedding and rerank | 4 | cohere/embed-5-pro, cohere/embed-5-fast, cohere/rerank-5-pro, cohere/rerank-5-fast (Nov 3) | 
| Decision and extraction models | 5 | cloudflare/clairic, morph/reflex, baseten/elephant-1, baseten/mammoth-1, baseten/joey-1 | 
| Audio, image, video and other text | 8 | assemblyai/assemblyai-tts-1, nvidia/nemotron-3.5-transcribe, moondream/parakeet-ultra, sourceful/riverflow-v2.6-pro, tbc/mischief-1, particle-ai/particle-1, inclusionai/ling-3.0-tiny, stealth/crouton-alpha | 

## 06 — Delistings27 delisted, and *seven* confirmed by the vendor.

Twenty-seven route ids present on October 28 were absent on November 5. Nine are the voyageai/ routes replaced by mongodb/ ids. Seven are OpenAI models: gpt-4-turbo, o1, o1-pro, o3-mini, o3-mini high, o4-mini and o4-mini high. OpenAI's own deprecations page, read November 5, lists the shutdown of gpt-4-turbo, o1, o1-pro, o3-mini and o4-mini on October 23, 2026, with gpt-5.6-sol or gpt-5.6-terra as replacements. Those seven delistings are retirements confirmed by the vendor, and the routes were still listed in the October 28 capture, five days after that date, so the catalogue lagged the vendor by at least five days.

The other eleven have no vendor notice we found. Four are Poolside Laguna routes, S 2.1 and XS 2.1 with their free variants; two are Thinking Machines' Inkling free routes; the rest are Nous Hermes 3 in 405B and 70B, Qwen3 Next 80B Thinking, Upstage Solar Pro 3 and SpaceXAI's Grok Imagine Image Quality route. A free route leaving often means a promotion ended; a paid route leaving may mean the only provider stopped serving it. Neither is a retirement until the vendor says so, and our [deprecation calendar](https://www.digitalapplied.com/blog/model-deprecation-calendar-api-sunset-survival) lists only vendor-dated shutdowns for that reason.

The example of the two cases side by side: a team on o3-mini via OpenRouter lost the route because OpenAI shut the model down, and OpenAI told them where to go. A team on Laguna S 2.1 lost the route and has, from this data, no idea why. The failure case is writing both up as "27 models retired this week".

## 07 — Expiry Dates24 expiry dates, and *five* of them fall on the capture day.

OpenRouter publishes an expiration date on some routes. Twenty-four carried one on November 5, and fifteen of those were newly set during the window; a sixteenth expiry change removed Llama 3.1 70B's November 3 date. Five MiniMax routes, M2.7, M2-her, M2.1, M2 and MiniMax-01, carried November 5, 2026 (M2.5 carried no date), the day of the capture. Four Inception Mercury routes, Mercury 3, Mercury Decide, Mercury 2.5 and Mercury 2, carried November 8. Four ByteDance routes (three Seed models and Seedance 1.5 Pro) carried November 11, LiquidAI's d1 November 20 and a free HeyGen voice route November 30. Two OpenAI image routes, gpt-image-1-mini and gpt-5-image-mini, carried December 1, and seven routes from Microsoft AI, Z.ai and Dots Studio carried December 22 or 31.

One of those dates we can tie to a vendor. OpenAI's deprecations page lists gpt-image-1-mini for shutdown on December 1, 2026, which matches the route's expiry; the page does not list a model called gpt-5-image-mini, so that route's date stands as listing data only. For MiniMax, the M2 models no longer appear on the vendor's pay-as-you-go pricing page as read November 5 (our price index's October 20 check still found M2.5, M2.1 and M2 under a Legacy Models section), but we found no dated M2 retirement notice, so the November 5 expiry is OpenRouter's field and nothing more. Inception's models page carried a notice, which we read earlier and which no longer appeared when the page was re-read on November 5, that Mercury 2 and 2.5 were closed to new users with existing access ending November 15, which is a week after the route expiry and a different kind of date.

An example of the right use: a team on Mercury 2.5 through OpenRouter should plan for the route to stop on November 8 and direct access to end November 15, two dates from two sources. The failure case is reading a route expiry as the vendor's sunset date, which matched a vendor date in only one of the 24 cases, gpt-image-1-mini.

| Routes carrying an expiration_date in the November 5, 2026 12:06 UTC capture. OpenRouter listing data; a vendor notice is cited in the text where one was found. |  | 
|---|---|
| Expiration date | Route | 
|---|---|
| Nov 5, 2026 | minimax/minimax-m2.7 | 
| Nov 5, 2026 | minimax/minimax-m2-her | 
| Nov 5, 2026 | minimax/minimax-m2.1 | 
| Nov 5, 2026 | minimax/minimax-m2 | 
| Nov 5, 2026 | minimax/minimax-01 | 
| Nov 8, 2026 | inception/mercury-3 | 
| Nov 8, 2026 | inception/mercury-decide | 
| Nov 8, 2026 | inception/mercury-2.5 | 
| Nov 8, 2026 | inception/mercury-2 | 
| Nov 11, 2026 | bytedance-seed/seed-2.0-code | 
| Nov 11, 2026 | bytedance/seedance-1-5-pro | 
| Nov 11, 2026 | bytedance-seed/seed-1.6-flash | 
| Nov 11, 2026 | bytedance-seed/seed-1.6 | 
| Nov 20, 2026 | liquid/d1 | 
| Nov 30, 2026 | heygen/heygen-voice-1-turbo:free | 
| Dec 1, 2026 | openai/gpt-image-1-mini | 
| Dec 1, 2026 | openai/gpt-5-image-mini | 
| Dec 22, 2026 | microsoft/mai-transcribe-1.5 | 
| Dec 31, 2026 | dots-studio/dots-3-note-preview:free | 
| Dec 31, 2026 | microsoft/mai-voice-2-flash | 
| Dec 31, 2026 | microsoft/mai-voice-2 | 
| Dec 31, 2026 | z-ai/glm-4.7 | 
| Dec 31, 2026 | z-ai/glm-4.5v | 
| Dec 31, 2026 | z-ai/glm-4.5 | 

## 08 — MethodMethod, fences and the *data*.

Every count on this page comes from an exact comparison of two saved API responses. The rows below say how, and the files follow.

- Source
- OpenRouter's public models endpoint requested with all output modalities, which returns the complete catalogue in one response. Two captures: October 28, 2026 at 11:12:58 UTC (692 routes) and November 5, 2026 at 12:06:26 UTC (698 routes, total_count 698, no next page).
- Matching
- Routes matched by id. 665 present in both. For each, the pricing object, context_length, top_provider, supported_parameters, expiration_date and hugging_face_id fields were compared exactly. Descriptions were excluded. Ids beginning with a tilde are floating aliases and are reported separately.
- Units
- Prices are OpenRouter's listed route prices in USD per token, shown per million tokens. Embedding, rerank, audio and image routes use other units and are flagged where they appear; their before-and-after figures are shown as the API returns them.
- As-of date
- November 5, 2026, 12:06 UTC for the current state; October 28, 2026, 11:12 UTC for the baseline. The SHA-256 of the raw November 5 response is recorded in the research file.
- Fences
- A route price is not a vendor list price. A route leaving the catalogue is not a vendor retirement. An expiration date is OpenRouter listing data. A created timestamp is a listing time, not a release date. Vendor pages were checked for OpenAI (deprecations), Mistral (pricing page and the October 29 Large 4 announcement) and Inception (models); results are in the text.
- Limitations
- Two points in time; movements that reversed within the window are invisible. Per-provider endpoints were not inspected, so the mechanism behind a route price change is inference. One marketplace; direct vendor APIs may differ.
- Refresh
- Maintained by the Digital Applied Team. Each paired capture is published as its own dated study; earlier windows are not re-dated or merged.

Download the [35-row pricing changes CSV](https://www.digitalapplied.com/data/openrouter-catalogue-2026-10-28-to-11-05/pricing-changes.csv), the [33 added routes](https://www.digitalapplied.com/data/openrouter-catalogue-2026-10-28-to-11-05/added-routes.csv), the [27 delisted routes](https://www.digitalapplied.com/data/openrouter-catalogue-2026-10-28-to-11-05/delisted-routes.csv), the [24 expiration dates](https://www.digitalapplied.com/data/openrouter-catalogue-2026-10-28-to-11-05/expiration-dates.csv) and the [full field-level diff](https://www.digitalapplied.com/data/openrouter-catalogue-2026-10-28-to-11-05/diff.json) with every one of the 80 changed routes, including the provider limit and parameter changes this page does not tabulate. Teams that want this comparison run against their own pinned model list each week can bring it to our [AI transformation practice](https://www.digitalapplied.com/services/ai-transformation).

## 09 — ConclusionA net change of six routes concealed *140 route changes*.

### Pin concrete ids, diff the catalogue on a schedule, and confirm every price and date against the vendor before you repeat it.

In eight days, 35 of 665 matched OpenRouter routes changed a price, 33 routes arrived, 27 left and 24 carried an expiration date. Among the 29 concrete price changes, 13 rose on both input and output and 7 fell, with the rises concentrated on open-weight Llama and Qwen routes. Twelve of the additions were renames or variants, and nine of the departures were the other side of the same rename.

Where a vendor page could be checked, it changed the reading. Seven delistings are OpenAI shutdowns dated October 23. One expiry date, gpt-image-1-mini on December 1, matches OpenAI's own page; the other 23 are listing data. Mistral's October 29 announcement matches the route's new $0.70 and $2.10, but not its starting price. Those checks are the difference between a catalogue diff and a claim about vendors.

The files are published so the diff can be re-run from the exact bytes, and the next window will be a new dated study beside this one and the October 28 one.
