Public pricing feed
An unauthenticated, aggregator-friendly price feed for the whole RouteMux catalog.
GET /public/pricing returns RouteMux's entire published catalog with prices in a
flat, aggregator-friendly schema (one row per model). It follows the common relay
price-feed shape, so price-comparison sites can ingest it with zero custom mapping.
No API key is required and no usage is recorded. The whole catalog is returned in one shot — there is no pagination.
curl "https://api.routemux.com/public/pricing"Prices are in USD. A CNY variant with the same schema (prices converted at a fixed
rate, currency: "CNY") is available at GET /api/provider/pricing.
Prefer this over scraping the website
The model detail pages (e.g. /en/openai/gpt-5.5) are server-rendered, so prices
are in the HTML — but this feed is the stable, documented contract. Build against
it instead of parsing pages.
Response shape
{
"schema_version": "1.0",
"success": true,
"message": "",
"data": {
"currency": "USD",
"price_unit": "per_1m_tokens",
"site_name": "RouteMux",
"site_domain": "routemux.com",
"updated_at": "2026-06-20T16:09:26.005Z",
"models": [ /* one row per model × group */ ]
}
}data field | Meaning |
|---|---|
currency | Always USD. RouteMux's wallet and billing truth is USD — apply your own top-up FX (e.g. 6.8:1 CNY) on your side. |
price_unit | per_1m_tokens — every *_price is per 1,000,000 tokens. |
updated_at | Timestamp of the most recent active price change (data freshness). |
models | Flat list, one row per model. |
Model row
{
"model_name": "gpt-5.5", // the id you call at the gateway
"group_name": "openai", // provider
"input_price": 1.0,
"output_price": 6.0,
"cache_input_price": 0.1, // cache read
"cache_create_price": 1.25, // cache write (5m)
"cache_create_price_1h": 2.0, // cache write (1h); null/0 when not offered
"enabled": true, // false = listed but temporarily unavailable
"note": ""
}All *_price values are plain numbers in the declared currency per price_unit,
or null when the model has no such factor.
Groups (provider)
group_name is the model's provider (openai, anthropic, google, minimax,
…). Prices are the standard tier.
Coverage
The feed is token-priced (per_1m_tokens), so it lists text and image models
(an image model's per-token output price is reported in output_price).
Per-call video models do not fit this unit and are omitted.
Caching
The response is cached for 5 minutes (Cache-Control: s-maxage=300). A pricing
change made in the RouteMux admin propagates within roughly 5 minutes, so polling
more often than that is unnecessary.