How Claude Picks Its Web Sources (and How to Be One of Them)
How Claude's web search tool decides to search, chooses sources, and cites them — and what that means for Claude AI SEO. A practical guide to earning Claude citations and measuring them.
Claude picks its web sources by deciding a question needs fresh information, issuing a targeted search query, reading the returned results, and citing the specific pages it used to build its answer. When Claude uses its web search tool, Anthropic’s documentation describes a clear sequence: Claude determines when to search, the API runs the search and returns results, and “at the end of its turn, Claude provides a final response with cited sources.” Citations are always on. To be one of those sources, your page has to be retrievable for the query Claude writes, relevant enough to be read, and clear enough to be quoted.
Claude is a lower-competition surface than ChatGPT or Google today, which makes it a quiet opportunity — and its citation behavior is unusually well documented. Earning those citations is one channel of the broader discipline of Generative Engine Optimization. Here’s exactly how the mechanism works and how to earn a place in it.
First, a distinction: ClaudeBot is not Claude’s web search
This trips people up, so clear it first. Anthropic operates a training crawler called ClaudeBot that collects public web content for model training — that’s the bot you see in your server logs, and it’s covered in ClaudeBot explained. Claude’s web search tool is a different thing entirely: it runs live, at answer time, when someone asks Claude a question in an app or through the API. It doesn’t crawl the web on a schedule; it fires a search for the specific question in front of it.
That means being cited by Claude’s web search isn’t primarily about ClaudeBot crawling you. It’s about being retrievable and rankable in the web search the tool queries at the moment someone asks. Training-data presence (via ClaudeBot) shapes what Claude knows in general; web search presence shapes what it cites right now. They’re two separate layers, exactly as they are for ChatGPT.
When Claude decides to search
Claude doesn’t search on every request. Per Anthropic’s docs, it searches when “the request depends on information that is current, changing, or outside its training data” — recent events, current prices or statistics, or “information about specific organizations, people, or products that might have changed.” It answers directly without searching for stable knowledge: established facts, math, coding concepts, creative writing, or analysis of content already in the conversation.
The practical implication for brands: the prompts that trigger a search are exactly the high-intent ones you care about — “what’s the best X in 2026”, “is Acme any good”, “alternatives to Acme”. Those are current, changing, product-specific questions, so Claude reaches for the web — and that’s your opening to be cited.
flowchart TD
A["User prompt"] --> B{"Current, changing,<br/>or outside training?"}
B -->|"No — stable knowledge"| C["Answer from<br/>model knowledge"]
B -->|"Yes"| D["Write targeted<br/>search query"]
D --> E["API returns results"]
E --> F["Read + select<br/>relevant sources"]
F --> G["Answer with<br/>inline citations"] How Claude selects and cites sources
Once Claude searches, three documented behaviors govern what you see:
It writes its own query. Claude “generates a targeted search query” from the prompt — you’re not competing for the user’s literal words, but for whatever query Claude formulates to answer them. Broad topical relevance beats exact-phrase matching.
It reads results and can filter them. In newer versions of the tool (web_search_20260209 and later), Claude uses dynamic filtering — it “writes and runs code that filters the search results before they reach the context window,” keeping only relevant content. So a result that’s retrieved still has to survive Claude’s own relevance judgment to influence the answer.
Citations are always enabled. Anthropic’s docs state plainly: “Citations are always enabled for web search.” Each citation carries the source url, title, and up to 150 characters of the exact cited_text Claude drew from. There’s no way for Claude to use a web result silently — if it grounds a claim in your page, it links you. That’s good for measurement: presence in a Claude answer is unambiguous.
Two more documented controls shape which sources are even eligible. The tool supports allowed_domains / blocked_domains filtering and an approximate user_location for localized results — so in some applications the set of candidate sources is deliberately narrowed by whoever built the integration.
Anthropic’s public documentation does not specify the exact ranking algorithm behind which results come back or in what order — that’s not disclosed. So be skeptical of anyone claiming precise Claude ranking factors. What’s verifiable is the shape of the mechanism above, and it’s enough to act on.
How to become a Claude source
Because the underlying mechanic is retrieval-then-read-then-cite, the tactics rhyme with the other engines — optimize once, measure per engine.
- Be crawlable and server-rendered. Whatever search backs the tool has to have your page in its index, with real HTML content — not an empty JavaScript shell. Confirm your pages are reachable rather than assuming.
- Answer the question directly, up front. Claude quotes
cited_text— give it a clean, self-contained sentence to lift. Definition-style openings and question-shaped headings help. - Be specific and current. Claude searches precisely when information is changing, so dated, freshly updated pages with concrete facts and statistics are exactly what it’s looking for. The published GEO research (Aggarwal et al., KDD 2024) found citations, quotes, and statistics lifted generative-answer visibility by up to 40% — Claude is no exception.
- Earn third-party coverage. Claude’s query might surface a review site or comparison article about you rather than your own page. Presence on the sources it’s likely to retrieve widens your odds. (See how Perplexity chooses its citations for the same dynamic on another engine, and which domains do AI engines cite.)
- Keep your brand entity consistent so Claude’s answer names you the way you’d want — and so you can track every alias it might use.
Measuring your presence in Claude
Kitbase queries Claude’s official API directly every day to measure AI visibility — the same Messages API web_search tool described above — so you’re measuring the real mechanism, not scraping a chat UI. Because Claude’s answers, like every AI engine’s, are non-deterministic, a single check is a sample of one. The metric that matters is your presence rate: the share of Claude answers that mention your brand or cite your domain, tracked over time.
Kitbase AI Visibility runs your prompts against Claude (via ANTHROPIC_API_KEY, with cost computed from real token and search usage in the response) alongside ChatGPT, Perplexity, and Gemini, and builds:
- your Claude presence-rate trend, split into mentioned and cited rates, so you can tell whether Claude talks about you, links you, or both;
- a per-engine breakdown — Claude often behaves differently from ChatGPT or Perplexity on the same prompt, and seeing the gap tells you where to focus;
- share of voice against competitors and a cited-domain map of the sources Claude pulls from for your category (more in AI share of voice);
- a run drill-down with the full answer text and exact citations for any single query — since Claude always cites, you can read precisely why you were or weren’t included.
FAQ
Does Claude cite its sources? Yes — always, for web search. Anthropic’s documentation states “citations are always enabled for web search,” and each one includes the source URL, title, and the exact text Claude quoted. If Claude uses a web result, it links it.
Is being cited by Claude about ClaudeBot crawling my site? Not directly. ClaudeBot is Anthropic’s training crawler. Claude’s web search tool runs live at answer time and cites whatever the search returns for the query it writes. Web-search citations depend on being retrievable and rankable in that search, which is a separate layer from training-data presence.
When does Claude search the web instead of answering from memory? When the request needs information that’s current, changing, or outside its training data — recent events, current prices or stats, or details about specific organizations or products that may have changed. It answers directly for stable knowledge like established facts, math, or coding concepts.
Can I control which sources Claude sees?
In applications built on the API, yes — the web search tool supports allowed_domains / blocked_domains filtering and an approximate user_location. In the consumer Claude app you can’t set these, but the same retrieval-then-cite mechanism applies.
How do I track whether Claude recommends my brand? Sample your target prompts repeatedly rather than checking once — answers are non-deterministic. Kitbase AI Visibility queries Claude’s official API daily and charts your mention and citation rates, share of voice, and cited domains over time.
Want to see whether Claude recommends you — and how you compare across every AI engine? Start your free trial — 7 days, no credit card required — and run your first AI visibility analysis in minutes.