DeepSeek API Cost Calculator
Every page about DeepSeek API pricing gives you the same table: a price per million tokens. That table cannot answer the only question a person actually has, which is "what will my project cost in a month". So here is the table turned into a calculator — and then the part nobody writes down, which is that the three ways to cut the bill are not worth the same amount, and which one wins depends on your workload.
Short answer: on deepseek-flash, input that misses the cache costs $0.15 per million tokens off-peak and $0.30 at peak; cached input costs $0.003 and $0.006; output costs $0.60 and $1.20. Almost any real workload lands between $0.0002 and $0.003 per request, which is $0.20 to $3.00 per thousand. The single biggest cost lever is not caching — it is how long your answers are, unless your prompts carry a large repeated block, in which case caching overtakes everything else.
1. The calculator
Six inputs. If you do not know a number yet, leave the default — it is a support-bot-shaped workload, which is the most common shape there is.
Nothing is sent anywhere — the arithmetic runs in your browser. Rates are per million tokens, peak and off-peak averaged by the peak share you set.
2. The rates behind it
Read from DeepSeek's own API documentation on 2 November 2026, in dollars per one million tokens:
| Per 1M tokens | flash off-peak | flash peak | v4-pro off-peak | v4-pro peak |
|---|---|---|---|---|
| Input, cache hit | $0.003 | $0.006 | $0.022 | $0.044 |
| Input, cache miss | $0.15 | $0.30 | $0.66 | $1.32 |
| Output | $0.60 | $1.20 | $1.98 | $3.96 |
Three ratios do all the work in this article:
- Output costs 4x fresh input. $0.60 against $0.15. Every token the model writes is four times more expensive than every token it reads.
- Cached input costs 1/50th of fresh input. $0.003 against $0.15. Enormous — if your workload has anything to cache.
- Peak doubles every line. A clean 2x, not a premium.
Token counts are the part people get wrong, so a rough conversion before you start typing numbers: 1,000 English words is about 1,330 tokens, or 0.75 words per token. A one-page document of 500 words is roughly 665 tokens. A 50-page PDF of 25,000 words is roughly 33,000 tokens, and that is the number that matters for a document chatbot — it is resent on every single turn of the conversation.
3. Which lever actually saves money
Three things are usually recommended for cutting an LLM bill: shorten the answers, avoid peak hours, and turn on prompt caching. They are all correct, and they are not equally valuable. Here is the same workload priced with one lever pulled at a time.
Take a support bot: 1,200 input tokens (most of it a 900-token system prompt), 250 output tokens, 8,000 requests a month, three quarters of the input cached, 40% of traffic inside the peak window. That is $2.21 a month. Now pull one lever:
| Lever | Change | Monthly | Saving |
|---|---|---|---|
| Shorter answers | 250 → 125 output tokens | $1.37 | −38% |
| Off-peak only | 40% peak → 0% | $1.58 | −29% |
| Better caching | 75% → 99% hit rate | $1.74 | −21% |
Now the same three levers on a different shape of workload: a document assistant, 33,500 input tokens per request (a pasted PDF plus a question), 400 output tokens, 1,200 requests a month, 60% cached, half the traffic at peak. That is $4.16 a month.
| Lever | Change | Monthly | Saving |
|---|---|---|---|
| Better caching | 60% → 99% hit rate | $0.70 | −83% |
| Off-peak only | 50% peak → 0% | $2.77 | −33% |
| Shorter answers | 400 → 200 output tokens | $3.94 | −5% |
The ranking inverts. In the first table caching is the worst of the three levers; in the second it is the best by a wide margin. The rule behind that is simple enough to use without a calculator:
That last point deserves emphasis, because it is the most reliably under-used. Avoiding peak is a scheduling change, not an engineering one, and it beats caching in the support-bot case above.
4. Four real workloads, priced
All on deepseek-flash, all priced with the calculator on this page. The token assumptions are stated so you can substitute your own — they are estimates of typical traffic, not measurements of anyone's account.
| Workload | Volume | In / out per request | Per request | Per month |
|---|---|---|---|---|
| Customer-support bot | 8,000/mo | 1,200 / 250, 75% cached, 40% peak | $0.00028 | $2.21 |
| Coding assistant | 3,000/mo | 4,000 / 400, 80% cached, all peak | $0.00074 | $2.22 |
| Batch translation, 1,000 docs | 1,000/mo | 3,300 / 3,500, no cache, all peak | $0.0052 | $5.19 |
| Document Q&A, 200 sessions | 1,200/mo | 33,500 / 400, 60% cached, half peak | $0.0035 | $4.16 |
Two things fall out of that table. First, the range is narrow — a workload eight times busier than another can cost about the same, because token shape matters more than request count. Second, every one of these is under six dollars a month. That is the honest headline about DeepSeek API cost: it is hard to spend money on it by accident. If your bill is materially bigger than these numbers, the cause is almost always volume you did not intend, not price.
The batch translation row is worth a second look, because it is the one where the peak lever is free money: identical work, run overnight instead of during the day, costs $2.60 instead of $5.19.
5. The cache lever, and five reasons yours is not firing
Caching here means prefix caching: if the beginning of your request is byte-identical to a request made recently, that part bills at the cached rate. It is why a long fixed system prompt is close to free while a long changing one is not.
If your hit rate in the DeepSeek console is near zero while your code absolutely does send the same instructions every time, check these five, in this order:
- Something dynamic sits above something static. A timestamp, a session ID, a user's name injected at the top of the system prompt changes the prefix and kills the hit. Move every variable to the end — after the stable block.
- The order of a list or a JSON object is not stable. Two requests that differ only in the order of their tool definitions are two different prefixes.
- Your prompt is shorter than the minimum cacheable length. Short prompts are cheap enough not to be cached, and the cheap fix is to stop optimising.
- The gap between requests is long. Cached prefixes expire. DeepSeek does not publish the exact expiry window, so treat it as "recent, not indefinite" and do not build a business model on a cache never being evicted.
- You changed the model name. Caches are per model. Switching between
deepseek-flashanddeepseek-v4-promid-conversation starts cold every time.
6. The peak window: move the cron, not the code
Peak is 01:00–04:00 and 06:00–10:00 UTC, Monday to Friday, excluding Chinese public holidays, and everything outside that bills at half. In Beijing time that is 09:00–12:00 and 14:00–18:00 — Chinese office hours, which is the opposite of what most people guess about a Chinese provider.
The practical consequence for a scheduled job: if it runs at 10am Beijing time you are paying double, and if you move it to 8pm you are not. That is a one-line cron change worth 50%. We put the full timezone table — New York, London, Sydney and Beijing — in our DeepSeek pricing breakdown rather than repeat it here.
For interactive traffic you cannot move the users, so the peak share stays where it is. Set the slider to your real figure rather than leaving it at 40% and assuming the average. And to be clear about which product this is: the free chat app bills at no rate at all — every figure on this page is about API access only.
7. When v4-pro is worth 4.4 times the price
Input on deepseek-v4-pro is $0.66 per million against $0.15 on flash — 4.4 times — and output is $1.98 against $0.60, 3.3 times. On the coding-assistant workload above, that turns $2.22 into $8.34 a month.
Whether that is worth it is a quality question this page cannot answer, and we will not pretend otherwise. Two things we can tell you:
- v4-pro does not accept images; flash does. If your input includes screenshots, PDFs page images or diagrams, the decision is made for you and it is flash.
- The concurrency ceiling is lower. 500 concurrent requests on v4-pro against 2,500 on flash. At 500+ simultaneous requests, throughput — not price — becomes the constraint.
Given that the whole workload costs the price of two coffees a month, the sensible default for most projects is to run flash and spend the difference on evaluation. Switching up later is a model-name change.
8. Costs this calculator leaves out
A calculator that quietly omits charges is worse than none, so here is what is not in the number above:
- Search and Fetch. Billed per successful request at $0.75 per 1,000 — about 0.075 cents each — separate from tokens. Since 00:00 Beijing time on 1 November 2026 this also applies to server-side tool calls made through DeepSeek Harness, Claude Code and Codex, which used to be free. An agent that searches twenty times per run adds about 1.5 cents to that run.
- Failed requests. Not charged. Your retry logic, however, is — a retried request that succeeds twice bills twice.
- Context growth in a conversation. Every turn resends the history. The fifth message in a chat is not billed like the first, so a per-request estimate built on turn one will come in low. Either set input tokens to your average turn, or model the growth.
- Currency. The bill is in dollars and we do not convert it here, because an exchange rate in an article ages badly and DeepSeek's own billing is not in your currency either.
Frequently asked questions
How much does the DeepSeek API cost per 1,000 requests?
It depends entirely on how many tokens each request moves. In our default example — 1,200 input, 250 output, 75% cached, 40% peak — 1,000 requests cost about $0.28. A short chat exchange with no caching and full peak pricing is nearer $0.46 per thousand; a document workload can pass $3 per thousand.
Is the DeepSeek API cheaper than OpenAI's?
We do not publish that comparison, because we have not verified OpenAI's current per-token rates ourselves and a comparison built on second-hand numbers is worse than none. The DeepSeek side, read from its documentation on 2 November 2026: flash charges $0.15 per million input on a cache miss off-peak and $0.60 per million output. Take those two figures to your provider's billing page and compare the same line items.
Why is my bill higher than this calculator predicts?
Usually one of six: prompts missing the cache, answers longer than assumed, retries billed twice, conversation history growing the input each turn, Search and Fetch charges on top of tokens, or more peak-hour traffic than you thought.
Does prompt caching really cut the bill 50 times?
The unit price is 50 times lower. The bill is not, because input is only part of it. In our short-context example caching moved the total by 21%; in the long-document example, 83%.
Can I use the DeepSeek API for free?
We cannot confirm a free grant. Our account has never been funded, so we have never seen a new-account balance appear, and we found no free-credit promise on the pages we read on 2 November 2026. The consumer chat app is free and needs no card — that is a different thing from free API credits. Treat any "5 million free tokens" claim as unverified until you see it in your own console.
Sources and what we could not test
Rates were read from DeepSeek's official API documentation (the "Models & Pricing" page under api-docs.deepseek.com) on 2 November 2026 and quoted rather than paraphrased. The peak-hour schedule, the Search and Fetch charge and the model-to-version mapping come from the same source. The token-per-word ratio (0.75 words per token) is the standard rule of thumb for English text and is an approximation.
| Claim | Where it comes from |
|---|---|
| Per-million rates, peak and off-peak | DeepSeek API docs, read 2 Nov 2026 |
| Search / Fetch $0.75 per 1,000 | DeepSeek billing note, effective 1 Nov 2026 |
| Concurrency 2,500 / 500 | DeepSeek API docs |
| All monthly totals on this page | Arithmetic from the rates above, shown openly |
| Cache hit rates of 60–99% | Assumption. Not measured |
What we could not test: the actual billed amount for any workload on this page, since we have not funded an API account and have no invoice to show; the minimum top-up and whether a new account receives a granted balance; the exact cache expiry window; and whether real-world traffic matches the token assumptions in section 4. Every monthly figure here is arithmetic from published rates, clearly labelled as arithmetic, not a bill we received.