Overview
/changes.xml is an Atom feed of
recent price changes across the whole catalogue — increases, decreases,
additions and removals of models. It's public, read-only and needs no
sign-up or API key:
curl https://aiapipricing.slxd.app/changes.xml
It lives outside the locale prefix (unlike the rest of the catalogue): a
feed URL that moves is one nobody stays subscribed to. Content-Type: application/atom+xml, with Cache-Control: public, max-age=3600, s-maxage=3600.
What each entry carries
Every <entry> is one price change:
| Atom field | Content |
|---|---|
title | {model} — {price label} {up|down|added|removed}: {old amount} → {new amount} (±n%) |
id | Stable identifier for the change |
link | The model's page in the catalogue |
updated | ISO date and time of the change |
summary | Same text as title |
For example, an output price increase:
<entry>
<title>anthropic/claude-opus-5 — Output up: 15 → 18 (+20%)</title>
<id>https://aiapipricing.slxd.app/models/anthropic/claude-opus-5#Output-2026-08-01T00:00:00.000Z</id>
<link href="https://aiapipricing.slxd.app/models/anthropic/claude-opus-5"/>
<updated>2026-08-01T00:00:00.000Z</updated>
<summary>anthropic/claude-opus-5 — Output up: 15 → 18 (+20%)</summary>
</entry>
Window and cap
The feed covers the last 90 days and publishes at most 100 entries — newest first. For a different range, or to page past the cap, use the JSON equivalent below.
Filters
/changes.xml accepts these parameters, the same as its JSON equivalent:
| Parameter | Content |
|---|---|
provider | Only this provider's changes (its slug: openai, anthropic…) |
model | Only this model's changes (its slug, without the provider) |
q | Free text: searches by slug and by display name, of the model and of its provider (2026-09-17) |
kind | One or several event kinds, comma-separated |
curl "https://aiapipricing.slxd.app/changes.xml?provider=openai&kind=price_decrease"
By default the feed only shows market moves — increases, decreases,
removals and unit changes — never catalogue additions (price_added,
coverage_added, reference_changed): those are "New in the catalogue" on
/changes, not a price change. Asking for them is a matter of naming them
in kind. An unknown kind is ignored rather than breaking the feed.
How to subscribe
Paste https://aiapipricing.slxd.app/changes.xml into any feed reader
(Feedly, NetNewsWire, your browser's built-in reader…). The catalogue also
announces it via autodiscovery — a
<link rel="alternate" type="application/atom+xml"> in the head of every
public page — so many readers find it on their own once you paste the home
page's URL.
The same data in JSON
If you'd rather have JSON than Atom, read
GET /api/v1/changes,
with the same filters (provider, model, q, kind) plus days and limit
to set the window and cap by hand — the same data, without the feed's
envelope.
See also
The API reference documents the rest of the catalogue as plain REST; the MCP connector puts it in front of an AI assistant.