El problema
ScrapingRobot rompió contra el anti-bot. Se borraron los créditos de la sonda. SerpAPI tiene una demanda activa. La dependencia de un solo proveedor es un riesgo de producción.
La solucion de Scavio
Conmutación por error de múltiples proveedores: Scavio primario → Serper alternativo → proveedor de emergencia. Reintento automático, salida normalizada, registro de rendimiento.
Antes
Proveedor único de SERP. Cuando cae, la tubería se rompe. Sin conmutación por error ni datos de comparación de proveedores.
Después
Conmutación por error de tres proveedores con reintento automático. Formato de respuesta normalizado. Registro de rendimiento para revisión trimestral de proveedores.
Para quien es
Canales de búsqueda de producción, equipos empresariales, agencias que facturan con garantías SLA, cualquiera que haya experimentado una interrupción del proveedor.
Beneficios clave
- La conmutación por error automática evita interrupciones en las tuberías
- Producción normalizada entre proveedores
- Registro de rendimiento para comparar proveedores
- Presupuesto: igual que el de un solo proveedor (la recuperación por recuperación solo se ejecuta en caso de falla)
- Código de aplicación independiente del proveedor
Ejemplo en Python
import requests, os
vendors = [
{'name': 'scavio', 'url': 'https://api.scavio.dev/api/v1/search',
'headers': {'x-api-key': os.environ['SCAVIO_API_KEY']},
'body': lambda q: {'platform': 'google', 'query': q}},
{'name': 'serper', 'url': 'https://google.serper.dev/search',
'headers': {'X-API-KEY': os.environ['SERPER_API_KEY']},
'body': lambda q: {'q': q}},
]
def search(query):
for v in vendors:
try:
r = requests.post(v['url'], headers=v['headers'], json=v['body'](query), timeout=15)
if r.ok: return r.json()
except: continue
raise Exception('All vendors failed')Ejemplo en JavaScript
// Same failover pattern with try/catch in JS/TSPlataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA