Setup

DeepSeek API web search: what works and what it ignores

DeepSeek API web search, read from DeepSeek's docs: it runs through the Anthropic format, the Responses API drops it, and mcp_servers is ignored.

The looot team · , updated · 7 min read

On this page

Can the DeepSeek API search the web? Yes, but only through one door. DeepSeek API web search runs when you call the Anthropic-format endpoint, the way Claude Code does. The Responses API ignores the `web_search` tool without an error, and every format ignores `mcp_servers`. So the old answer "DeepSeek cannot search" is wrong, and "just add the tool" is only half right.

DeepSeek V4.1 Flash came out on 2026-09-10, and the top results for this question are still a year old. This page reads DeepSeek's own docs, lists what each API format does with search and MCP fields, and shows how to give a DeepSeek agent the data that native search does not reach: Google results, full pages and company records.

Yes, on the Anthropic-format endpoint, `https://api.deepseek.com/anthropic`. DeepSeek's guide for Claude Code says "The DeepSeek API natively supports the Web Search feature in Claude Code", and that the search runs "through the API provided by DeepSeek" (DeepSeek Claude Code guide, read 2026-10-14). The other formats do not offer it.

Here is what each format says about search and MCP. Sources: the Anthropic API guide and the Responses API guide, both read 2026-10-14.

FieldFormatStatus in the docsWhat it means for you
`server_tool_use`, `web_search_tool_result`Anthropic APISupportedServer-side web search works here
`web_search` toolResponses APIIgnoredThe request succeeds, and no search happens
`mcp` toolResponses APIIgnoredRemote MCP servers are not called
`mcp_servers`Anthropic APIIgnoredDeepSeek does not connect to your MCP server
`mcp_tool_use`, `mcp_tool_result`Anthropic APINot supportedMCP connector blocks do not work
`search_result`, `document` blocksAnthropic APINot supportedYou cannot hand it search results in those block types
Function tools (`name`, `input_schema`, `description`)All formatsSupportedYour code runs the tool and returns the result

The Responses guide says unsupported parameters are "silently ignored and do not cause errors". That is the trap. A Responses request with a `web_search` tool returns a normal answer, and the model answers from training data without telling you it never searched.

What does DeepSeek API web search cover, and what does it ignore?

It covers a general web search the model decides to run, with results summarized back into the conversation. DeepSeek warns that this costs extra: the search "generates additional LLM API requests to summarize the retrieved search content". It ignores MCP servers in the request, and the docs say nothing about which search engine answers, domain filters, locations or how many results come back.

So treat it as a quick lookup, not as a data source you can steer. If your agent needs Google's own ranking for a keyword, the text of a specific page, or a company's headcount from its domain, native search will not give you that in a form you can check. Those jobs need tools of their own.

What is DeepSeek V4.1 Flash?

It is the smallest model in DeepSeek's new architecture family, with native visual understanding, released on 2026-09-10 (DeepSeek news, read 2026-10-14). You call it as `deepseek-flash`, and the Anthropic format maps any Claude Sonnet or Haiku model name to it.

Off-peak, `deepseek-flash` costs $0.15 per 1M input tokens on a cache miss and $0.6 per 1M output tokens, and peak hours cost twice that (DeepSeek pricing, read 2026-10-14). The pricing page lists no separate search fee, only the extra tokens. For comparison, Claude's web search tool is $10 per 1,000 searches plus tokens (Anthropic pricing, read 2026-10-14), and OpenAI's is $10 per 1,000 calls plus search content tokens (OpenAI pricing, read 2026-10-14).

Give the model tools that your side runs. Every DeepSeek format supports function tools: the model asks for a call, your code or client runs it, and the result goes back as a tool result. There are two ways to set that up.

1. MCP in the client. MCP has to live in the client, not in the API request. A client such as Claude Code starts your MCP servers on your machine and offers their tools to the model as ordinary tools. Point Claude Code at DeepSeek as its guide shows, and the MCP servers you added still work, because Claude Code calls them, not DeepSeek. This is the shortest path if you already use an agent harness.

2. A function tool in your code. If you call the API from your own program, define a function with a JSON schema, run it when the model asks, and send the answer back. LLM tool calling with live APIs walks through that loop, and MCP vs API for agents helps you pick between the two.

Either way, the tools behind it can share one looot key instead of a search account, a SERP account and an enrichment account. The table reads today's cheapest price for each job from the live catalog.

The job pages say what each one returns: web search API, Google SERP API, URL to markdown and company enrichment.

Prompt for your agent

Give a DeepSeek agent live data

Give a DeepSeek agent live data
Use looot to give this agent live data tools while it runs on DeepSeek. 1. First set up https://looot.ai/skill.md. Add looot as an MCP server in this client, not in the API request. 2. Search the catalog for "google search results", "page to markdown" and "company enrichment". Show me the cheapest endpoint for each and its price before any call. 3. Get the Google results for "<your keyword>" and read the top 3 pages as markdown. 4. Enrich the company behind the first result from its domain. 5. Answer with a link for every fact, then report the total cost. Stop if it goes over 25 cents.

What this post does not cover

  • We did not send a live DeepSeek request. Everything about DeepSeek here comes from its docs as read on 2026-10-14, and DeepSeek can change them.
  • looot does not host DeepSeek models or sell DeepSeek tokens. You keep your own DeepSeek key and bill.
  • looot cannot make DeepSeek's API call an MCP server. The MCP connection lives in your client.
  • The chat app at chat.deepseek.com is a different product from the API. This post covers the API only.
  • A data tool returns what the provider finds. It does not check facts for you, so ask the model to cite each source.

Last checked 2026-10-14 against DeepSeek's docs, the vendor pricing pages linked above and the live catalog.

Questions

Yes, on the Anthropic-format endpoint. DeepSeek's Claude Code guide says the API natively supports Claude Code's web search and runs it on DeepSeek's side. The Responses API ignores the `web_search` tool, according to DeepSeek's docs read on 2026-10-14.

You are probably on the Responses API, which drops the `web_search` tool without an error. The model then answers from what it already knows. Switch to the Anthropic-format endpoint, or give the model a search function your code runs.

Yes, through your client. DeepSeek ignores `mcp_servers` and does not support MCP connector blocks, so the API never calls an MCP server itself. A client such as Claude Code runs the server and passes its tools to the model as ordinary tools, which DeepSeek supports.

Off-peak, $0.15 per 1M input tokens on a cache miss and $0.6 per 1M output tokens, with peak hours at twice that, on [DeepSeek pricing](https://api-docs.deepseek.com/quick_start/pricing), read 2026-10-14. Web search adds token costs for the summary calls.

Give the agent a tool that calls a SERP API and returns the ranked results. With looot as an MCP server in your client, the agent searches the catalog for Google results, reads the price, and runs the call with one key.

Use native search for a quick answer with one bill. Use your own tool when you need a specific source, Google's ranking, a full page or a company record, or when you want each result as data you can check.
ShareXLinkedInEmail
Setup

LLM tool calling: how an agent calls a real API

LLM tool calling lets a model ask your code to run a function and read the result. How the loop works, what breaks with real APIs, and how to keep it simple.

The looot team · · 8 min read

Comparisons

MCP vs API for agents: when each one fits

MCP and a plain API both let an agent reach outside data. What the agent handles in each, when to pick which, and a prompt to test both on your job.

Walid Boulanouar · · 5 min read

Try it with the agent you already use

Start your workspace, top up, and paste one prompt into your agent.