Skip to main content
Query fan-out is the mechanism Bright Data LLM Scrapers use to control and report external web search activity during a run. Use the web_search input to decide whether a web search is allowed, and read the web_search_triggered output field to know whether a web search actually occurred.
web_search is a permission. web_search_triggered is the actual behavior. They are not the same — set web_search: true and the model may still decide not to search; set web_search: false and web_search_triggered will always return false.

Availability

LLM ScraperQuery fan-out support
ChatGPTAvailable
GrokAvailable
Google AI ModeComing soon
Other LLM ScrapersComing soon
Gemini does not currently expose a web_search control. The decision to search the web is made internally by Gemini and cannot be forced or disabled from the scraper input.
FieldTypeRequiredDefaultMeaning
web_searchbooleanNotrueControls whether web search is allowed during the run
Values
  • true or omitted: web search is allowed. The scraper enables the Web Search button in the LLM UI and the model may choose to use it.
  • false: web search is disabled. The scraper does not enable the Web Search button, and the model will not trigger a search.

Output: web_search_triggered

FieldTypeAlways returnedMeaning
web_searchbooleanNoEchoes the input value (defaults to true if omitted). Does not indicate whether a search actually happened.
web_search_triggeredbooleanYestrue only if the model actually triggered a web search during the run; false otherwise.
Use web_search_triggered when you need to confirm whether the model’s answer was grounded in live web results. The request below passes web_search: false to force an offline answer.
curl -X POST "https://api.brightdata.com/datasets/v3/scrape?dataset_id=gd_m7aof0k82r803d5bjm&notify=false&include_errors=true" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": [
      {
        "url": "https://chatgpt.com/",
        "prompt": "Top hotels in New York",
        "country": "",
        "web_search": false,
        "additional_prompt": ""
      }
    ]
  }'
What to expect
  • The response includes web_search: false.
  • The response includes web_search_triggered: false because searching was not allowed.

Interpreting results

When web_search_triggered is true

A response with web_search_triggered: true means the model actually ran an external web search during the run. If the response also includes prompt-derived structured fields (for example is_map: true with a populated map payload, or citations), those fields were produced from live search results.

Why map can be null even when search happened

Even if web_search_triggered: true, fields like map or citations can still be empty or null. The reason:
  • web_search_triggered only tells you whether web search ran.
  • Fields like map, shopping_visible, and citations reflect what the model chose to output, which depends on the prompt and the model’s final answer format.
Do not use output fields like map as proof that web search happened. Use web_search_triggered for that.

Summary

  • Set web_search on the input to control whether web search is allowed.
  • Read web_search_triggered on the output to know whether web search actually occurred.
  • Do not rely on prompt-derived output fields (map, citations, shopping_visible) as a signal that a web search ran. Those fields depend on the prompt and the model’s response format, not on search activity.

See also