Solution

Add Unified Search to Multi-Agent Systems with Scavio

Multi-agent systems (AutoGen, CrewAI, LangGraph) need a shared search tool that all agents can use without conflicting API keys, inconsistent result formats, or duplicated search l

The Problem

Multi-agent systems (AutoGen, CrewAI, LangGraph) need a shared search tool that all agents can use without conflicting API keys, inconsistent result formats, or duplicated search logic across agent definitions.

The Scavio Solution

Create a single Scavio search tool function that any agent in the system can invoke. The tool handles auth, platform selection, and result normalization, giving every agent consistent access to live web data.

Before

Each agent in the multi-agent system has its own search implementation with different APIs, result formats, and error handling. Debugging search failures requires checking multiple agent codebases.

After

One shared search tool serves all agents with consistent auth, error handling, and result format. Adding search capability to a new agent requires one line of tool registration.

Who It Is For

Developers building multi-agent orchestration with DeerFlow, LangGraph, or CrewAI.

Key Benefits

  • Single search tool shared across all agents
  • Consistent result format regardless of platform
  • Centralized auth and error handling
  • One-line tool registration for new agents

Python Example

Python
import requests
from typing import Optional

def scavio_search(
    query: str,
    platform: str = "google",
    limit: int = 10,
    context: Optional[str] = None
) -> dict:
    """Universal search tool for multi-agent systems.
    Register this function with any agent framework."""
    resp = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": SCAVIO_API_KEY, "Content-Type": "application/json"},
        json={"query": query, "platform": platform, "limit": limit}
    )
    if resp.status_code != 200:
        return {"error": f"Search failed: {resp.status_code}", "results": []}
    data = resp.json()
    return {
        "query": query,
        "platform": platform,
        "result_count": len(data.get("results", [])),
        "results": [
            {
                "title": r.get("title", ""),
                "url": r.get("link", ""),
                "snippet": r.get("snippet", ""),
                "position": r.get("position")
            }
            for r in data.get("results", [])
        ],
        "agent_context": context
    }

# AutoGen: register as tool
# assistant.register_function({"scavio_search": scavio_search})
# CrewAI: add as tool
# search_tool = Tool(name="web_search", func=scavio_search, description="Search the web")

JavaScript Example

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
fetch('https://api.scavio.dev/api/v1/search', {method: 'POST', headers: H, body: JSON.stringify({query: 'example', country_code: 'us'})}).then(r => r.json()).then(d => console.log(d.organic_results?.length + ' results'));

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

YouTube

Video search with transcripts and metadata

Amazon

Product search with prices, ratings, and reviews

Reddit

Community, posts & threaded comments from any subreddit

Frequently Asked Questions

Multi-agent systems (AutoGen, CrewAI, LangGraph) need a shared search tool that all agents can use without conflicting API keys, inconsistent result formats, or duplicated search logic across agent definitions.

Create a single Scavio search tool function that any agent in the system can invoke. The tool handles auth, platform selection, and result normalization, giving every agent consistent access to live web data.

Developers building multi-agent orchestration with DeerFlow, LangGraph, or CrewAI.

Yes. Scavio's free tier includes 250 credits per month with no credit card required. That is enough to validate this solution in your workflow.

Add Unified Search to Multi-Agent Systems with Scavio

Create a single Scavio search tool function that any agent in the system can invoke. The tool handles auth, platform selection, and result normalization, giving every agent consist