Skip to content

DeepSeek's Search API vs Claude web search: the official source first in 18 of 20 queries, at 1/15 the price

We ran 20 real fact-check queries through DeepSeek's new Search API and Claude's web search tool. DeepSeek ranked the official page first 18 times against 4, ran in 0.47 s against 2.43 s and cost USD 0.00075 per search against 0.0114. Its URLs and fetched Markdown need cleaning.

By the RanThis team, written with AI assistance8 min read

Why trust this: every result, number and screenshot comes from a real run on our own accounts, not from the AI. How we test

DeepSeek now sells web search and page fetch as plain APIs at USD 0.75 per 1,000 successful requests. We ran the same 20 real queries through it and through Claude's web search tool. DeepSeek put the official source in first place for 18 of 20 queries; Claude did for 4. It was also about 5 times faster and 15 times cheaper per search. Its output needs cleaning, though, and its fetch API escapes nearly every punctuation mark.

Tested on 19 October 2026 from a laptop in Vietnam. DeepSeek: POST https://api.deepseek.com/v1/tools/search with count: 10, and /v1/tools/fetch. Claude: the Messages API with claude-haiku-5-5 and the web_search_20250305 / web_fetch_20250910 tools, one use per request. Each query ran once on each side.

At a glance

Key results

  • Official source first: DeepSeek ranked the official page first in 18 of 20 queries and had it in the top 5 in 19. Claude had it first in 4 and in the top 5 in 10 (14 in the top 10).
  • About 5 times faster: 0.47 seconds on average for a DeepSeek search, against 2.43 seconds for a Claude request. The Claude figure includes the model's turn, because Claude's search only runs inside a model call.
  • About 15 times cheaper per search: USD 0.00075 for DeepSeek against USD 0.0114 for Claude, which is USD 0.01 for the search plus about 13,900 input tokens of results read by Haiku. All 20 searches cost USD 0.015 on DeepSeek and USD 0.228 on Claude.
  • Messy URLs: 85 of DeepSeek's 200 result URLs carried #1 fragments or utm_ parameters, and several queries returned the same page in other languages (for example learn.microsoft.com/ja-jp/... and /pt-br/...).
  • Fetch worked on both, with caveats: after removing backslashes, DeepSeek's fetch returned the expected text on 5 of 5 pages and Claude's on 4 of 5. DeepSeek's Markdown escapes punctuation (4 to 10% of characters were backslashes), and it returned 1.07 million characters for one GitHub page.

What DeepSeek launched

DeepSeek's Search & Fetch guide describes two raw JSON endpoints. Search "finds web pages for a query and returns structured results" from DeepSeek's in-house search engine. Fetch "retrieves a single web page and returns its content as Markdown". Both use your normal DeepSeek API key.

Each search result has a title, URL, a short snippet, a longer summary, an optional full page content, a date, and a rerank_score from 0 to 3 that "combines signals such as relevance, authority, and freshness". The query supports operators such as site:, -site:, lang:, after: and before:.

The pricing page lists both at USD 0.75 per 1,000 successful requests. Server-side search and fetch calls made through Claude Code, Codex or DeepSeek's own harness are free until 00:00 Beijing time on 1 November 2026. (We measured DeepSeek V4.1 Flash running inside Claude Code in a separate test.)

For comparison, Anthropic's pricing page lists Claude's web search at USD 10 per 1,000 searches plus token costs, and web fetch at no extra charge beyond tokens.

The launch post had 556 points and 261 comments on Hacker News by the morning of 19 October (Vietnam time).

Hands-on test

Setup

  • Queries: 20 searches people actually run when checking facts, each paired in advance with the domains that count as the official source. Examples: "Python 3.14 release date" (python.org), "Ubuntu 24.04 LTS end of standard support" (ubuntu.com, canonical.com), "Office 2021 end of support date" (microsoft.com), "DeepSeek V4.1 Flash API pricing" (deepseek.com), "Rust 1.90 release announcement" (rust-lang.org).
  • DeepSeek: one POST /v1/tools/search per query with count: 10; we kept the URLs in the order returned.
  • Claude: one Messages API request per query with claude-haiku-5-5, the web_search_20250305 tool and max_uses: 1, asking it to run exactly one search with the exact query. It did, unchanged, in all 20 cases; we read the URLs from the web_search_tool_result block (9 or 10 per query).
  • Score: code checked whether a URL on an official domain appeared first, in the top 5 and in the top 10.
  • Fetch: 5 pages, each with a string that must appear in the returned text: DeepSeek's pricing page ("0.75"), Python's "What's new in 3.14" ("3.14"), Claude Code's workflows docs ("workflow"), the DeepSeek-V4.1-Flash-1017 model card on Hugging Face ("Terminal-Bench") and Claude Code's CHANGELOG.md on GitHub ("2.1.303").
  • Cost: DeepSeek at its list price; Claude at USD 0.01 per search plus Haiku 5.5's USD 0.10 / 0.50 per million input / output tokens, from each request's usage.

Search: the official page, or a page about it

The difference was not subtle. For "DeepSeek V4.1 Flash API pricing", DeepSeek's first result was api-docs.deepseek.com/quick_start/pricing; Claude's ten results were OpenRouter, Requesty and price-tracking sites, with no deepseek.com page. For "Windows 11 24H2 Home Pro end of servicing", DeepSeek led with Microsoft's release-health pages; Claude returned Neowin, TechRepublic and BleepingComputer. "Claude Haiku 5.5 price per million tokens" went the same way: Anthropic's own model page first on DeepSeek, blog posts about pricing on Claude.

DeepSeek Search APIClaude web search (Haiku 5.5)
Official source ranked first18/204/20
Official source in top 519/2010/20
Official source in top 1019/2014/20
Average time0.47 s2.43 s
Cost per searchUSD 0.00075about USD 0.0114

The one DeepSeek miss was "Hacker News DeepSeek search and fetch": it returned npm packages and news digests, while Claude found news.ycombinator.com first.

Claude's results were not wrong, just secondary: news coverage and aggregators that usually repeat the official facts. If your agent then reads those pages, you depend on someone else copying the date or price correctly.

The catches in DeepSeek's output

  • Tracking junk in URLs. 85 of 200 result URLs ended in #1 or carried utm_ parameters, such as ubuntu.com/about/release-cycle#1. Strip them before you deduplicate or cite.
  • Same page, other languages. "Office 2021 end of support date" returned Microsoft's lifecycle page in Japanese and Brazilian Portuguese as the top two results. Across all queries, 7 of the top-10 URLs were duplicates once language folders and parameters were removed. The lang: operator should help; we left it off to compare raw behaviour.
  • Escaped Markdown from fetch. Fetch returns text like Python 3\.14 was released. Backslashes made up 4 to 10% of the characters on our five pages, so a plain string search for "3.14" failed until we removed them, and they cost tokens if you pass the text straight to a model.
  • Huge pages. Fetching a GitHub file page returned 1.07 million characters, the whole rendered page including the full changelog. Claude's fetch returned about 11,000 characters of the same page and missed the version we looked for.

Fetch results

PageDeepSeek (after removing backslashes)Claude web fetch
DeepSeek pricingfound, 4,055 chars, 0.27 sfound, 8,023 chars, 1.61 s
Python 3.14 "What's new"found, 130,748 chars, 4.21 sfound, 283,742 chars, 2.48 s
Claude Code workflows docsfound, 35,257 chars, 3.40 sfound, 41,601 chars, 1.83 s
Hugging Face model cardfound, 3,442 chars, 0.17 sfound, 14,294 chars, 1.88 s
GitHub CHANGELOG.mdfound, 1,072,725 chars, 0.70 snot found, 11,323 chars, 1.65 s

The five fetches cost USD 0.0037 on DeepSeek. On Claude they cost USD 0.016 in Haiku tokens, because the fetched text is read by the model in the same request; with DeepSeek you pay that reading cost separately when you pass the content to a model.

What worked

What worked

  • Authority ranking. For fact checks, release dates and prices, DeepSeek found the primary source first almost every time. That is the hard part of agent search.
  • Speed and price. Under half a second and USD 0.75 per 1,000 searches makes it cheap enough to search on every step of an agent.
  • A plain API. No model in the loop: you get JSON and decide what to read.

Where it fell short

What didn't work

  • Output hygiene. Junk URL parameters, translated duplicates and backslash-escaped Markdown all need a cleaning step.
  • Context control on fetch. A single GitHub page came back at over a million characters; cap or trim before sending it to a model.
  • One general-web miss. It didn't surface the Hacker News thread itself.
  • What we didn't test. Claude's newer web_search_20260209 tool with dynamic filtering runs only on Opus and Sonnet models, not Haiku; it may rank differently. We also measured whether the official source appeared, not whether a model then answered correctly. Each query ran once.

Our verdict

If you build agents that need primary sources, such as prices, release dates, end-of-support dates or documentation, DeepSeek's Search API is the better first step in our test: the official page came first in 18 of 20 queries, about five times faster and fifteen times cheaper per search than Claude's web search on Haiku 5.5. Add a cleaning step for URLs and Markdown and cap fetched page size. Claude's web search is easier if you want the model to search and answer in one call, but on these queries it leaned on secondary coverage, so tell it to prefer official domains, use allowed_domains, or try the dynamic-filtering version on Sonnet or Opus.

Frequently asked questions

How much does DeepSeek's Search API cost?

USD 0.75 per 1,000 successful requests, the same for Fetch, according to DeepSeek's pricing page on 19 October 2026. Calls that DeepSeek's servers make for you inside Claude Code, Codex or DeepSeek's harness are free until 1 November 2026.

Is DeepSeek's Search API better than Claude's web search?

For finding official sources in our 20-query test, yes: it ranked the official page first 18 times against 4 for Claude's web search on Haiku 5.5, and it was faster and cheaper. Claude returned mostly news and aggregator pages. We didn't test Claude's dynamic-filtering search on Opus or Sonnet.

What's wrong with DeepSeek's Fetch API output?

Nothing fatal, but its Markdown escapes punctuation with backslashes, so "3.14" comes back as 3\.14, and large pages can be very long (over a million characters for one GitHub page). Unescape and trim the text before searching it or sending it to a model.

How do I call the DeepSeek Search API?

Send POST https://api.deepseek.com/v1/tools/search with Authorization: Bearer <your DeepSeek API key> and a JSON body such as {"query": "Python 3.14 release date", "count": 10}. The response has a results array with title, URL, snippet, summary, date and rerank_score.