# DeepSeek search and fetch billing starts Oct 31: re-forecast

URL: https://infro.io/blog/deepseek-search-and-fetch-billing-starts-oct-31-re-forecast
Author: INFRO Editorial (https://infro.io/blog/editorial)
Publisher: INFRO
Published: 2026-10-29
Last modified: 2026-10-29
Last reviewed: 2026-10-29 (next review due 2026-11-28)
Topic: Cost and FinOps
Format: Brief

> From Oct 31, 2026, 16:00 UTC, DeepSeek bills Search and Fetch at $0.75 per 1,000 successful requests each, on top of token cost.[^deepseek-release-1017] Forecast tool cost as calls per answer × success rate × unit price, keep it separate from token cost, and budget the two lines separately.[^deepseek-search-guide]

Key takeaways:
- Billing for server-side Search and Fetch calls starts Oct 31, 2026, 16:00 UTC, at $0.75 per 1,000 successful requests per endpoint.
- Only successful requests are billed: HTTP 200 with a non-empty result; failures, empty searches and timeouts are not.
- Forecast tool cost per answer as calls × success rate × unit price, and keep it apart from token cost.
- Fetched pages also add input tokens, so tool use moves the token line as well as the tool line.
- Set separate budget lines and a calls-per-answer limit before the date, not after the first invoice.

## What changes on 31 October

DeepSeek opened its Search and Fetch APIs on 17 October at $0.75 per 1,000 calls for each endpoint. It said that Search and Fetch calls made as server-side tools in DeepSeek Harness, Claude Code and Codex are free for now, and that billing starts on Oct 31, 2026 at 16:00 UTC.[1] The Search guide states the same moment as 00:00 Beijing time on November 1.[2]

So an agent that has searched for free since the V4.1-Flash-1017 release gains a second cost line. Token pricing is unchanged: the changelog says the calling method and pricing stay the same, and `deepseek-flash` now points to the new model.[3] If you have been calling the retired `deepseek-v4-flash` name, those requests are already served by V4.1-Flash-1017 and billed at the Flash price.[3]

Note that 16:00 UTC falls inside October on a UTC calendar, so the last eight hours of the month are already billable. If your invoice period or internal close runs on another timezone, check which side of the cut the first charges land on.

## What counts as a billed call

The guide bills per successful request, not per token and not per returned result. Search and Fetch are $0.75 per 1,000 successful requests each. A request is billable only when it returns HTTP 200 with a result: Search needs a non-empty `results` array, Fetch needs page content. Failures, empty searches and timeouts are not billed, and `count` changes the number of results but not the price.[2]

Three consequences for a forecast:

- Ask for `count: 50` instead of 5 and the call costs the same; only the tokens you then feed the model change.
- A search the model reformulates three times because results were empty costs nothing for the empty ones, but each non-empty one is billed.
- Limits are separate: Search is 100 QPS and Fetch 25 QPS per account, and Fetch also has a per-domain limit. Over-limit calls return 429.[2]

The guide describes one price per endpoint. It does not mention peak or off-peak rates for Search or Fetch, while tokens do have off-peak rates at 50% of peak.[4] Do not assume the off-peak discount applies to tool calls.

## Split the two costs per answer

Keep two numbers for every answer: token cost from the `usage` object, and tool cost from counting successful tool calls. Do not fold the second into the first, because they scale differently. Tokens follow context length and reasoning effort; tool cost follows how many pages the agent decides to read.

```python
SEARCH_USD = 0.75 / 1000   # per successful Search request
FETCH_USD = 0.75 / 1000    # per successful Fetch request

def tool_cost(searches_ok: int, fetches_ok: int) -> float:
    # count only HTTP 200 with a non-empty result
    return searches_ok * SEARCH_USD + fetches_ok * FETCH_USD

def answer_cost(token_usd: float, searches_ok: int, fetches_ok: int) -> dict:
    tools = tool_cost(searches_ok, fetches_ok)
    return {"tokens": token_usd, "tools": tools, "total": token_usd + tools}
```

Log `searches_ok` and `fetches_ok` per answer next to the request id and an end-user or project tag. Where your harness hides the calls inside a server-side tool, take the counts from DeepSeek's platform usage data or the harness log. I did not find a field in the pages I read that returns them in the chat response.

## Worked example: a search-enabled agent

> **Example: Illustrative figures, not DeepSeek rates or measurements**
> A support agent on `deepseek-flash` answers 20,000 questions a day. Per answer it issues 3 searches and 2 fetches. Assume 90% of searches and 80% of fetches succeed. Assume token cost is $0.004 per answer, taken from your own `usage` data; replace it with yours.
> 
> - Successful searches: 3 × 0.9 = 2.7 → 2.7 × $0.00075 = $0.002025
> - Successful fetches: 2 × 0.8 = 1.6 → 1.6 × $0.00075 = $0.0012
> - Tool cost per answer: $0.003225
> - Total per answer: $0.004 + $0.003225 = $0.007225
> - Tool share: about 45%
> - Per day: 20,000 × $0.003225 = $64.50 of tool cost; per 30 days, $1,935

Three adjustments follow. First, fetched pages land in the context, so the token figure for tool-using answers is higher than for answers without tools; measure it on tool-using answers only. Second, the tool line moves with the success rate and the calls-per-answer, so forecast a low, expected and high case on those two inputs. Third, a loop that fetches ten pages instead of two multiplies the line fivefold, so cap calls per answer as you would cap steps (see [bounding agent loops](https://infro.io/blog/bound-ai-agent-loops)).

## Update the budget before the date

1. Pull a week of agent runs and count successful Search and Fetch calls per answer.
2. Add a tool line to each forecast: calls × success rate × $0.75/1,000.
3. Re-run token cost on tool-using answers only.
4. Give tokens and tools separate budget lines and alert thresholds.
5. Set a maximum of tool calls per answer in the harness or agent code.
6. After 1 November, compare the first DeepSeek statement with the forecast and correct the success rates.

If your token traffic goes through INFRO, the request log records token counts and estimated provider cost per request, queryable by project and key, and budgets can cap spend per project, member or key.[5] That covers the token line. I have not confirmed that INFRO estimates DeepSeek's per-request Search and Fetch charges, and a tool call a harness makes straight to DeepSeek never passes through a gateway, so keep the tool line in your own sheet until you have checked. For the general picture of tool pricing across vendors, see [what server-side tools cost an AI agent](https://infro.io/blog/ai-agent-tool-call-costs).

## Questions

### Are direct calls to the Search and Fetch endpoints already billed?

The docs list $0.75 per 1,000 successful requests for each endpoint. The free period they describe covers server-side tool calls made through DeepSeek Harness, Claude Code and Codex.[2] They do not say whether direct calls are billed before Oct 31, so check your platform usage page.

### Do failed or empty searches cost anything?

No. A request is billable only if it returns HTTP 200 and produces a result. Failed requests, empty search results and timeouts are not billed.[2]

## Sources

1. DeepSeek-V4.1-Flash-1017: Wish-Driven Programming Made Real — DeepSeek API Docs. https://api-docs.deepseek.com/news/news261017 (accessed 2026-10-29)
2. Search & Fetch (billing, errors, rate limits) — DeepSeek API Docs. https://api-docs.deepseek.com/guides/search (accessed 2026-10-29)
3. Your First API Call (model names) — DeepSeek API Docs. https://api-docs.deepseek.com/news (accessed 2026-10-29)
4. DeepSeek-V4.1-Flash: Smarter, Faster, More Efficient — DeepSeek API Docs. https://api-docs.deepseek.com/news/news260910 (accessed 2026-10-29)
5. INFRO documentation — INFRO. https://infro.io/docs (accessed 2026-10-29)
