RouteMux Docs

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 fieldMeaning
currencyAlways 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_unitper_1m_tokens — every *_price is per 1,000,000 tokens.
updated_atTimestamp of the most recent active price change (data freshness).
modelsFlat 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.

On this page