Web fetch vs web search

Web fetch vs web search, in one line: WebSearch finds pages and gives Claude titles and URLs; WebFetch reads one URL and, for most pages, gives Claude a model’s summary of it, not the page itself. We ran both in Claude Code 2.1.280 on one question (who created Rust, and what safe Rust guarantees) and kept the raw tool results.

We make FATSEARCH. The numbers below are our own runs, dated. Where another reader is the better pick, we say so.

From Claude Code’s tools reference: WebSearch runs your query against Anthropic’s search backend and returns result titles and URLs. It doesn’t open the result pages. One call can run up to eight searches internally, you can limit it to some domains or block others, and an interactive session is capped at 200 WebSearch calls (you can raise it). The backend isn’t configurable.

What came back (626 tokens):

Web search results for query: "who created the Rust programming language"

Links: [{"title":"Rust (programming language)","url":"https://simple.wikipedia.org/wiki/Rust_(programming_language)"},{"title":"Rust","url":"https://programmingandcoding.fandom.com/wiki/Rust"},{"title":"Rust (programming language)","url":"https://en.wikipedia.org/wiki/Rust_(programming_language)"},{"title":"Rust: The Programming Language of the Future? - GeeksforGeeks","url":"https://www.geeksforgeeks.org/rust/rust-the-programming-language-of-the-future/"},{"title":"Who is the inventor of the Rust programming language? ▷➡️","url":"https://tecnobits.com/en/who-is-the-inventor-of-the-rust-programming-language/"},{"title":"Rust - computer programming language","url":"https://baike.baidu.com/en/item/Rust/1528099"},{"title":"Who Created Rust? The Visionary Behind the Programming Language That's Changing the Game - gloomba","url":"https://www.gloomba.com/en/who-created-rust/"},{"title":"rust language","url":"https://github.com/topics/rust-language?o=desc&s=forks"},{"title":"0% found this document useful (0 votes)","url":"https://www.scribd.com/document/618362115/Techmatemag-com-Rust-Programming-Languages-Popular-for-Safety-Speed-and-Concurrency"}]

The Rust programming language was created by Graydon Hoare as a personal project while working at Mozilla Research in 2006. Mozilla officially sponsored the project in 2009. The first stable release came in May 2015.


REMINDER: You MUST include the sources above in your response to the user using markdown hyperlinks.

A list of links, a short summary paragraph, and an instruction to cite the sources.

WebFetch: one page, through a second model

WebFetch takes a URL and a prompt. It fetches the page, turns HTML into Markdown, then for most fetches asks a separate model call your prompt about it. Claude only sees that answer. The docs say so plainly: “lossy by design”. A result that says a page doesn’t mention something may only mean the prompt didn’t ask.

We fetched Wikipedia’s Rust article with the prompt “Who created Rust and what does safe Rust guarantee?”. WebFetch downloaded 1,055,311 bytes. Claude got this, 302 tokens:

# Rust's Creator and Safety Guarantees

**Creator:** "Software developer Graydon Hoare created Rust in 2006 while working at Mozilla," which officially sponsored the project in 2009.

**Safe Rust Guarantees:** According to the documentation, safe Rust provides three key protections:

1. **Memory Safety:** "Memory safety includes the absence of dereferences to null, dangling, and misaligned pointers, and the absence of buffer overflows and double free errors."

2. **Type Safety:** The language enforces static, strong typing to prevent type-related errors.

3. **Data Race Freedom:** Rust's ownership and borrowing system prevents concurrent access violations that could cause data races.

These guarantees are enforced at compile time through mechanisms like the borrow checker, which tracks object lifetimes and reference validity without requiring a garbage collector.

A good answer, and cheap on context. The work behind it isn’t free though: the whole run (one search, one fetch, on Claude Haiku) billed 43,027 input tokens, $0.07 at list price including the search fee. Most of those tokens went to model calls outside the conversation you see, such as the one that read the page.

Other limits from the docs: up to 100,000 characters per call, a default cache of 15 minutes, a permission prompt unless a rule allows the domain, no localhost. Sites with bot protection refuse it; that’s the Claude Code web fetch 403 guide.

Claude Code web fetch or web search: which one when

You have Use You get
A question, no URL WebSearch titles + URLs + a summary; then WebFetch on one result
A URL and a specific question WebFetch the answer to your prompt
A URL and you need the exact text (a quote, a table, a version) not WebFetch its summary can drop or reword it; the docs suggest curl
A page that answers 403 not WebFetch it has no other route to the page

Where FATSEARCH fits

FATSEARCH is one MCP tool that does both, and returns the page’s own text instead of a summary. Search, on our Oxylabs key ($0.001, 414 tokens):

= j7 search "who created the Rust programming language" · 10 results · 3 shown u7-u9 · oxylabs · 1.8s · spent $0.0010
u7  en.wikipedia.org/wiki/Rust_(programming…  Rust (programming language) - Wikipedia — "10 hours ago - It also supports object-oriented programming via structs, enums, traits, a…"
u8  rustfoundation.org/media/10-years-of-st…  10 Years of Stable Rust: An Infrastructure Story - The Rust… — "May 15, 2025 - To commemorate this milestone, we are excited to share the following guest…"
u9  reddit.com/r/rust/comments/7qels2/i_won…  r/rust on Reddit: I wonder, why Graydon Hoare, the author o… — "January 14, 2018 - Garry Newman made Rust. But first he made Garry's Mod. How did he star…"

Then filter the first result for the name. The page was already fetched for free in the background; these are Wikipedia’s own sentences (466 tokens):

= j7.u7 filter "Graydon Hoare" · 5 hit · match:exact+all auto · cache 6s
u7#2 Software developer Graydon Hoare created Rust in 2006 while working at Mozilla [l131] , which officially sponsored the project in 2009. The first stable release, Rust 1.0, was published in May 2015. T…
u7#4 In 2006, Rust began as a personal project by Mozilla [l131] employee Graydon Hoare. According to MIT Technology Review, he started the project due to his frustration with a broken elevator in his apar…

The trade-offs, plainly:

  • FATSEARCH search needs a provider key (Oxylabs or Bright Data). WebSearch needs no setup; on an API key each search is billed by Anthropic, and Amazon Bedrock doesn’t offer it.
  • WebFetch’s summary is sometimes what you want. If you need an answer and not the text, it’s one call.
  • On hard pages the gap is large. Across 38 hard pages (social, news, shops, travel), the answer was in the returned text for Claude’s own tools on 17/38, for FATSEARCH on 35/38. Agent answers right: 17/38 vs 26/38, at 8.3k vs 2.6k input tokens per question (method).

To add it: web search MCP for Claude Code. How it compares with Firecrawl, Tavily and others on one page: web scraping MCP.

Questions

What is Claude web Fetch?

WebFetch is Claude Code's built-in tool for reading one URL. It takes the URL plus a prompt, converts the page to Markdown, and for most fetches runs the prompt against it in a separate model call. Claude then gets that answer, not the page. Anthropic's docs call it lossy by design.

Can Claude Code fetch websites?

Yes, with WebFetch. In the default permission mode it asks before a fetch unless a rule already allows the domain. It reads up to 100,000 characters per call and caches each page for 15 minutes. Sites with bot protection can refuse it; see our Claude Code web fetch 403 guide.

What are some tools for web search?

Inside Claude Code: the built-in WebSearch tool, which runs on Anthropic's search backend and can't be switched to another provider. To search with a different provider, Claude Code's docs say to add an MCP server with a search tool. FATSEARCH is one: its search ran on our Oxylabs key for $0.001.

Try FATSEARCH on your own pages

Free and open source. Bring any one key, or none.

curl -fsSL https://fatsearch.com/install.sh | sh
npm i -g fatsearch
brew install fatsearch/tap/fatsearch
cargo install --locked fatsearch

or let your agent do it

Read and follow fatsearch.com/agent-setup/SKILL.md