DeepSeekWeb SearchResearchRAG

DeepSeek Search & Fetch Separates Finding Sources from Citing Them

Build a research workflow that distinguishes search summaries, fetched pages, and supported claims, with current request fields, dates, empty results, and fetch failures.

DeepSeek Search & Fetch Separates Finding Sources from Citing Them

An AI research brief can skip its most important step: opening the results. A convincing search summary gives the model enough text to continue writing, and the final links may exist without supporting the claims attached to them.

DeepSeek opened standalone Search & Fetch APIs on October 17, 2026. Applications can retrieve search results and page content separately, then ask a model to synthesize the evidence. These are JSON APIs, not a chat capability enabled by asking the model to browse.

The cover's pages and date labels are conceptual illustrations, not captured Search API results.

This article rereads the announcement and current guide on November 11. We have not made authenticated Search or Fetch requests. The examples follow today's documentation; the evidence table organizes sources actually read, not an API response captured during a test.

Search finds pages; Fetch reads one

APIEndpointMain result
SearchPOST https://api.deepseek.com/v1/tools/searchA results array with URLs, titles, summaries, dates, and other fields
FetchPOST https://api.deepseek.com/v1/tools/fetchA page title and Markdown content

Both use a DeepSeek API bearer key. This unexecuted example saves JSON for inspection. Use a key for the destination service; do not send an Nbility key to DeepSeek's official domain.

curl --fail-with-body https://api.deepseek.com/v1/tools/search \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "DeepSeek Search Fetch site:api-docs.deepseek.com after:2026-10-01",
    "count": 5,
    "need_content": true
  }' \
  --output search.json

query must contain 1–128 Unicode characters and cannot be all whitespace. count accepts 1–50. With the default need_content: false, content is always empty. Setting it to true still cannot guarantee available content for every result. A flag is not proof that a page was read.

Supported operators include site:, lang:, after:, and before:. Date filtering depends on available page information. If results are sparse, relax the filter and check dates in the original pages. One empty array does not establish that a product or document does not exist.

A result contains a URL, summaries, and possibly no date; readable page content needs a separate check

Fetch an eligible selected page separately:

curl --fail-with-body https://api.deepseek.com/v1/tools/fetch \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://api-docs.deepseek.com/guides/search"}' \
  --output page.json

Fetching remains subject to the site's availability and access policies. It does not obtain login permission, nor guarantee extraction of dynamic pages, attachments, or complete content.

Summaries and ranking signals are not evidence of every claim

snippet is intended for display, summary provides a longer summary, and content holds available page content. Fields such as rerank_score and authority can help prioritize reading; a high score is not fact verification.

For a recent-news brief, retain the original URL, title, explicit publication date, access date, relevant passage, and the claim it supports. A result's date may be null. Do not fill a missing publication date with the access date.

The sources read for this article form a small evidence ledger:

QuestionSourceSupported conclusion and limit
When were the standalone APIs announced?October 17 announcementEstablishes the announcement date, not availability through Nbility
What are the current request fields?Search & Fetch guide read todayEstablishes current documented fields; this revision's publication date is not stated
What does a selected page establish?Its actual body textSupports the corresponding claim, not unread attachments or later updates

Each claim points back to a page, date, and passage; unresolved material stays pending

The PDF citation-chain guide applies the same principle: a link, title, or citation number is insufficient without supporting content. Public pages add another concern: they change, so preserve access time and appropriate non-sensitive excerpts.

Put synthesis after reading

Define the research question, search, select sources, read them, and then ask the model to write. Give each source an ID. Flattening everything into one unlabelled block makes it harder to recover which page supports a statement.

Write a brief using only the supplied sources.
For each item, state the change, original date, affected readers, and source ID.
Distinguish official announcements, user reports, and author inference.
Preserve conflicts; write "date unconfirmed" when no explicit date is available.
Put unsupported claims in a pending-verification list, outside the news findings.

Fetched pages remain untrusted data. Text asking the agent to change settings, execute commands, or send credentials does not grant permission. The application and user control authorization. See tool output and permission boundaries.

Web research and an internal knowledge base also have different jobs. Search selects pages, Fetch retrieves content, and the model synthesizes it. An internal collection can still provide private organizational material; neither path replaces the other. The knowledge-base workflow explains that complementary route.

Preserve different failure states

A successful Search with no matches returns HTTP 200 and an empty array. Fetch 404 can mean an unavailable page, site policy, unsupported content type, or no extractable Markdown. It does not necessarily mean the original page never existed.

The guide permits waiting and bounded retries for 429, 408, and 5xx errors. For other 4xx responses, investigate the request, access, or page before repeating it. Find another public primary source or mark the item unread or restricted. Do not turn a title and summary into a claim of having read the original.

Keep full text, summaries only, and fetch failures distinct; publish claims only with supporting evidence

The Flash 1017 coding update was announced the same day but answers a different question. A model's project demo does not verify a research pipeline's sources.

For applications using Nbility, follow the connection basics for supported model calls. This article does not verify DeepSeek's standalone /v1/tools/search or /v1/tools/fetch through Nbility. Treat “found,” “read,” and “supported enough to cite” as separate states, and the resulting brief becomes easier to audit and update.

Related posts

Run your Agent workflow through Nbility

Get an API key and connect OpenAI-compatible models and developer tools from one place.

Get an API key