method

How these numbers are produced.

Every price on this site was read from a provider pricing page on a dated day. Nothing is estimated, scored, or carried over from memory. Where a number could not be verified, the row was left out and named below.

The arithmetic

fresh_input  = input_tokens x (1 - cache_hit)
cached_input = input_tokens x cache_hit

per_request = (fresh_input / 1,000,000) x price_in
            + (cached_input / 1,000,000) x price_cache_read
            + (output_tokens / 1,000,000) x price_out

monthly = per_request x requests
batch   = monthly x published_discount

Cache reads are applied only where the vendor publishes a cache-read rate. Batch is applied per model using that vendor's published discount, which is not always 50%: some models carry 20%, 24%, or 60% off.

What is not in the number

  • Retries, timeouts, and failed calls, which in practice add 5% to 20%.
  • Tool calls and grounding fees, such as search grounding billed per thousand requests.
  • Embedding, image, audio, and video tokens.
  • Fine-tuning and training runs.
  • Negotiated, committed, or volume discounts.
  • Usage caps inside subscription plans, which vendors rarely publish in comparable units.

Treat the output as a floor for list-price spend, not an invoice. The ranking is the useful part: it holds even when all rows shift together.

Coverage

21 models and 11 plans across 6 sources, covering 7 priced workloads.

SourceWhat it coversRead onURL
Anthropic pricingAPI rates, caching, seatsSep 24, 2026claude.com/pricing
Gemini API pricingAPI rates, caching, seatsSep 24, 2026ai.google.dev/gemini-api/docs/pricing
OpenRouter model listCross-vendor list ratesSep 24, 2026openrouter.ai/models
Cursor pricingSeats and plan contentsSep 24, 2026cursor.com/pricing
GitHub Copilot plansSeats and plan contentsSep 24, 2026github.com/features/copilot/plans
Runpod GPU pricingRented GPU hoursSep 13, 2026www.runpod.io/pricing

Deliberately missing

  • Individual ChatGPT plan prices. The pricing page renders its numbers client-side and they could not be read directly, so those plans are absent rather than guessed.
  • Vendors whose rates could not be read from a pricing page on the same pass. They are added when they can be, not approximated.
  • Benchmark-style quality scores. Cost is measurable here; quality is not, and a made-up score would poison the table.

Update policy

Prices carry the date they were read. When a vendor changes a rate, the row is corrected and the date moves with it. Vendors that publish introductory pricing with an end date, such as Gemini 3.8 Flash, say so in the model note.

Every figure here is dated Sep 24, 2026. If you are reading this much later, assume some rows have moved and check the source link on the row before you make a decision.

Ordering and money

Tables are sorted by arithmetic, cheapest first. There are no sponsored rows, no paid placements, and no vendor can change a ranking. Some outbound links may earn a commission; that has no effect on which row sits at the top. Details are on the disclosure page.

Corrections

Spotted a rate that has moved? The row carries its source link, so the fastest fix is to send the vendor URL and the new figure. Corrections get applied with the next read, and the date on the row updates with it.

Prices read from 6 provider pricing pages on Sep 24, 2026. Some outbound links may be affiliate links. How that works.