Solution

One Search Tool for Any AI Agent Framework

Every agent framework (LangChain, CrewAI, AutoGen, LangGraph) needs search tools defined differently. Developers write the same search logic four times with different wrapper signa

The Problem

Every agent framework (LangChain, CrewAI, AutoGen, LangGraph) needs search tools defined differently. Developers write the same search logic four times with different wrapper signatures, and each wrapper has its own bugs.

The Scavio Solution

Write one core search function that calls Scavio, then wrap it with thin adapters for each framework. The core function handles auth, error handling, and result normalization. Framework adapters are 3-5 lines each.

Before

Four different search tool implementations across four agent frameworks. Bug in result parsing exists in two of them but not the other two.

After

One core search function with four thin wrappers. Fix a bug once, all frameworks get the fix.

Who It Is For

Developers building AI agents across multiple frameworks who want a single, reliable search tool that works everywhere.

Key Benefits

  • One search function serves all agent frameworks
  • Thin adapters for LangChain, CrewAI, AutoGen, LangGraph
  • Centralized error handling and retry logic
  • Consistent result format across all agents
  • Add new frameworks with 3-5 lines of adapter code

Python Example

Python
import requests, os
from typing import Optional

API_KEY = os.environ["SCAVIO_API_KEY"]

def core_search(query: str, platform: str = "google", limit: int = 10) -> dict:
    """Core search function. All framework adapters call this."""
    resp = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY, "Content-Type": "application/json"},
        json={"query": query, "platform": platform, "country_code": "us"},
        timeout=15,
    )
    if resp.status_code != 200:
        return {"error": f"HTTP {resp.status_code}", "results": []}
    data = resp.json()
    return {
        "results": [
            {"title": r.get("title", ""), "url": r.get("link", ""), "snippet": r.get("snippet", "")}
            for r in data.get("organic_results", [])[:limit]
        ]
    }

# LangChain adapter
def langchain_search(query: str) -> str:
    results = core_search(query)
    return "\n".join(f"{r['title']}: {r['snippet']}" for r in results["results"])

# CrewAI adapter
def crewai_search(query: str) -> str:
    return langchain_search(query)  # Same string format works

# AutoGen adapter
def autogen_search(query: str) -> dict:
    return core_search(query)  # AutoGen prefers dict

print(langchain_search("python web frameworks 2026"))

JavaScript Example

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function coreSearch(query, platform='google', limit=10) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query, platform, country_code:'us'})});
  const d = await r.json();
  return {results:(d.organic_results||[]).slice(0,limit).map(r=>({title:r.title, url:r.link, snippet:r.snippet}))};
}
// Framework adapters
const langchainSearch = async (q) => (await coreSearch(q)).results.map(r=>r.title+': '+r.snippet).join('\n');
const result = await langchainSearch('python web frameworks 2026');
console.log(result);

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

YouTube

Video search with transcripts and metadata

Reddit

Community, posts & threaded comments from any subreddit

Amazon

Product search with prices, ratings, and reviews

Frequently Asked Questions

Every agent framework (LangChain, CrewAI, AutoGen, LangGraph) needs search tools defined differently. Developers write the same search logic four times with different wrapper signatures, and each wrapper has its own bugs.

Write one core search function that calls Scavio, then wrap it with thin adapters for each framework. The core function handles auth, error handling, and result normalization. Framework adapters are 3-5 lines each.

Developers building AI agents across multiple frameworks who want a single, reliable search tool that works everywhere.

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.

One Search Tool for Any AI Agent Framework

Write one core search function that calls Scavio, then wrap it with thin adapters for each framework. The core function handles auth, error handling, and result normalization. Fram