Search
Overview
Section titled “Overview”The Search LOP provides a unified interface for performing web searches across multiple AI-optimized backends. It handles intelligent provider selection based on search type, cost optimization, and automatic fallback. All results are stored in a RAG-compatible table format, making them ready for downstream indexing or agent consumption.
Agent Tool Integration
Section titled “Agent Tool Integration”This operator exposes 1 tool that allow Agent and Gemini Live LOPs to perform web searches across multiple providers, with configurable search types including general web, deep research, academic, news, images, videos, maps, and website scraping.
Use the Tool Debugger operator to inspect exact tool definitions, schemas, and parameters.
When connected to an Agent LOP, the search tool allows the agent to query the web for any topic. The operator exposes a single unified tool — the agent never sees or selects individual providers. Provider routing is always controlled by your parameter settings.
On the Agent page, you can configure how agent tool calls behave:
- Agent Calls Add to Table — when enabled, agent-initiated searches also populate the output tables, not just return data to the agent.
- Agent Execution Mode — choose between “Wait for Completion” (agent blocks until results arrive) or “Background Processing” (agent gets an immediate acknowledgment while the search runs asynchronously).
- Agent Return Content — controls how much data goes back to the agent: “Status Only”, “Summary Only” (titles and URLs), “Truncated Content” (first N characters per result), or “Full Content”.
- Expose Search Type to LLM and Expose Max Results to LLM — let the agent choose the search type or result count, rather than using your current parameter values.
Requirements
Section titled “Requirements”- API Keys: At least one search provider API key is required. Obtain keys for any combination of Tavily, Firecrawl, Brave, Exa, or Serper. Select a provider on the Search page, then paste your key into the API Key field. Pulse Get API Keys to open the selected provider’s sign-up page in your browser.
Search Providers
Section titled “Search Providers”| Provider | Best For | Content Depth | Free Tier |
|---|---|---|---|
| Tavily | Web, research, academic, news | Full content (500-5000+ chars) | 1,000 searches |
| Firecrawl | Web search, website scraping | Full markdown extraction | 1,000 searches |
| Brave | Web, news | Snippets (100-300 chars) | 2,000 searches/month |
| Exa | Web, research, academic (semantic/neural) | Full content with highlights | $10 in credits |
| Serper | Web, news, images, videos, maps, academic | Snippets and basic info | 2,500 searches |
When Search Provider is set to “Auto (Cheapest)”, the operator picks the cheapest available provider that supports your selected search type.
Search Types
Section titled “Search Types”The Search Type menu controls what kind of results you get:
- General web search — standard web results from any provider
- Deep research with citations — in-depth results via Tavily or Exa
- Academic and scholarly content — scholarly papers via Tavily, Exa, or Serper
- Recent news and current events — news-focused results via Tavily, Brave, or Serper
- Image search results — image results via Serper
- Video content search — video results via Serper
- Local business and location search — map/business data via Serper
- Website content extraction — full page scraping via Firecrawl
Not all providers support all search types. The Expected Results read-only field on the Search page shows you what to expect for your current provider and search type combination.
Input/Output
Section titled “Input/Output”Inputs
Section titled “Inputs”None. Queries are configured via parameters on the Search page.
Outputs
Section titled “Outputs”The single output carries one of the following internal DAT tables:
- results_table — cumulative log of all search results in RAG-indexer compatible format (doc_id, filename, content, metadata, source_path, timestamp).
- last_result_table — only the most recent search results, same RAG-compatible columns. Toggle out1 Last Result Only on the Search page to switch the output between cumulative and last-result-only.
- query_table — logs each query attempt with its ID, status, provider, and timestamp.
The RAG-compatible format means you can wire the output directly into a RAG Index LOP for embedding and retrieval.
Usage Examples
Section titled “Usage Examples”Basic Web Search
Section titled “Basic Web Search”- On the Search page, type your query into Search Query.
- Choose a Search Type (defaults to “General web search”).
- Select a Search Provider or leave it on “Auto (Cheapest)”.
- Adjust Max Results if needed (default is 5, range 1-50).
- Pulse Search.
- Results appear in the output table. Check Estimated Cost and Last Search Content for cost and content stats.
Feeding Results into a RAG Index
Section titled “Feeding Results into a RAG Index”- Place a Search LOP and a RAG Index LOP in your network.
- Enable out1 Last Result Only on the Search LOP so only the latest results flow downstream.
- Wire the Search LOP output into the RAG Index LOP input.
- Each time you pulse Search, the results are automatically available for embedding and retrieval.
Agent-Driven Research
Section titled “Agent-Driven Research”- Create an Agent LOP and a Search LOP.
- Wire the Search LOP into the Agent’s tool input.
- On the Search LOP’s Agent page, set Agent Return Content to “Full Content” so the agent receives complete search results.
- Enable Expose Search Type to LLM if you want the agent to pick the most appropriate search type for each query.
- Ask the agent a research question — it will call the search tool automatically and incorporate the results into its response.
Background Search for Fast Agent Responses
Section titled “Background Search for Fast Agent Responses”- On the Agent page, set Agent Execution Mode to “Background Processing”.
- Enable Agent Calls Add to Table so results still populate the output table.
- When the agent calls the search tool, it receives an immediate acknowledgment and continues its response without waiting. Results arrive in the output table asynchronously.
Advanced Settings
Section titled “Advanced Settings”On the Advanced page:
- Include Raw Content — includes full page content in results. Increases cost but provides richer data for RAG indexing.
- Include AI Answer — some providers (Tavily) can generate an AI summary alongside results.
- Enable Provider Fallback — if your selected provider fails, automatically tries another available provider.
- Exa Search Type — when using Exa, choose between “Auto (Best)”, “Neural (Semantic)”, or “Keyword (Exact)” search algorithms.
- Brave Locale — set the locale for Brave Search results (e.g., “us-en”, “de-de”).
Troubleshooting
Section titled “Troubleshooting”- “No search providers available” — No API keys are configured. Select a provider on the Search page, paste your key into API Key, and it will be stored automatically.
- “Not supported by this provider” — The current search type is not available with your selected provider. Switch to “Auto” or choose a provider that supports your desired search type (check the provider table above).
- Snippets only / low content — Providers like Brave and Serper return short snippets by default. For full content, use Tavily, Firecrawl, or Exa, and enable Include Raw Content on the Advanced page.
- Search already in progress — The operator prevents concurrent searches. Wait for the current search to complete before starting another.
Parameters
Section titled “Parameters”Search
Section titled “Search”op('search').par.Status Str Current operation status
- Default:
"" (Empty String)
op('search').par.Active Toggle - Default:
False
op('search').par.Search Pulse Execute search with current settings
- Default:
False
op('search').par.Query Str Enter your search query
- Default:
"" (Empty String)
op('search').par.Maxresults Int Maximum number of results to return
- Default:
0- Range:
- 1 to 50
- Slider Range:
- 1 to 50
op('search').par.Costestimate Str Estimated cost for current search configuration
- Default:
"" (Empty String)
op('search').par.Expectedresults Str What type of results to expect from this search type
- Default:
"" (Empty String)
op('search').par.Lastsearchcontent Str Character count and content info from the last search
- Default:
"" (Empty String)
op('search').par.Lastresult Toggle - Default:
False
op('search').par.Apikey Str API key for selected provider
- Default:
"" (Empty String)
op('search').par.Getapikeys Pulse Open provider websites to obtain API keys
- Default:
False
op('search').par.Clearresults Pulse Clear all search results and reset tables
- Default:
False
op('search').par.Agenttotable Toggle When enabled, agent tool calls will add search results to the output table in addition to returning them to the agent
- Default:
False
op('search').par.Agenttruncatedlength Int The number of characters to return for truncated content
- Default:
0- Range:
- 0 to 1
- Slider Range:
- 100 to 100000
op('search').par.Exposesearchtype Toggle Allow LLM to choose search type, otherwise uses current parameter
- Default:
False
op('search').par.Exposemaxresults Toggle Allow LLM to specify number of results
- Default:
False
Advanced
Section titled “Advanced”op('search').par.Toolname Str - Default:
"" (Empty String)
op('search').par.Includerawcontent Toggle Include full page content in results (increases cost)
- Default:
False
op('search').par.Includeanswer Toggle Generate AI summary answer (may increase cost)
- Default:
False
op('search').par.Enablefallback Toggle Automatically try other providers if primary fails
- Default:
False
op('search').par.Bravelocale Str Brave Search locale (e.g., us-en, uk-en, de-de)
- Default:
"" (Empty String)
Changelog
Section titled “Changelog”v2.1.02025-09-01
clean menu and more transparency for what modes work with what modes / providers ,et c
v2.0.02025-08-17
Major Rewrite: Unified multi-provider search architecture replacing Serper-only implementation
# KEPT THE OLD SERPER TOOL FOR LEGACY SUPPORT - called serper_search
New Features
- Multi-Provider Support: Added Tavily, Firecrawl, Brave Search, Exa AI alongside legacy Serper support
- Intelligent Provider Routing: Auto-selects optimal provider based on search type and cost
- Artist-Focused Design: Real-time cost estimates, budget protection, and transparent pricing
- Enhanced Search Types: Expanded from basic web/images/videos to research, academic, news, maps, and content extraction
- Fallback System: Automatic failover to alternative providers if primary fails
- Clean Results Format: Standardized result extraction across all providers with structured output tables
- Advanced Options: Configurable raw content inclusion, AI answer generation, and provider-specific settings
- Tool Exposure Controls: Granular control over which parameters LLMs can modify vs. UI-controlled settings
- Free Tier Maximization: Intelligent routing to maximize free tier usage across providers (Brave: 2000/month, Tavily: 1000/month)
Technical Improvements
- Migrated from
DotChatUtiltoDotLOPUtilsbase class for better async handling - Added
last_result_tablefor clean, structured result access - Enhanced error handling with detailed provider-specific logging
- Improved cost tracking and estimation system- ...
v1.1.02025-06-30
added GetTool method to the operator so it can be used by the LOPs controllers
v1.0.12025-05-08
fixed the Selectresult parameter to auto increase to last search result.
v1.0.02024-11-10
Initial release