← Blog

Claude API Pricing Per Million Tokens Explained

2026-10-23 · 5 min read · SubToAPI Team

Anthropic prices the Claude API per million tokens, with separate rates for input (prompt) tokens and output (completion) tokens, and the rate depends on which model you call. As of this writing, Claude's model family spans a cheap, fast tier (Haiku) through a balanced mid-tier (Sonnet) up to the most capable tier (Opus), and the price gap between the cheapest and most expensive model is roughly 20–60x depending on the generation.

If you're trying to estimate what a project will cost, the short answer is: pick the model tier first, then multiply your expected monthly input and output tokens by that model's per-million rate. Below is a practical breakdown of current list pricing, how token counting actually works, and how to avoid common budgeting mistakes.

Current Claude API pricing by model

Anthropic updates pricing occasionally, so always check the official pricing page before finalizing a budget, but the current tiers look like this:

Notice that output tokens always cost more than input tokens — usually 4–5x more. This matters a lot if your use case generates long completions (code generation, long-form writing, detailed JSON) versus short completions (classification labels, yes/no answers, short extractions).

How token counting actually works

"Per million tokens" sounds abstract until you connect it to real text. A rough rule of thumb: 1 token ≈ 4 characters of English text, or about 0.75 words per token. So:

Tokens are counted separately for the prompt you send (system prompt + conversation history + user message) and the completion the model generates. If you're sending the full chat history on every request — which most chat apps do — your input token count grows with every turn, even if the user's new message is short. This is the single biggest hidden cost driver in Claude-based apps: long conversations re-send the entire history every time.

Estimating real monthly cost

A simple formula for budgeting:

monthly_cost = (input_tokens / 1,000,000 * input_rate)
             + (output_tokens / 1,000,000 * output_rate)

Example: a support bot on Claude 3.5 Sonnet handling 50,000 conversations a month, averaging 800 input tokens and 200 output tokens per conversation:

input:  50,000 * 800  = 40,000,000 tokens → 40 * $3  = $120
output: 50,000 * 200  = 10,000,000 tokens → 10 * $15 = $150
total: $270/month

Switching the same workload to Haiku instead of Sonnet would cut this to roughly $70/month, at the cost of somewhat less nuanced responses — which is often an acceptable trade for classification-style support deflection, but not for complex troubleshooting.

Things that change your effective cost

A few factors beyond the raw per-million rate matter in practice:

Where SubToAPI fits in

If you already have Claude access and want to turn it into a production HTTPS API without building your own billing, key management, and usage-tracking layer, SubToAPI wraps that access into application API keys (sub_live_...) with streaming, tool use, and per-key usage metadata out of the box. You still pay Anthropic's underlying per-million-token rates through your Claude access — SubToAPI adds the infrastructure layer (team seats, dashboards, key rotation) on top, starting at €9/month on the Solo plan. See /pricing for plan details or jump straight to the /docs/quickstart to see how requests look against https://api.subtoapi.app/v1/....

A minimal request looks like this:

curl https://api.subtoapi.app/v1/messages \
  -H "Authorization: Bearer $SUBTOAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet",
    "max_tokens": 300,
    "messages": [{"role": "user", "content": "Summarize this in 3 bullets."}]
  }'

Full request/response formats, including streaming and tool use, are covered in /docs/messages, /docs/streaming, and /docs/tools.

Practical budgeting checklist

Questions

Is Claude API pricing the same for all models? No. Each model tier (Haiku, Sonnet, Opus) has its own input and output rate per million tokens, with Opus costing significantly more than Haiku for the same token volume.

Does streaming cost more than non-streaming responses? No, streaming doesn't change the per-token price. You pay the same input/output rates either way — streaming only changes how the response is delivered.

How can I reduce my Claude API bill without losing quality? Route simple queries to Haiku and reserve Sonnet/Opus for complex tasks, trim long conversation histories before resending them, and use prompt caching where available for repeated large contexts.

Turn your Claude access into an HTTPS API

SubToAPI gives you application API keys, streaming, tool use and usage insights on top of your existing Claude access — set up in minutes.

Start free  Read the quickstart →