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/searchwithcount: 10, and/v1/tools/fetch. Claude: the Messages API withclaude-haiku-5-5and theweb_search_20250305/web_fetch_20250910tools, 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
#1fragments orutm_parameters, and several queries returned the same page in other languages (for examplelearn.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/searchper query withcount: 10; we kept the URLs in the order returned. - Claude: one Messages API request per query with
claude-haiku-5-5, theweb_search_20250305tool andmax_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 theweb_search_tool_resultblock (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.mdon 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 API | Claude web search (Haiku 5.5) | |
|---|---|---|
| Official source ranked first | 18/20 | 4/20 |
| Official source in top 5 | 19/20 | 10/20 |
| Official source in top 10 | 19/20 | 14/20 |
| Average time | 0.47 s | 2.43 s |
| Cost per search | USD 0.00075 | about 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
#1or carriedutm_parameters, such asubuntu.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
| Page | DeepSeek (after removing backslashes) | Claude web fetch |
|---|---|---|
| DeepSeek pricing | found, 4,055 chars, 0.27 s | found, 8,023 chars, 1.61 s |
| Python 3.14 "What's new" | found, 130,748 chars, 4.21 s | found, 283,742 chars, 2.48 s |
| Claude Code workflows docs | found, 35,257 chars, 3.40 s | found, 41,601 chars, 1.83 s |
| Hugging Face model card | found, 3,442 chars, 0.17 s | found, 14,294 chars, 1.88 s |
| GitHub CHANGELOG.md | found, 1,072,725 chars, 0.70 s | not 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_20260209tool 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.
Sources
- DeepSeek API docs – Search & Fetch: endpoints, request fields, rerank_score, query operators (read 19 Oct 2026)
Vendor document
- DeepSeek API docs – Models & Pricing: Search and Fetch at USD 0.75 per 1,000 successful requests; free in Claude Code/Codex until 1 Nov 2026
Vendor document
- Claude API pricing – web search USD 10 per 1,000 searches plus tokens; web fetch no extra charge; Haiku 5.5 token prices
Vendor page
- Claude API docs – Web search tool: tool versions, dynamic filtering, usage and pricing
Vendor document
- Hacker News – launch thread for DeepSeek search and fetch (556 points, 261 comments on 19 Oct 2026; community discussion)
Community


