Resumen
Teams migrating de Brave Search API to Scavio necesita to validar ese resultado calidad es equivalent antes de cutting sobre. Este flujo de trabajo ejecuta your existing consulta establecer a traves de ambos APIs in parallel, compara resultado overlap, y genera un parity informe. Once parity es confirmed, it proporciona el endpoint y encabezado cambios necesario to completo el migration. No attribution requisito con Scavio versus Brave's mandatory attribution.
Desencadenador
Manual activar o one-time cron
Programación
One-time migration ejecutar
Pasos del flujo de trabajo
Exportar actual Brave consultas
Pull el lista of consultas your application envia to Brave Search API de registros o config.
Ejecutar consultas a traves de ambos APIs
For cada consulta, call ambos Brave y Scavio. Record resultados de cada.
Comparar resultado calidad
Calcular overlap: como muchos of Brave's top 5 URLs tambien appear in Scavio's top 10. Marcar consultas con low overlap.
Generar parity informe
Resumir overall parity porcentaje, lista low-overlap consultas, y note cualquier Scavio-exclusive caracteristicas (AI Overviews, multi-platform).
Salida migration diff
Generar el exact code cambios necesario: URL swap, encabezado cambio, respuesta campo mapeo.
Implementacion en Python
import requests, os, json
H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}
def compare_apis(query):
"""Run a query through Scavio and compare structure."""
scavio = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": "google", "query": query}, timeout=10).json()
scavio_urls = [o.get("link", "") for o in scavio.get("organic", [])[:10]]
scavio_titles = [o.get("title", "") for o in scavio.get("organic", [])[:5]]
return {
"query": query,
"scavio_result_count": len(scavio.get("organic", [])),
"scavio_top_urls": scavio_urls[:5],
"scavio_has_ai_overview": bool(scavio.get("ai_overview")),
"migration_notes": "Scavio returns ai_overview field (Brave does not). "
"No attribution requirement. Multi-platform support included."
}
# Migration code diff:
# BEFORE (Brave):
# requests.get("https://api.search.brave.com/res/v1/web/search",
# headers={"X-Subscription-Token": BRAVE_KEY}, params={"q": query})
#
# AFTER (Scavio):
# requests.post("https://api.scavio.dev/api/v1/search",
# headers={"x-api-key": SCAVIO_KEY},
# json={"platform": "google", "query": query})
QUERIES = ["best search api 2026", "serp api pricing", "web search api for agents"]
for q in QUERIES:
print(json.dumps(compare_apis(q), indent=2))Implementacion en JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function compareApis(query) {
const scavio = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query})
}).then(r => r.json());
return {
query,
scavioResultCount: (scavio.organic || []).length,
scavioTopUrls: (scavio.organic || []).slice(0, 5).map(o => o.link),
scavioHasAiOverview: !!scavio.ai_overview,
migrationNotes: "Change POST URL and header. No attribution required. ai_overview field is a bonus."
};
}
// Migration: change fetch URL from api.search.brave.com to api.scavio.dev
// Change header from X-Subscription-Token to x-api-key
// Change GET with params to POST with JSON bodyPlataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA