ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear una cadena de conmutación por error de backend de búsqueda
Tutorial

Cómo crear una cadena de conmutación por error de backend de búsqueda

Aprenda a crear una cadena de conmutación por error que enrute las consultas de búsqueda a través de múltiples plataformas automáticamente, garantizando que su agente de IA nunca pierda la capacidad de búsqueda.

Obtener clave API gratisDocumentacion API

Los agentes de producción de IA que dependen de un único backend de búsqueda enfrentan una degradación total de la producción durante las interrupciones. Una cadena de conmutación por error enruta las consultas a través de múltiples plataformas de búsqueda en orden de prioridad, retrocediendo automáticamente cuando la principal devuelve errores o resultados vacíos. Este tutorial crea una cadena de conmutación por error utilizando la API multiplataforma de Scavio, donde una única clave cubre Google, Reddit, YouTube, Amazon y Walmart. El mismo patrón funciona para la redundancia a nivel de proveedor al agregar un proveedor secundario como respaldo final.

Requisitos previos

  • Python 3.8+ o Node.js 18+ instalado
  • solicita biblioteca (Python) o recuperación integrada (JS)
  • Una clave API de Scavio de scavio.dev
  • Comprensión básica del manejo de errores try-catch

Guia paso a paso

Paso 1: Defina la prioridad de su plataforma

Enumere las plataformas de búsqueda en orden de preferencia según su caso de uso. Google cubre la mayoría de las consultas; Reddit y YouTube brindan profundidad para temas de discusión y videos.

Python
PLATFORMS = ['google', 'reddit', 'youtube']
API_KEY = os.environ['SCAVIO_API_KEY']

Paso 2: Construya la función de conmutación por error

Itere a través de plataformas y devuelva resultados de la primera que tenga éxito con resultados no vacíos.

Python
import requests, os

def failover_search(query: str, min_results: int = 1) -> dict:
    for platform in PLATFORMS:
        try:
            resp = requests.post('https://api.scavio.dev/api/v1/search',
                headers={'x-api-key': API_KEY},
                json={'platform': platform, 'query': query}, timeout=10)
            resp.raise_for_status()
            data = resp.json()
            results = data.get('organic', [])
            if len(results) >= min_results:
                return {'platform': platform, 'results': results}
        except (requests.RequestException, ValueError):
            continue
    return {'platform': 'none', 'results': []}

Paso 3: Agregar registro para observabilidad

Registre qué plataforma atendió cada consulta para poder realizar un seguimiento de la frecuencia de conmutación por error e identificar backends degradados.

Python
import logging
logger = logging.getLogger('search_failover')

def logged_failover_search(query: str) -> dict:
    for platform in PLATFORMS:
        try:
            resp = requests.post('https://api.scavio.dev/api/v1/search',
                headers={'x-api-key': API_KEY},
                json={'platform': platform, 'query': query}, timeout=10)
            data = resp.json()
            results = data.get('organic', [])
            if results:
                logger.info(f'Query "{query}" served by {platform} ({len(results)} results)')
                return {'platform': platform, 'results': results}
            logger.warning(f'{platform} returned 0 results for "{query}"')
        except Exception as e:
            logger.error(f'{platform} failed for "{query}": {e}')
    logger.error(f'All platforms failed for "{query}"')
    return {'platform': 'none', 'results': []}

Paso 4: Normalizar la salida

Asegúrese de que el LLM posterior obtenga el mismo formato independientemente de la plataforma que respondió.

Python
def normalize_result(result: dict, platform: str) -> dict:
    return {
        'title': result.get('title', ''),
        'snippet': result.get('snippet', result.get('description', '')),
        'url': result.get('link', result.get('url', '')),
        'source_platform': platform
    }

def search_for_agent(query: str) -> list:
    data = logged_failover_search(query)
    return [normalize_result(r, data['platform']) for r in data['results'][:5]]

Ejemplo en Python

Python
import requests, os

PLATFORMS = ['google', 'reddit', 'youtube']
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def failover_search(query):
    for p in PLATFORMS:
        try:
            r = requests.post('https://api.scavio.dev/api/v1/search',
                headers=H, json={'platform': p, 'query': query}, timeout=10)
            results = r.json().get('organic', [])
            if results: return {'platform': p, 'results': results[:5]}
        except: continue
    return {'platform': 'none', 'results': []}

print(failover_search('best crm for startups'))

Ejemplo en JavaScript

JavaScript
const PLATFORMS = ['google', 'reddit', 'youtube'];
async function failoverSearch(query) {
  for (const p of PLATFORMS) {
    try {
      const r = await fetch('https://api.scavio.dev/api/v1/search', {
        method: 'POST',
        headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
        body: JSON.stringify({platform: p, query})
      });
      const data = await r.json();
      if (data.organic?.length) return {platform: p, results: data.organic.slice(0, 5)};
    } catch { continue; }
  }
  return {platform: 'none', results: []};
}

Salida esperada

JSON
A failover search function that automatically routes through Google, Reddit, and YouTube in order, returning normalized results from the first platform that succeeds.

Tutoriales relacionados

  • Cómo obtener resultados de búsqueda de Google en Python

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.8+ o Node.js 18+ instalado. solicita biblioteca (Python) o recuperación integrada (JS). Una clave API de Scavio de scavio.dev. Comprensión básica del manejo de errores try-catch. 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

Mejor API de datos comerciales locales en 2026

Read more
Best Of

Mejor API de autoridad de dominio en 2026

Read more
Comparison

Google Places API vs SERP Local Pack API

Read more
Solution

Alternativa de confiabilidad de API de sonda

Read more
Solution

Migrar de Brave Search API a Scavio para Mayor Cobertura

Read more
Use Case

Herramientas de búsqueda de agentes simples de Python

Read more

Empieza a construir

Aprenda a crear una cadena de conmutación por error que enrute las consultas de búsqueda a través de múltiples plataformas automáticamente, garantizando que su agente de IA nunca pierda la capacidad de búsqueda.

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