Skip to content

Cost and FinOpsBrief

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

Server-side Search and Fetch calls from DeepSeek Harness, Claude Code and Codex are free until Oct 31, 2026, 16:00 UTC. After that each successful call is a line item beside tokens. This brief shows how to split the two per answer and rebuild the forecast.

By INFRO Editorial

Published

4 min read

Glowing token streams being compressed into a precise efficient AI infrastructure pipeline

In short

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.1 Forecast tool cost as calls per answer × success rate × unit price, keep it separate from token cost, and budget the two lines separately.2

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.

answer_cost.py
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

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).

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.

Questions readers ask

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

From the team that builds it

Where this shows up in INFRO

INFRO is a control plane in front of the provider accounts you already hold. The capabilities below are the parts of it this article touches, each with the documentation that defines its behaviour.

INFRO accounts are self-serve. Provider usage is billed to you by your providers; INFRO charges a software subscription and takes 0% of model spend. See plans.

Sources

Numbered in order of first citation. Each was opened and checked against the claim on the date shown.

  1. 1.DeepSeek-V4.1-Flash-1017: Wish-Driven Programming Made Real (opens in a new tab) — DeepSeek API Docs. Accessed Oct 29, 2026.
  2. 2.Search & Fetch (billing, errors, rate limits) (opens in a new tab) — DeepSeek API Docs. Accessed Oct 29, 2026.
  3. 3.Your First API Call (model names) (opens in a new tab) — DeepSeek API Docs. Accessed Oct 29, 2026.
  4. 4.DeepSeek-V4.1-Flash: Smarter, Faster, More Efficient (opens in a new tab) — DeepSeek API Docs. Accessed Oct 29, 2026.
  5. 5.INFRO documentation (opens in a new tab) — INFRO. Accessed Oct 29, 2026.

About this article

Read DeepSeek's Search & Fetch guide, the 17 Oct 2026 V4.1-Flash-1017 release note, the 10 Sept V4.1-Flash note, the quick-start page and the INFRO docs overview on 29 Oct 2026. DeepSeek's per-token rates did not render on the pricing page I could read, so every token figure below is illustrative and none is quoted.

Last checked against its sources on . The next review is due by . No separate named reviewer is recorded for this article.

How articles are written, sourced and corrected is set out in the editorial standards.