LLM prices for your app, site or README.
The prices behind Alye's model price list for 1,271 models, as JSON, a price table or a badge. Free, no key or sign-up, updated . All we ask is a visible link back.
Embed a price table or badge
Pick models, then copy the snippet. Prices stay current on their own: the table and badges are served from www.alye.ai, so you never update them by hand.
openai/gpt-5.4openai/gpt-5.4-miniopenai/gpt-5openai/gpt-5-mini
Price table
HTML
<iframe src="https://www.alye.ai/embed/prices?models=openai/gpt-5.4,openai/gpt-5.4-mini,openai/gpt-5,openai/gpt-5-mini" title="LLM API prices" width="100%" height="288" style="border:0;max-width:680px" loading="lazy"></iframe>
<p style="font:12px/1.4 system-ui,sans-serif;margin:6px 0 0">LLM API prices by <a href="https://www.alye.ai/models">Alye</a></p>Price badges
Markdown (GitHub README)
[](https://www.alye.ai/models/openai)
[](https://www.alye.ai/models/openai)
[](https://www.alye.ai/models/openai)
[](https://www.alye.ai/models/openai)HTML
<a href="https://www.alye.ai/models/openai"><img src="https://www.alye.ai/api/prices/badge?model=openai/gpt-5.4" alt="openai/gpt-5.4 price per million tokens"></a>
<a href="https://www.alye.ai/models/openai"><img src="https://www.alye.ai/api/prices/badge?model=openai/gpt-5.4-mini" alt="openai/gpt-5.4-mini price per million tokens"></a>
<a href="https://www.alye.ai/models/openai"><img src="https://www.alye.ai/api/prices/badge?model=openai/gpt-5" alt="openai/gpt-5 price per million tokens"></a>
<a href="https://www.alye.ai/models/openai"><img src="https://www.alye.ai/api/prices/badge?model=openai/gpt-5-mini" alt="openai/gpt-5-mini price per million tokens"></a>The JSON API
GET https://www.alye.ai/api/prices returns every current model. Browsers can call it from any site (CORS is open), and answers are cached for an hour.
curl "https://www.alye.ai/api/prices?model=openai/gpt-5,anthropic/claude-sonnet-5-5"import requests
prices = requests.get("https://www.alye.ai/api/prices", params={"provider": "openai"}, timeout=10).json()
for m in prices["models"]:
print(m["name"], m["input"], m["output"]) # US dollars per million tokensconst res = await fetch("https://www.alye.ai/api/prices?model=gpt-5");
const { models, attribution } = await res.json();
console.log(models[0].input, models[0].output); // US dollars per million tokensQuery parameters
- model
- One or more models, comma-separated: openai/gpt-5 or just gpt-5 (the model maker's own price is picked first).
- provider
- Only one provider: openai, anthropic, aws-bedrock, azure-openai, vertex-ai, google-gemini, ...
- mode
- chat or embedding.
Fields
- key
- Provider and model, the value to pass as model= or to the badge and embed.
- input, cachedInput, output, cacheWrite
- US dollars per million tokens; null when the provider doesn't sell it.
- contextWindow
- Maximum tokens per request, when known.
- retiresAt
- The date the provider retires the model, when announced.
- source
- Who set the price: azure, aws or gcp for the providers' own price lists, litellm for the LiteLLM price file.
- locations
- Data zone and regional prices (Azure, Bedrock, Vertex AI) where they differ from the global price.
- regionMultiplier
- Regional endpoints cost this times the global price where no regional price is listed (Vertex AI).
Example response
GET /api/prices?model=openai/gpt-5
{
"attribution": {
"text": "Prices by Alye",
"url": "https://www.alye.ai/models"
},
"asOf": "2026-10-28",
"currency": "USD",
"unit": "per million tokens",
"sources": [
"https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",
"Azure Retail Prices API",
"AWS Price List (Amazon Bedrock)",
"Google Cloud Billing Catalog (Vertex AI)"
],
"count": 1,
"models": [
{
"key": "openai/gpt-5",
"provider": "OpenAI",
"name": "gpt-5",
"mode": "chat",
"contextWindow": 272000,
"retiresAt": null,
"input": 1.25,
"output": 10,
"cachedInput": 0.125,
"cacheWrite": null,
"source": "litellm",
"regionMultiplier": null,
"locations": [],
"url": "https://www.alye.ai/models/openai"
}
]
}Terms of use
- Free for any use, including commercial products.
- Show a visible link to www.alye.ai/models wherever you show the prices, for example “Prices by Alye”. The embed and badge snippets include it.
- Cache answers on your side; prices change at most a few times a day. Very heavy traffic may be rate limited.
- Prices are list prices and may lag a provider's announcement by up to a day. There is no uptime guarantee; check the provider before committing to a budget. Questions or higher volumes: info@alye.ai.
Want the cost of your calls, not just list prices? Alye records each call and prices it for where it ran. See how LLM cost tracking works.