Statlyte API
Free LLM pricing API with no key: per-model input, output, cache and batch rates, context windows, status and scheduled price changes. Tested example included.
Endpoint tested and returned HTTP 200 on 21 Aug 2026
What is the Statlyte API?
Statlyte publishes a curated reference of large language model pricing with no API key. Each model returns its provider, API identifier, lifecycle status, context window and a full breakdown of USD-per-million-token rates including cache and batch tiers.
Comparing model costs is harder than comparing two numbers, because the headline input and output rates are only part of the bill. Statlyte's `usd_per_mtok` object breaks out `cache_write_5m`, `cache_write_1h`, `cache_read`, `batch_input` and `batch_output` alongside the base rates — which is what you need to model an actual workload, where cache hits and batch processing routinely change the total by an order of magnitude.
Two fields make it usable for planning rather than just for a table. `status` marks whether a model is generally available, in preview or deprecated, so you can avoid building on something being retired. `scheduled_change` carries an announced future price change where one has been published, which no other free source of this kind reliably tracks. Prices here are already per million tokens, unlike catalogues that quote per single token, and `updated_at` at the top tells you exactly how current the snapshot is. There is a CSV export at `/api/v1/export.csv` for spreadsheet work.
Quick facts
- Base URL
https://statlyte.com/api/v1- Authentication
- No API key and no account.
- Rate limit
- No published limit. Pricing changes rarely — cache and check `updated_at`.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Statlyte API
Every request below was executed against the live API on 21 Aug 2026, and the response shown is the real body it returned — not an illustration.
1. Fetch the LLM pricing reference
GET https://statlyte.com/api/v1/models
curl 'https://statlyte.com/api/v1/models'const res = await fetch("https://statlyte.com/api/v1/models");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://statlyte.com/api/v1/models", timeout=20)
res.raise_for_status()
print(res.json()){
"updated_at": "2026-08-14",
"source": "https://statlyte.com/models",
"count": 168,
"models": [
{
"id": "anthropic/claude-fable-5",
"provider": "anthropic",
"name": "Claude Fable 5",
"api_id": "claude-fable-5",
"status": "ga",
"modality": "text",
"context_window": 1000000,
"usd_per_mtok": {
"input": 10,
"output": 50,
"cache_write_5m": 12.5,
"cache_write_1h": 20,
"cache_read": 1,
"batch_input": 5,
"batch_output": 25
},
"non_token_price": null,
"scheduled_change": null,
"url": "https://statlyte.com/models/anthropic/claude-fable-5"
},
{
"id": "anthropic/claude-mythos-5",
"provider": "anthropic",
"name": "Claude Mythos 5",
"api_id": "claude-mythos-5",
"status": "preview",
"modality": "text",
"context_window": 1000000,
"usd_per_mtok": {
"input": 10,
"output": 50,
"cache_write_5m": 12.5,
"cache_write_1h": 20,
"cache_read": 1,
"batch_input": 5,
"batch_output": 25
},
"non_token_price": null,
"scheduled_change": null,
"url": "https://statlyte.com/models/anthropic/claude-mythos-5"
},
{
"id": "anthropic/claude-opus-5",
"provider": "anthropic",
"name": "Claude Opus 5",
"api_id": "claude-opus-5",
"status": "ga",
"modality": "text",
"context_window": 1000000,
"usd_per_mtok": {
"input": 5,
"output": 25,
"cache_write_5m": 6.25,
"caParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
(none) | n/a | Optional | The models endpoint returns the full catalogue with no parameters. |
/models/{provider}/{model} | path | Optional | One model's record by provider and model slug. anthropic/claude-opus-5 |
/changes | path | Optional | A feed of recent pricing and status changes, with an optional `limit`. |
/history/{provider}/{model} | path | Optional | Historical price points for a single model. |
/export.csv | path | Optional | The whole dataset as CSV. |
Response fields
updated_atstring- Date the dataset was last refreshed, `YYYY-MM-DD`. Check it before quoting figures.
countinteger- How many models are in the catalogue.
sourcestring- Link to the human-readable version of the same data.
models[].idstring- Composite `provider/model` identifier.
models[].provider / namestring- Provider slug and the model's display name.
models[].api_idstring- The identifier you actually send to the provider's API, which frequently differs from the display name.
models[].statusstring- Lifecycle stage — `ga`, `preview` or deprecated. Avoid building on anything not generally available.
models[].modalitystring- What the model handles, such as `text`.
models[].context_windowinteger- Maximum context in tokens.
models[].usd_per_mtokobject- Rates per million tokens: `input`, `output`, `cache_write_5m`, `cache_write_1h`, `cache_read`, `batch_input`, `batch_output`. Already per million, not per token.
models[].non_token_priceobject- Charges not measured in tokens, such as per-image or per-request fees. Null for most models.
models[].scheduled_changeobject- An announced future price or status change, where one has been published. Null otherwise.
models[].urlstring- Link to the model's page on Statlyte.
What you can build with the Statlyte API
- Model the real cost of a workload including cache and batch tiers
- Build a model comparison table with current pricing
- Warn when a model you depend on is deprecated or has a scheduled change
- Export the dataset to a spreadsheet for finance review
Common errors and how to fix them
Costs off by a factor of a million
These rates are already per million tokens.
Fix: Do not multiply again. Catalogues differ on this convention, so check before combining sources.
Provider rejects the model name
`name` is a display label, not an identifier.
Fix: Send `api_id`, which is the string the provider's API actually accepts.
Cost estimate too high
Cache and batch tiers were ignored.
Fix: A cache read is a fraction of the input rate. Model your actual hit rate rather than assuming everything is a fresh prompt.
Stale figures
The dataset is refreshed periodically, not live.
Fix: Read `updated_at`, and use the `/changes` feed to see what moved recently.
Statlyte API — frequently asked questions
Is the Statlyte API free?
Yes, free with no key and no account, including the CSV export.
Are the prices per token or per million tokens?
Per million tokens, as the `usd_per_mtok` field name says. That differs from catalogues that quote per single token, so be careful when combining sources.
What are the cache_write and cache_read rates?
Prompt caching tiers. Writing a prompt to cache costs more than a normal input token; reading it back costs far less. For a workload with a stable system prompt they dominate the bill, which is why the breakdown matters.
Can I see historical pricing?
Yes. `/history/{provider}/{model}` returns past price points for one model, and `/changes` gives a feed of recent movements across the catalogue.
Tools that pair with this API
Percentage Calculator
Calculate what X% of a number is, what percent one number is of another, and percentage increase or decrease between two values — instantly and free.
CSV Column Statistics Calculator
Profile a CSV column by column: type, blanks, distinct values, min, max, mean, median, standard deviation and percentiles, plus top values — all in-browser.
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
Alternatives to Statlyte API
If Statlyte does not fit, these machine learning & ai apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| Hugging Face Hub | Free model hub API with no key: search over a million models by task, library or tag, with download counts, likes and a trending score. Tested example included. | No key | Yes | 21 Aug 2026 |
| OpenRouter Models | Free LLM catalogue API with no key: every model OpenRouter routes to, with per-token pricing, context length, modalities and supported parameters. Tested example included. | No key | Yes | 21 Aug 2026 |
| models.dev | Free AI model dataset with no key: one JSON document covering providers, models, pricing, context limits and capability flags, community-maintained on GitHub. Tested example included. | No key | Yes | 21 Aug 2026 |
| Pollinations Text | Free text generation API with no key: put a prompt in the URL path and get generated plain text straight back. No JSON envelope, no account. Tested example included. | No key | Yes | 21 Aug 2026 |
| TensorFeed | Free AI model API with no key: models grouped by provider with pricing, context windows, capability tags and a composite intelligence score with coverage metadata. Tested example included. | No key | Yes | 21 Aug 2026 |
| AI Economics Tools | Free AI cost calculator API with no key: token spend, context window sizing and agent-hour economics, each returning the result, the formula and a plain-English reading. Tested example included. | No key | Yes | 21 Aug 2026 |
Statlyte is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 21 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.