ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo agregar búsqueda a un agente de investigación profunda
Tutorial

Cómo agregar búsqueda a un agente de investigación profunda

Conecte la búsqueda multiplataforma al ciclo de búsqueda, lectura y cálculo de un agente de investigación profunda. Implementación de Python con controles presupuestarios.

Obtener clave API gratisDocumentacion API

Los agentes de investigación profunda iteran a través de bucles de búsqueda, lectura y cálculo: consultan un tema, extraen datos de los resultados, razonan los hallazgos y luego buscan nuevamente con consultas refinadas. La calidad del paso de búsqueda determina si el agente basa su análisis en datos reales o alucina. Este tutorial conecta la búsqueda multiplataforma a un agente de investigación, brindándole Google, Reddit y YouTube en cada iteración a $0,005 por consulta.

Requisitos previos

  • Python 3.10+
  • solicita biblioteca instalada
  • Una clave API de Scavio de scavio.dev
  • Una clave API de OpenAI para razonar

Guia paso a paso

Paso 1: Cree la función de búsqueda multiplataforma

Cree una búsqueda que consulte múltiples plataformas y combine resultados para el LLM.

Python
import os, requests, json

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
OPENAI_KEY = os.environ['OPENAI_API_KEY']
SH = {'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'}

def multi_search(query, platforms=None):
    if platforms is None: platforms = ['google', 'reddit']
    all_results = []
    for platform in platforms:
        resp = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': query, 'platform': platform, 'country_code': 'us'})
        for r in resp.json().get('organic_results', [])[:3]:
            all_results.append({'platform': platform, 'title': r.get('title', ''),
                'snippet': r.get('snippet', ''), 'url': r.get('link', '')})
    return all_results

def format_context(results):
    return '\n\n'.join(f"[{r['platform'].upper()}] {r['title']}\n{r['snippet']}" for r in results)

Paso 2: Implementar el circuito de investigación

El agente decide qué buscar, analiza los resultados y determina si continúa o produce resultados.

Python
def llm_call(system, user):
    resp = requests.post('https://api.openai.com/v1/chat/completions',
        headers={'Authorization': f'Bearer {OPENAI_KEY}', 'Content-Type': 'application/json'},
        json={'model': 'gpt-4o', 'temperature': 0,
            'messages': [{'role': 'system', 'content': system}, {'role': 'user', 'content': user}]})
    return resp.json()['choices'][0]['message']['content']

def research_loop(topic, max_iterations=5):
    findings = []
    search_count = 0
    for i in range(max_iterations):
        plan = json.loads(llm_call('Return JSON only.',
            f'Topic: {topic}\nFindings: {json.dumps(findings[-3:])}\n'
            f'Return: {{"query": "...", "platforms": [...], "done": bool}}'))
        if plan.get('done'): break
        results = multi_search(plan['query'], plan.get('platforms', ['google']))
        search_count += len(plan.get('platforms', ['google']))
        analysis = llm_call('Extract key facts.', f'Results:\n{format_context(results)}')
        findings.append({'query': plan['query'], 'analysis': analysis})
        print(f'  [{i+1}] "{plan["query"]}" -> {len(results)} results')
    return findings, search_count

Paso 3: Generar el informe final

Sintetice todos los hallazgos en un informe estructurado con citas.

Python
def generate_report(topic, findings, search_count):
    text = '\n'.join(f"Query: {f['query']}\n{f['analysis']}" for f in findings)
    report = llm_call('Write a structured report with key findings.', f'Topic: {topic}\n\n{text}')
    print(f'\n{report[:500]}')
    print(f'\nSearches: {search_count}, Cost: ${search_count * 0.005:.3f}')
    return report

findings, count = research_loop('SERP API trends 2026')
generate_report('SERP API trends 2026', findings, count)

Paso 4: Agregar controles presupuestarios

Evite costos descontrolados con un límite presupuestario estricto.

Python
def research_with_budget(topic, max_budget=0.50, max_iter=10):
    findings, total_cost = [], 0.0
    for i in range(max_iter):
        remaining = int((max_budget - total_cost) / 0.005)
        if remaining < 1:
            print(f'  Budget exhausted at ${total_cost:.3f}')
            break
        plan = json.loads(llm_call('Return JSON only.',
            f'Topic: {topic}\nFindings: {json.dumps(findings[-3:])}\n'
            f'Budget: {remaining} searches left\n'
            f'Return: {{"query": "...", "platforms": [...], "done": bool}}'))
        if plan.get('done'): break
        platforms = plan.get('platforms', ['google'])[:remaining]
        results = multi_search(plan['query'], platforms)
        total_cost += len(platforms) * 0.005
        analysis = llm_call('Extract key facts.', f'Results:\n{format_context(results)}')
        findings.append({'query': plan['query'], 'analysis': analysis})
        print(f'  [{i+1}] ${total_cost:.3f} spent')
    return findings, total_cost

research_with_budget('search API comparison', max_budget=0.25)

Ejemplo en Python

Python
import os, requests, json

SK = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': SK, 'Content-Type': 'application/json'}

def search(query, platform='google'):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': query, 'platform': platform, 'country_code': 'us'}).json()
    return [{'title': r['title'], 'snippet': r.get('snippet', '')}
            for r in data.get('organic_results', [])[:3]]

def research(topic, queries):
    for q in queries:
        g = search(q)
        r = search(q, 'reddit')
        print(f'"{q}": {len(g)} Google + {len(r)} Reddit')
    print(f'Cost: ${len(queries) * 2 * 0.005:.3f}')

research('AI search', ['best search api agents 2026', 'tavily alternatives reddit'])

Ejemplo en JavaScript

JavaScript
const SK = process.env.SCAVIO_API_KEY;
const SH = { 'x-api-key': SK, 'Content-Type': 'application/json' };

async function search(query, platform = 'google') {
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: SH,
    body: JSON.stringify({ query, platform, country_code: 'us' })
  }).then(r => r.json());
  return (data.organic_results || []).slice(0, 3);
}

async function research(queries) {
  for (const q of queries) {
    const g = await search(q);
    const r = await search(q, 'reddit');
    console.log(`"${q}": ${g.length}G + ${r.length}R`);
  }
  console.log(`Cost: $${(queries.length * 2 * 0.005).toFixed(3)}`);
}
research(['best search api 2026', 'tavily alternatives']).catch(console.error);

Salida esperada

JSON
  [1] "AI agent search API comparison 2026" -> 6 results
  [2] "tavily vs scavio vs exa agents" -> 3 results
  [3] "self-hosted search SearXNG agents" -> 6 results
  [4] Research complete.

Searches: 5, Cost: $0.025

Tutoriales relacionados

  • Cómo reemplazar Tavily en LangChain con Scavio
  • Cómo optimizar el presupuesto de búsqueda de su agente de IA
  • Cómo construir un agente RAG con LangChain y Scavio

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.10+. solicita biblioteca instalada. Una clave API de Scavio de scavio.dev. Una clave API de OpenAI para razonar. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores API de búsqueda después de los cambios en el modo AI de Google I/O 2026

Read more
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more
Best Of

Los mejores proveedores de API SERP clasificados por precio en 2026

Read more
Glossary

Comparación gratuita de niveles de API de búsqueda

Read more
Comparison

Search APIs (Scavio, Tavily, SerpAPI) vs Headless Browser (Playwright, Puppeteer, Browserbase)

Read more
Comparison

Google Places API vs SERP Local Pack API

Read more

Empieza a construir

Conecte la búsqueda multiplataforma al ciclo de búsqueda, lectura y cálculo de un agente de investigación profunda. Implementación de Python con controles presupuestarios.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad