Agregue datos web en vivo a cualquier sistema de automatización de IA conectando la API de búsqueda de Scavio como un paso HTTP en su flujo de trabajo. La mayoría de las plataformas de automatización (n8n, Make, Zapier, Pipedream) admiten nodos de solicitud HTTP, lo que lo convierte en un patrón de integración universal. La API de búsqueda devuelve JSON estructurado que los nodos posteriores pueden analizar, filtrar y enrutar sin código personalizado. Este tutorial muestra la configuración HTTP que funciona en todas las plataformas principales y luego demuestra patrones específicos para flujos de trabajo de enriquecimiento, monitoreo y alertas.
Requisitos previos
- Una cuenta de plataforma de automatización (n8n, Make, Zapier o Pipedream)
- Una clave API de Scavio de scavio.dev
- Comprensión básica de los flujos de solicitud/respuesta HTTP
- Un caso de uso que requiere datos web en vivo en su automatización
Guia paso a paso
Paso 1: Configurar la solicitud HTTP universal
Configure la solicitud HTTP que funcione en cualquier plataforma de automatización. El patrón es idéntico: PUBLICAR en el punto final de Scavio con su clave API en el encabezado.
// Universal HTTP configuration (works in n8n, Make, Zapier, Pipedream):
// Method: POST
// URL: https://api.scavio.dev/api/v1/search
// Headers:
// x-api-key: your_scavio_api_key
// Content-Type: application/json
// Body (JSON):
{
"platform": "google",
"query": "your search query here"
}
// Python equivalent:
import requests, os
resp = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'platform': 'google', 'query': 'ai automation trends 2026'})
print(resp.json().get('organic_results', [])[:2])Paso 2: Analizar resultados para nodos de automatización
Extraiga los campos que sus nodos posteriores necesitan de la respuesta de búsqueda. La mayoría de las plataformas utilizan notación de puntos o JSONPath.
# Response structure for automation parsing:
# $.organic_results[0].title -> First result title
# $.organic_results[0].link -> First result URL
# $.organic_results[0].snippet -> First result description
# $.ai_overview.text -> AI Overview summary (if present)
# Python helper to format for automation:
def format_for_automation(data: dict) -> list:
return [{
'title': r.get('title', ''),
'url': r.get('link', ''),
'snippet': r.get('snippet', ''),
} for r in data.get('organic_results', [])[:5]]
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': 'google', 'query': 'ai automation trends 2026'}).json()
print(format_for_automation(data))Paso 3: Crear un activador de búsqueda condicional
Agregue lógica que solo active el paso de búsqueda cuando los datos entrantes cumplan ciertos criterios, ahorrando créditos de API.
def should_search(trigger_data: dict) -> bool:
"""Only search if the incoming message contains a question or unknown term."""
text = trigger_data.get('message', '').lower()
question_signals = ['?', 'what is', 'how to', 'latest', 'current', 'price of']
return any(signal in text for signal in question_signals)
def conditional_search(trigger_data: dict) -> dict:
if not should_search(trigger_data):
return {'skipped': True, 'reason': 'no search signal'}
import requests, os
resp = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'platform': 'google', 'query': trigger_data['message']}, timeout=10)
return {'skipped': False, 'results': resp.json().get('organic_results', [])[:3]}
print(conditional_search({'message': 'What is the latest react version?'}))Paso 4: Búsqueda en cadena con acciones posteriores
Conecte el resultado de la búsqueda a nodos posteriores, como alertas de Slack, borradores de correo electrónico o escrituras de bases de datos.
# Example: Search -> Filter -> Slack alert
def search_and_alert(query: str, alert_keywords: list) -> dict:
import requests, os
resp = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'platform': 'google', 'query': query}, timeout=10)
results = resp.json().get('organic_results', [])
alerts = []
for r in results:
text = f"{r.get('title', '')} {r.get('snippet', '')}".lower()
matched = [kw for kw in alert_keywords if kw.lower() in text]
if matched:
alerts.append({'title': r['title'], 'url': r.get('link', ''), 'matched': matched})
return {'total_results': len(results), 'alerts': alerts}
print(search_and_alert('scavio api update', ['pricing', 'new feature', 'launch']))Ejemplo en Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def automation_search(query, platform='google'):
data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
json={'platform': platform, 'query': query}).json()
return [{'title': r['title'], 'url': r['link'], 'snippet': r.get('snippet', '')}
for r in data.get('organic_results', [])[:3]]
print(automation_search('ai automation trends 2026'))Ejemplo en JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function automationSearch(query, platform = 'google') {
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST', headers: H, body: JSON.stringify({platform, query})
});
return ((await r.json()).organic_results || []).slice(0, 3).map(r => ({title: r.title, url: r.link, snippet: r.snippet}));
}
automationSearch('ai automation trends 2026').then(console.log);Salida esperada
A reusable HTTP integration pattern that adds live search data to any automation platform, with conditional triggering and downstream action chaining.