Most Claude vs DeepSeek pages answer with a ranking, and a ranking needs a number, and the number usually belongs to whoever ran the test. That is a fragile way to spend money.

So this page does something narrower: both columns come from the two vendors’ own documentation, and a row one side does not publish stays marked as unpublished.

Why the rate cards outlive the rankings

You are not choosing the best model. You are choosing one for a particular workload, and two published facts decide most of that: what a token costs at your volume, and whether the model can do the job.

A rate card has three properties a ranking lacks. Both vendors publish it, it carries a date, and a reader can re-check it in a minute.

What Anthropic publishes, and where

Anthropic’s pricing page lists four current models with per-million-token rates. Claude Fable 5.1 is $10 in and $50 out, with cache reads at $0.25 and cache writes at $12.50. Claude Opus 5 is $5 and $25. Claude Sonnet 5 is $2 and $10. Claude Haiku 4.5 is $1 and $5. Two footnotes matter as much as the table: batch processing takes 50% off, and the cache rates assume a five-minute TTL.

The consumer side is priced by tier. Free is $0. Pro is $17 per month on annual terms, or $20 billed monthly. Max starts at $100 per month with five or twenty times the usage of Pro. The page adds that prices exclude applicable tax and can change at Anthropic’s discretion.

One page did not open. The model overview at platform.claude.com redirected to a region notice instead of the document, so nothing here comes from it — including the maximum output tokens, which is why that row reads as unpublished.

An official Anthropic comparison graphic published by the vendor
Anthropic

The DeepSeek column, from DeepSeek’s docs

DeepSeek’s API documentation lists two production models: deepseek-flash, the current DeepSeek-V4.1-Flash, and deepseek-v4-pro. Both carry a context length of 1M and a maximum output of 384K tokens, and both run in a thinking or a non-thinking mode, thinking by default.

The rates appear twice because time of day changes them: off-peak is half of peak, and peak runs 01:00 to 04:00 and 06:00 to 10:00 UTC, Monday through Friday. Off-peak, deepseek-flash charges $0.15 per million input tokens on a cache miss, $0.003 on a cache hit and $0.60 per million output tokens. The same three numbers for deepseek-v4-pro are $0.66, $0.022 and $1.98.

The endpoint is the interesting part

DeepSeek documents an Anthropic-format base URL of its own, https://api.deepseek.com/anthropic. Its compatibility table says x-api-key is fully supported, anthropic-version is ignored, temperature accepts 0.0 to 2.0, and top_p only applies in thinking mode.

Model names are mapped rather than passed through. A name starting with claude-opus becomes deepseek-v4-pro; claude-haiku or claude-sonnet becomes deepseek-flash; an unrecognised name falls back to deepseek-flash. Code written for one vendor runs unchanged and is billed by the other.

Both vendors describe the window, in different shapes

Anthropic’s help centre says the window depends on the model, that the newest models on paid plans support up to 1M tokens, and that others support 500K or 200K. Its plan table states 200k for Free, Pro, Max 5x and Max 20x. Both sentences are Anthropic’s, on different pages, so quoting one of them is incomplete.

Side by side, cell by cell

What is comparedClaude, vendor pagesDeepSeek, vendor pages
Current modelsClaude Fable 5.1, Claude Opus 5, Claude Sonnet 5, Claude Haiku 4.5deepseek-flash, deepseek-v4-pro
Input per 1M tokens$1 to $10, by model$0.15 to $0.66 off-peak, cache miss
Output per 1M tokens$5 to $50, by model$0.60 to $1.98 off-peak
Cache read per 1M tokens$0.10 to $0.25, by model$0.003 to $0.022 off-peak
Context lengthup to 1M on the newest paid models; the per-plan rows state 200k1M on both models
Max output tokensunpublished here384K on both models
Batch discount50% off with batch processingunpublished here
Time-of-day pricingnone publishedoff-peak is half of peak; peak is two weekday windows in UTC
Anthropic-format endpointthe vendor that defines the formathttps://api.deepseek.com/anthropic
Concurrency limitunpublished here2,500 for flash, 500 for pro, per account
Individual subscriptionsFree $0, Pro $17 monthly on annual terms, Max from $100unpublished here

Several cells say the same sentence for the same reason. A marked cell is a fact about a page, not a claim about a product, and a page that cannot be opened cannot be quoted.

Worked example: turning two rate cards into a decision

Two prompts, each run in a fresh conversation with the tables above pasted underneath.

Case one, the monthly bill. The point is not the arithmetic. It is making the model name what it had to assume.

Use only the numbers below. If a number you need is missing, write
"not published" instead of estimating it.

Anthropic API, per million tokens: Fable 5.1 $10 in / $50 out, cache read
$0.25. Sonnet 5 $2 in / $10 out, cache read $0.20. Batch processing is 50%
off. Caching rates assume a 5-minute TTL.

DeepSeek API, per million tokens, off-peak: deepseek-flash $0.15 in on a
cache miss, $0.003 on a cache hit, $0.60 out. deepseek-v4-pro $0.66 in on a
cache miss, $0.022 on a cache hit, $1.98 out. Off-peak is half of peak.

My workload: 200 million input tokens a month, 90% of them repeating one
stable prefix, and 20 million output tokens.

Print a table of model, input cost, output cost and monthly total. Then one
line listing every assumption you had to make, and one line naming any cell
of the rate cards you could not find.

What came back was four rows and, underneath, the part worth keeping. The model noted that it cannot know what fraction of the repeating prefix lands in the cache, that hitting off-peak prices means scheduling the job, and that the batch discount exists on one side only. Those three lines are the decision.

Case two, moving a client without touching the code. DeepSeek publishes the variable names for exactly this.

Write a shell snippet for macOS that exports these variables, in this order,
with the token read from an existing variable named DEEPSEEK_KEY:

ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
ANTHROPIC_AUTH_TOKEN=$DEEPSEEK_KEY
ANTHROPIC_MODEL=deepseek-flash[1m]

Then explain in three bullets what each variable changes. Invent no other
variable name, and use no value you were not given.

The reply was three bullets and a fourth line: because the endpoint maps model families by prefix, a client that still sends a Claude model id is accepted and billed at the other vendor’s rates. That decides whether switching is a configuration change or a code change. The Claude API getting-started guide covers the request shape on the other side of the same format.

What neither vendor publishes

Anthropic publishes no fixed message count and no numeric weekly limit. Limits reset on a rolling five-hour session window, weekly limits are added on paid plans, and reaching one leaves three options: wait, upgrade, or buy usage credits. The credit rate is unpublished too, so the cost of reaching the top model from Pro cannot be worked out in advance. The plan breakdown walks the published tiers.

DeepSeek’s API docs publish no batch discount and no consumer price. What they publish in detail is the compatibility surface, down to which message types are accepted and which are ignored.

Frequently asked questions

Which one is cheaper? On the published cards, DeepSeek is lower on input, output and cache reads, and off-peak halves it again. Whether that holds for you depends on the input, output and cache mix, which is why the first prompt asks for a bill rather than a verdict.

Can an existing Claude Code setup point at DeepSeek? DeepSeek documents an Anthropic-format base URL and the variables for it, so the client does not change. The terminal guide covers that side; the model mapping decides what gets billed.

Is a 1M window the same on both sides? Anthropic ties the number to the model and the plan, and publishes both a range and a per-plan row. DeepSeek publishes one figure for both models.

How long do these rates last? Neither page carries an expiry date. Anthropic can change prices at its discretion, and DeepSeek reserves the right to adjust prices. The same method on another pair is in the Claude vs ChatGPT comparison.

Two columns you can re-check in a minute beat one column you have to trust.