Independent. Human-Curated. Established 2007.
Query Fan-Out: How to See the Exact Queries AI Runs Behind Your Keyword (Free Methods Included)
DirJournal Founder · 19+ years building directory and discovery products. Editorial-team verified.

Key Topics in This Guide
- 1How Query Fan-Out Works — covered in detail below
- 2How to Extract Real Fan-Out Queries for Free — covered in detail below
- 3Method 1: Pull Fan-Out Queries From the Gemini API — covered in detail below
- 4Method 2: Watch ChatGPT's Searches — covered in detail below
- 5Method 3: Read AI Mode's Disclosure — covered in detail below
- 6Method 4: Ask the Model (with a Caveat) — covered in detail below
Type one question into Google's AI Mode and Google may run a dozen searches on your behalf. You optimized for the question; the citations went to whoever answered the twelve searches.
That mechanism is called query fan-out, and it explains most cases of "we rank #1 but ChatGPT never cites us." This guide covers how it works, and then goes where the existing coverage doesn't: how to extract the actual fan-out queries yourself, for free, and what to do with them.
Key Concept: What Is Query Fan-Out?
Query fan-out is a retrieval technique where an AI search system breaks a single prompt into multiple sub-queries, runs them in parallel, and merges the retrieved results into one synthesized answer. Your page can earn a citation for a sub-query the user never typed and you never targeted. Google popularized the term at I/O 2025 when it launched AI Mode. In Google's launch post, VP of Product for
How Query Fan-Out Works
Fan-out follows a four-step pipeline, and each step is a distinct place where your content wins or loses.
The 4-Step Problem Solving Process
Step 1: Decomposition. The model reads the prompt, judges whether it's complex enough to need multiple angles, and generates sub-queries covering the facets it predicts the user cares about. A prompt about "best CRM for a small agency" spawns sub-queries about pricing, comparisons, integrations, and reviews.
Step 2: Parallel retrieval. The system runs every sub-query at once against its index or the live web. This is the structural break from classic search: one input, many simultaneous retrievals.
Step 3: Evaluation and extraction. For each sub-query, the model scans top results and extracts the specific passage that answers it. It doesn't read your page the way a person does; it lifts chunks.
Step 4: Synthesis. The extracted chunks get woven into one response with citations. A single answer routinely cites one site for pricing, another for reviews, and a third for specs, sources that would have competed for one ranking slot in classic search.
Losing at step 1 means the model never generated a sub-query your content answers. Losing at step 3 means it did, retrieved your page, and couldn't cleanly extract the answer. Those are different problems with different fixes, and the rest of this guide treats them separately.
How to Extract Real Fan-Out Queries for Free
Every article on this topic tells you fan-out queries exist. Almost none show you how to pull them. Four methods, ranked by usefulness.
| Method | Platform covered | Cost | Reliability |
|---|---|---|---|
| Gemini API grounding metadata | Google's retrieval stack | Fractions of a cent per prompt | High: real system output |
| Keyword Surfer extension or ChatGPT activity panel | ChatGPT | Free | High: observed searches |
| AI Mode's on-screen search disclosure | Google AI Mode | Free | Medium: partial visibility |
| Asking the model directly | Any | Free | Low: plausible reconstruction, not logs |
Method 1: Pull Fan-Out Queries From the Gemini API
The Gemini API returns the actual search queries it generated inside the grounding metadata of any grounded response. This is the closest thing to reading Google's homework, and it costs fractions of a cent per prompt.
from google import genai
from google.genai import types
client = genai.Client(api_key="YOUR_KEY")
response = client.models.generate_content(
model="gemini-2.5-flash", # use the current grounding-capable model
contents="best crm for a small marketing agency",
config=types.GenerateContentConfig(
tools=[types.Tool(google_search=types.GoogleSearch())]
),
)
meta = response.candidates[0].grounding_metadata
print(meta.web_search_queries) # the fan-out queries
for chunk in meta.grounding_chunks:
print(chunk.web.uri, chunk.web.title) # who got cited
Two outputs matter here. web_search_queries is the fan-out list, and grounding_chunks shows which URLs won each retrieval, which turns this into a citation-competitor report as well.
Run the same prompt five times and diff the lists, then run your ten most valuable prompts through a loop and export to CSV. That's a fan-out research workflow for the price of a coffee, no enterprise platform involved.
Method 2: Watch ChatGPT's Searches
ChatGPT exposes its search activity in the interface: expand the search step on any response and the queries are listed. The free Keyword Surfer Chrome extension also surfaces them alongside the chat.
This method costs nothing and reflects real behavior, but it's manual. Use it to spot-check your highest-value prompts rather than for bulk research.
Method 3: Read AI Mode's Disclosure
Google AI Mode sometimes announces its work, showing that it's kicking off a specific number of searches for a complex query. You won't always get the full query list, but the count alone tells you how aggressively a topic fans out.
Complex comparative prompts triggering many searches signal high fan-out surface area, meaning more sub-queries you can win. A prompt that triggers no visible search activity is being answered from model memory, and that's a different visibility problem entirely.
Method 4: Ask the Model (with a Caveat)
Prompting "what searches would you run to answer X" produces a plausible facet list, and it's useful for brainstorming. It is not a log of real behavior, so treat the output as hypothesis, never as data.
What Fan-Out Queries Actually Look Like
Fan-out queries cluster into predictable facet types regardless of topic. Pull the queries for any commercial prompt and you'll see the same skeleton.
| Facet type | Example for "best CRM for small agency" |
|---|---|
| List or roundup | "top CRM software for small business 2026" |
| Head-to-head comparison | "HubSpot vs Pipedrive for agencies" |
| Pricing | "CRM pricing comparison small business" |
| Reviews or experience | "Pipedrive user reviews agencies" |
| Constraint-specific | "CRM with project management for agencies" |
| Recency | "best new CRM tools 2026" |
The individual query strings change between runs. The facet skeleton barely moves, and that distinction drives the entire optimization strategy below.
Frequently Asked Questions
What is query fan-out in simple terms?
How many queries does AI Mode run per search?
Can I see the exact fan-out queries AI generates?
Should I create a page for every fan-out query?
Found this useful?
Share this article
Recommended for You

ChatGPT vs. Perplexity vs. Gemini: Which LLMs Are Driving Real Conversions?
The largest academic study to date contradicts the agency narrative about AI-driven conversions. Her

Free AI Visibility Scanners: 12 Tools That Check Your Brand on ChatGPT, Gemini & Perplexity
An honest comparison of 12 AI visibility scanners — what is actually free, what is paywalled, and wh

The Role of Human-Curated Directories in LLM Training Data
Why answer engines like ChatGPT, Perplexity, and Google AI Overviews disproportionately cite human-r
Related Resources
Looking for verified service providers? Browse our directory categories below — all human-audited and trusted by decision-makers since 2007.