Skip to main content
DeepSeek offers two standalone tool APIs for agents and RAG pipelines that need live web data:
  • Search: send a query, get structured web search results (title, link, summaries, optional page body)
  • Fetch: send a URL, get the page body already converted to Markdown
They are not chat models. They consume no tokens and are billed per successful request. Your code decides when and what to search, then feeds the results to any model.
Model names: deepseek-search, deepseek-fetch. Endpoints: POST /v1/tools/search, POST /v1/tools/fetch. Available in the default / svip groups. All data on this page comes from APIYI testing on October 21, 2026 (UTC+8).
Keys in the ClaudeCode group cannot call these two APIs. They return 503 no available channels for model deepseek-search. Create a separate key in the default or svip group.

What it is and when to use it

The usual pattern is Search first, then Fetch a few results: each result’s summary is enough for a model to judge relevance, so only fetch the pages you need in full.

How this relates to built-in search in Claude Code

This page is a plain API: your code calls /v1/tools/search and /v1/tools/fetch directly. In clients such as Claude Code and Codex, web searches started by the model go through a server-side tool (web_search) inside the chat API, which is a different thing. APIYI will support built-in search for DeepSeek models in those clients in a later release and will announce it separately.

Pricing

Pricing in one sentence: set against the “large-deposit customer with 20% bonus” baseline, so it lands on par with the official price once the bonus applies. The list price is $0.0009 per request; with the 20% top-up bonus the effective cost is $0.00075 per request, the same as DeepSeek’s official price. General customers with the 10% bonus pay about 1.09× the official price. Prices include tax and can be invoiced. DeepSeek offers no discount on these APIs and APIYI doesn’t price them for profit: they are offered to secure supply and serve customers. One APIYI key covers search, fetch and every major model, with no separate DeepSeek account or top-up needed.
Model prices are aligned with official pricing and may change with it; the table above is for reference only, and the Model Pricing tab in the top navigation is authoritative: Model Pricing.
Billing rules (same as the official API):
  • Only successful requests are billed: HTTP 200 with a result
  • Parameter errors (400) and fetch failures (404) are not billed
  • The price does not depend on count, need_content or response length: 1 result or 50 results with page bodies is still one request
  • Each call is its own row in the console logs, under the model name deepseek-search or deepseek-fetch, so you can reconcile by model

Quick start

The request body does not need a model field; if you send one it is ignored.

Request parameters

Search: POST /v1/tools/search

Search operators (inside query):

Fetch: POST /v1/tools/fetch

Response fields

Search returns {"results": [...]}; each result has: Fetch returns {"title": "...", "content": "..."}, where content is the Markdown body.

Test results

Tested on 2026-10-21 (UTC+8):

Things you need to know

A search engine almost always returns something: in testing, a string of random characters still returned 3 results and was billed. Likewise, some sites answer a missing page with their home page or a notice page instead of a 404 (a “soft 404”); Fetch treats that as a successful fetch and bills it. Validate queries and URLs in your own code before calling.
When Fetch cannot get usable content it always returns 404 failed to fetch URL, whether the target page is 404, the domain does not exist, the address is private, or the site refused access. The type field in the error body is always shell_api_error, so use the HTTP status code plus message to tell errors apart: on 400 fix the parameters; on 404 try another URL; on 429 / 5xx wait and retry.
Search and Fetch return raw content from the internet, which may include ads, wrong information, or even prompt injection aimed at AI. When you pass results to a model, tell it explicitly that this is external web content, not instructions. When you show results in a web page or app, escape the HTML.
The upstream limits are 100 QPS for Search and 25 QPS for Fetch, and Fetch has a separate limit per target domain. Going over returns 429; wait briefly and retry. When fetching many pages from the same site, throttle on the client side.

FAQ

Those are built-in tools of chat models: the model decides whether and what to search, and searches are billed as tool calls on top (OpenAI web_search is $10 per 1,000 calls). This page is a standalone search API: your code decides when and what to search, the unit price is a small fraction of that, and the results can go to any model. For built-in tools, see OpenAI Web Search, Claude Web Search and Gemini Web Search.
Not directly yet. Web searches the model starts inside Claude Code go through the chat API’s server-side tool, not through this API, and keys in the ClaudeCode group cannot call this API either. APIYI will support built-in search for DeepSeek models in those clients in a later release.
Results carry a date field, and you can use the after: operator to get only recent content. In testing, news published the same day showed up.

Search Playground

Parameter reference, error codes, and a live request panel

Fetch Playground

Fetch any web page as Markdown

DeepSeek V4 Flash

A chat model to pair with it

Top-up bonuses

The more you top up, the bigger the bonus; large-deposit customers pay the official price