tokencanopy/price

Public price history for LLM inference across 100+ platforms. Updated every 6 hours; git is the time-series database.

3

stars

15

commits

Python

primary language

Sep 8, 2026

updated

ai
bedrock
dataset
deepseek
github-actions
git-scraping
glm
inference
kimi
llm
llm-inference
llm-pricing
open-data
openrouter
open-source-models
price-history
price-tracker
pricing
time-series
token-pricing

README

LLM Price Index

A public, machine-readable record of what LLM inference actually costs — and how that price changes over time. Refreshed every 6 hours.

13,373 price points · 883 models · 73 platforms · updated 2026-09-02 12:40 UTC · history since 2026-09-02 (1 snapshot)

Every provider publishes today's price. Nobody publishes yesterday's. This repo fixes that by writing the number down every 6 hours, in git, forever.


Same model, very different price

Input price per provider as a multiple of the cheapest provider, for the most widely-served open models

Open-weight models are served by dozens of platforms at wildly different prices for what is nominally the same set of weights. Across the 44 open models served by 5 or more platforms, the median spread is 2.0× and 48% of models span more than 2×.

The obvious explanation — cheap endpoints are quantized harder — does not hold. Of those 44 models, the cheapest endpoint runs at full BF16 precision in 20 cases, more often than FP8 (14) or FP4 (10). The most expensive endpoint is the BF16 one in 31 of 44. What you are mostly paying for is hardware, margin and throughput: the priciest gpt-oss-120b endpoint is Cerebras at 11.7× the cheapest, and it is selling speed, not precision. The chart marks quantization by shape and colour so you can check this yourself.

What it costs to run each model today

Input and output price per 1M tokens at the cheapest platform for each popular open model
ModelPlatformsCheapestInput $/MOutput $/MSpread
DeepSeek: DeepSeek V4 Flash 073130OpenInference$0.05$0.168.8×
Z.ai: GLM 5.226DeepInfra$0.49$1.562.9×
Z.ai: GLM 5.324Reka$1.15$3.501.5×
Z.ai: GLM 5.3 Flash22DeepInfra$0.07$0.252.0×
MoonshotAI: Kimi K2.620Inceptron$0.53$3.392.1×
OpenAI: gpt-oss-120b18AkashML$0.03$0.1711.7×
DeepSeek: DeepSeek V4 Flash 042317DigitalOcean$0.07$0.176.5×
DeepSeek: DeepSeek V4 Pro 042317DigitalOcean$0.87$1.742.2×
DeepSeek: DeepSeek V4 Pro 081317DeepSeek$0.66$1.982.2×
Z.ai: GLM 5.116GMICloud$0.91$2.861.7×
DeepSeek: DeepSeek V3.215GMICloud$0.21$0.3114.4×
MoonshotAI: Kimi K2.7 Code15Inceptron$0.66$3.401.4×
MoonshotAI: Kimi K315Makora$2.55$12.751.4×
Google: Gemma 4 31B15DeepInfra$0.09$0.3811.0×
OpenAI: gpt-oss-20b13AkashML$0.02$0.103.8×

Biggest price moves

DateModelPlatformMetricOldNewChange
2026-09-02DeepSeek: DeepSeek V4 Flash 0731DeepSeekinput$0.22$0.44+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash 0731DeepSeekoutput$0.66$1.32+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash 0731DeepSeekcache_read$0.01$0.01+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash Vision ExpDeepSeekinput$0.22$0.44+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash Vision ExpDeepSeekoutput$0.66$1.32+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash Vision ExpDeepSeekcache_read$0.01$0.01+100.0%
2026-09-02DeepSeek: DeepSeek V4 Pro 0813DeepSeekinput$0.66$1.32+100.0%
2026-09-02DeepSeek: DeepSeek V4 Pro 0813DeepSeekoutput$1.98$3.96+100.0%
2026-09-02DeepSeek: DeepSeek V4 Pro 0813DeepSeekcache_read$0.02$0.04+100.0%
2026-09-02Z.ai: GLM 5.3 FlashMorphcache_read$0.01$0.02+100.0%

Subscribe

Price changes are published as an Atom feed — one entry per move, or a single summary entry when a platform reprices its whole catalogue.

https://tokencanopy.github.io/price/feed.xml

Drop that into any feed reader, or into a Slack or Discord channel with /feed subscribe <url> to get price-drop alerts where your team already works. The feed stores nothing about who is reading it — there is no subscriber list.

Why this exists

OpenRouter already answers "what does this model cost right now, on 105 platforms", and it does it well — this repo uses it as a primary source rather than competing with it. What no public API answers is "what did it cost last month?"

Price history is the one dataset that cannot be backfilled. It only exists if somebody starts writing it down. So: every 6 hours, fetch, diff, commit.

The data

FileWhat
data/current/prices.csvToday's normalized snapshot, long format, one row per price
data/history/price_changes.csvAppend-only change log — a row only when a price actually moves
data/current/providers.csvPlatform → verified homepage, status page, HQ
data/raw/Verbatim provider payloads, so any parsing error can be re-run against the original

Prices move rarely, so the change log stays small while still reconstructing a full step-function series for any key. To rebuild a series, take the change rows for a key in observed_at order — each row holds the value from that moment until the next.

Schema (prices.csv): collected_at, source, platform, model_key, model_name, author, open_weight, variant, region, metric, usd_per_1m, context_length, effective_date

  • metricinput · output · cache_read · cache_write
  • variant — quantization (fp8, fp4, …) for inference platforms; tier (standard, batch, priority) for cloud providers
  • model_key — Hugging Face repo id for open-weight models, so the same model joins across platforms without fuzzy name matching
  • All prices are USD per 1,000,000 tokens

Sources

SourceAuthCoverage
OpenRouternone~105 platforms, per-model per-provider pricing incl. quantization
AWS Bedrock Price List APInonePer-region, plus batch / priority tiers OpenRouter does not expose
Azure Retail Prices APInoneFoundry Models meters
Google Vertex AIplannedBilling Catalog API needs a free API key

Every platform below links to its own site where we could verify one resolves, and to its OpenRouter page otherwise. The mapping lives in data/current/providers.csv.

All 107 platforms (number of models priced, where we track any)

AI21 · AionLabs (4) · AkashML (7) · Alibaba (53) · Amazon Bedrock (32) · Amazon Nova · Ambient (3) · Anthropic (11) · Arcee AI (1) · AtlasCloud (27) · Avian · AWS Bedrock (76) · Azure (45) · Azure Foundry (491) · Baidu (8) · BaseTen (13) · Black Forest Labs · Cerebras (2) · Chutes (6) · Cirrascale · Clarifai · Claude Platform on AWS (9) · Cloudflare (18) · Cohere (4) · CoreWeave (23) · Cosine · Crucible · Crusoe (7) · Darkbloom (4) · Databricks · Decart (3) · Deepgram · DeepInfra (74) · DeepSeek (3) · DekaLLM · DigitalOcean (19) · FakeProvider · Featherless · Fireworks (11) · Fish Audio · Friendli (7) · GMICloud (21) · Google (45) · Google AI Studio (20) · Groq (6) · HeyGen · Inception (2) · Inceptron (5) · Inferact vLLM · InferenceNet · Infermatic · Inflection · Io Net (5) · Ionstream (2) · Krea · Liquid · Makora (4) · Mancer 2 (8) · Mara (4) · Meta (3) · Minimax (8) · Mistral (16) · Modal (4) · ModelRun (3) · Modular · Moonshot AI (3) · Morph (6) · NCompass · Nebius (11) · Nex AGI (2) · NextBit (12) · Novita (70) · Nvidia · Ollama · OpenAI (49) · OpenInference (1) · Parasail (37) · Perceptron (1) · Perplexity (5) · Phala (22) · Poolside (2) · Quiver · Recraft · Reka (7) · Relace (3) · Runway · Sail Research (5) · Sakana AI (2) · SambaNova (7) · Seed (6) · SiliconFlow (39) · Sourceful · Stealth · StepFun (1) · StreamLake (22) · Switchpoint · Tencent (5) · Tenstorrent · Thinking Machines · Together (16) · Upstage (2) · Venice (33) · VoyageAI by MongoDB · Wafer (4) · xAI (6) · Xiaomi (2) · Z.AI (13)

Caveats

Read these before quoting a number.

  • Cheapest is not equivalent. Providers differ in quantization, context window, throughput, rate limits and reliability. A 2× price gap is not automatically a 2× saving.
  • Azure meter names are heavily abbreviated (5.4 opt Dz 1M Tokens). Meters that can't be parsed unambiguously are dropped rather than guessed at.
  • List prices only. No committed-use discounts, negotiated rates or free tiers.
  • Prices are collected automatically and may be wrong. Verify with the provider before making a purchasing decision. Not affiliated with any provider.

Running it

python -m venv .venv && ./.venv/bin/pip install -r requirements.txt
./.venv/bin/python scripts/collect.py       # fetch raw payloads
./.venv/bin/python scripts/normalize.py     # normalize + append changes
./.venv/bin/python scripts/charts.py        # render README charts
./.venv/bin/python scripts/render_readme.py # inject tables

No API keys required.

Development

CI owns everything under data/ and charts/ — it regenerates them every 6 hours and commits. So local work should be code-only commits, branched from a freshly fetched origin/main:

git fetch origin && git worktree add .worktrees/<name> -b <type>/<name> origin/main

If you ever hit a merge conflict in prices.csv or the raw JSON, do not resolve it by hand — reset to origin and let the pipeline regenerate.

A healthy no-change run touches exactly two lines (the README timestamp and meta.json). If a run with no price movement rewrites more than that, something volatile is leaking into the archive; strip it in stabilize() rather than letting it accumulate.

License

Code: MIT. Data: CC BY 4.0 — attribution appreciated, corrections more so.

Contributors

jiashuoz

8 commits

tokencanopy/price

Public price history for LLM inference across 100+ platforms. Updated every 6 hours; git is the time-series database.

3

stars

15

commits

Python

primary language

Sep 8, 2026

updated

ai
bedrock
dataset
deepseek
github-actions
git-scraping
glm
inference
kimi
llm
llm-inference
llm-pricing
open-data
openrouter
open-source-models
price-history
price-tracker
pricing
time-series
token-pricing

README

LLM Price Index

A public, machine-readable record of what LLM inference actually costs — and how that price changes over time. Refreshed every 6 hours.

13,373 price points · 883 models · 73 platforms · updated 2026-09-02 12:40 UTC · history since 2026-09-02 (1 snapshot)

Every provider publishes today's price. Nobody publishes yesterday's. This repo fixes that by writing the number down every 6 hours, in git, forever.


Same model, very different price

Input price per provider as a multiple of the cheapest provider, for the most widely-served open models

Open-weight models are served by dozens of platforms at wildly different prices for what is nominally the same set of weights. Across the 44 open models served by 5 or more platforms, the median spread is 2.0× and 48% of models span more than 2×.

The obvious explanation — cheap endpoints are quantized harder — does not hold. Of those 44 models, the cheapest endpoint runs at full BF16 precision in 20 cases, more often than FP8 (14) or FP4 (10). The most expensive endpoint is the BF16 one in 31 of 44. What you are mostly paying for is hardware, margin and throughput: the priciest gpt-oss-120b endpoint is Cerebras at 11.7× the cheapest, and it is selling speed, not precision. The chart marks quantization by shape and colour so you can check this yourself.

What it costs to run each model today

Input and output price per 1M tokens at the cheapest platform for each popular open model
ModelPlatformsCheapestInput $/MOutput $/MSpread
DeepSeek: DeepSeek V4 Flash 073130OpenInference$0.05$0.168.8×
Z.ai: GLM 5.226DeepInfra$0.49$1.562.9×
Z.ai: GLM 5.324Reka$1.15$3.501.5×
Z.ai: GLM 5.3 Flash22DeepInfra$0.07$0.252.0×
MoonshotAI: Kimi K2.620Inceptron$0.53$3.392.1×
OpenAI: gpt-oss-120b18AkashML$0.03$0.1711.7×
DeepSeek: DeepSeek V4 Flash 042317DigitalOcean$0.07$0.176.5×
DeepSeek: DeepSeek V4 Pro 042317DigitalOcean$0.87$1.742.2×
DeepSeek: DeepSeek V4 Pro 081317DeepSeek$0.66$1.982.2×
Z.ai: GLM 5.116GMICloud$0.91$2.861.7×
DeepSeek: DeepSeek V3.215GMICloud$0.21$0.3114.4×
MoonshotAI: Kimi K2.7 Code15Inceptron$0.66$3.401.4×
MoonshotAI: Kimi K315Makora$2.55$12.751.4×
Google: Gemma 4 31B15DeepInfra$0.09$0.3811.0×
OpenAI: gpt-oss-20b13AkashML$0.02$0.103.8×

Biggest price moves

DateModelPlatformMetricOldNewChange
2026-09-02DeepSeek: DeepSeek V4 Flash 0731DeepSeekinput$0.22$0.44+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash 0731DeepSeekoutput$0.66$1.32+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash 0731DeepSeekcache_read$0.01$0.01+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash Vision ExpDeepSeekinput$0.22$0.44+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash Vision ExpDeepSeekoutput$0.66$1.32+100.0%
2026-09-02DeepSeek: DeepSeek V4 Flash Vision ExpDeepSeekcache_read$0.01$0.01+100.0%
2026-09-02DeepSeek: DeepSeek V4 Pro 0813DeepSeekinput$0.66$1.32+100.0%
2026-09-02DeepSeek: DeepSeek V4 Pro 0813DeepSeekoutput$1.98$3.96+100.0%
2026-09-02DeepSeek: DeepSeek V4 Pro 0813DeepSeekcache_read$0.02$0.04+100.0%
2026-09-02Z.ai: GLM 5.3 FlashMorphcache_read$0.01$0.02+100.0%

Subscribe

Price changes are published as an Atom feed — one entry per move, or a single summary entry when a platform reprices its whole catalogue.

https://tokencanopy.github.io/price/feed.xml

Drop that into any feed reader, or into a Slack or Discord channel with /feed subscribe <url> to get price-drop alerts where your team already works. The feed stores nothing about who is reading it — there is no subscriber list.

Why this exists

OpenRouter already answers "what does this model cost right now, on 105 platforms", and it does it well — this repo uses it as a primary source rather than competing with it. What no public API answers is "what did it cost last month?"

Price history is the one dataset that cannot be backfilled. It only exists if somebody starts writing it down. So: every 6 hours, fetch, diff, commit.

The data

FileWhat
data/current/prices.csvToday's normalized snapshot, long format, one row per price
data/history/price_changes.csvAppend-only change log — a row only when a price actually moves
data/current/providers.csvPlatform → verified homepage, status page, HQ
data/raw/Verbatim provider payloads, so any parsing error can be re-run against the original

Prices move rarely, so the change log stays small while still reconstructing a full step-function series for any key. To rebuild a series, take the change rows for a key in observed_at order — each row holds the value from that moment until the next.

Schema (prices.csv): collected_at, source, platform, model_key, model_name, author, open_weight, variant, region, metric, usd_per_1m, context_length, effective_date

  • metricinput · output · cache_read · cache_write
  • variant — quantization (fp8, fp4, …) for inference platforms; tier (standard, batch, priority) for cloud providers
  • model_key — Hugging Face repo id for open-weight models, so the same model joins across platforms without fuzzy name matching
  • All prices are USD per 1,000,000 tokens

Sources

SourceAuthCoverage
OpenRouternone~105 platforms, per-model per-provider pricing incl. quantization
AWS Bedrock Price List APInonePer-region, plus batch / priority tiers OpenRouter does not expose
Azure Retail Prices APInoneFoundry Models meters
Google Vertex AIplannedBilling Catalog API needs a free API key

Every platform below links to its own site where we could verify one resolves, and to its OpenRouter page otherwise. The mapping lives in data/current/providers.csv.

All 107 platforms (number of models priced, where we track any)

AI21 · AionLabs (4) · AkashML (7) · Alibaba (53) · Amazon Bedrock (32) · Amazon Nova · Ambient (3) · Anthropic (11) · Arcee AI (1) · AtlasCloud (27) · Avian · AWS Bedrock (76) · Azure (45) · Azure Foundry (491) · Baidu (8) · BaseTen (13) · Black Forest Labs · Cerebras (2) · Chutes (6) · Cirrascale · Clarifai · Claude Platform on AWS (9) · Cloudflare (18) · Cohere (4) · CoreWeave (23) · Cosine · Crucible · Crusoe (7) · Darkbloom (4) · Databricks · Decart (3) · Deepgram · DeepInfra (74) · DeepSeek (3) · DekaLLM · DigitalOcean (19) · FakeProvider · Featherless · Fireworks (11) · Fish Audio · Friendli (7) · GMICloud (21) · Google (45) · Google AI Studio (20) · Groq (6) · HeyGen · Inception (2) · Inceptron (5) · Inferact vLLM · InferenceNet · Infermatic · Inflection · Io Net (5) · Ionstream (2) · Krea · Liquid · Makora (4) · Mancer 2 (8) · Mara (4) · Meta (3) · Minimax (8) · Mistral (16) · Modal (4) · ModelRun (3) · Modular · Moonshot AI (3) · Morph (6) · NCompass · Nebius (11) · Nex AGI (2) · NextBit (12) · Novita (70) · Nvidia · Ollama · OpenAI (49) · OpenInference (1) · Parasail (37) · Perceptron (1) · Perplexity (5) · Phala (22) · Poolside (2) · Quiver · Recraft · Reka (7) · Relace (3) · Runway · Sail Research (5) · Sakana AI (2) · SambaNova (7) · Seed (6) · SiliconFlow (39) · Sourceful · Stealth · StepFun (1) · StreamLake (22) · Switchpoint · Tencent (5) · Tenstorrent · Thinking Machines · Together (16) · Upstage (2) · Venice (33) · VoyageAI by MongoDB · Wafer (4) · xAI (6) · Xiaomi (2) · Z.AI (13)

Caveats

Read these before quoting a number.

  • Cheapest is not equivalent. Providers differ in quantization, context window, throughput, rate limits and reliability. A 2× price gap is not automatically a 2× saving.
  • Azure meter names are heavily abbreviated (5.4 opt Dz 1M Tokens). Meters that can't be parsed unambiguously are dropped rather than guessed at.
  • List prices only. No committed-use discounts, negotiated rates or free tiers.
  • Prices are collected automatically and may be wrong. Verify with the provider before making a purchasing decision. Not affiliated with any provider.

Running it

python -m venv .venv && ./.venv/bin/pip install -r requirements.txt
./.venv/bin/python scripts/collect.py       # fetch raw payloads
./.venv/bin/python scripts/normalize.py     # normalize + append changes
./.venv/bin/python scripts/charts.py        # render README charts
./.venv/bin/python scripts/render_readme.py # inject tables

No API keys required.

Development

CI owns everything under data/ and charts/ — it regenerates them every 6 hours and commits. So local work should be code-only commits, branched from a freshly fetched origin/main:

git fetch origin && git worktree add .worktrees/<name> -b <type>/<name> origin/main

If you ever hit a merge conflict in prices.csv or the raw JSON, do not resolve it by hand — reset to origin and let the pipeline regenerate.

A healthy no-change run touches exactly two lines (the README timestamp and meta.json). If a run with no price movement rewrites more than that, something volatile is leaking into the archive; strip it in stabilize() rather than letting it accumulate.

License

Code: MIT. Data: CC BY 4.0 — attribution appreciated, corrections more so.

Contributors

jiashuoz

8 commits

Languages

Python

94.6%

HTML

5.4%