El problema
Cada plataforma tiene sus propias peculiaridades. Google ofrece resultados orgánicos junto con descripciones generales de IA, compras y gráficos de conocimiento. Amazon devuelve espacios patrocinados, listados orgánicos y tiendas de marca. YouTube mezcla vídeos, canales y listas de reproducción. Walmart devuelve su propia combinación de productos orgánicos y patrocinados. Si los integra directamente, obtendrá cuatro flujos de autenticación diferentes, cuatro modelos de paginación diferentes, cuatro esquemas de respuesta diferentes y cuatro modos de falla diferentes. Mantener todo esto sincronizado a medida que evolucionan las plataformas es un trabajo de tiempo completo al que ningún ingeniero se inscribió.
La solucion de Scavio
Scavio normaliza las cuatro plataformas detrás de un único punto final. Pasas un parámetro de plataforma y obtienes un sobre predecible con nombres de campos consistentes. Los títulos son títulos, los enlaces son enlaces, las posiciones son posiciones, los precios son siempre números con una moneda. Los extras específicos de la plataforma se encuentran bajo una clave con un nombre claro para que pueda optar por participar sin cambiar la plomería principal. A su capa de aplicación deja de importarle qué plataforma se consulta y comienza a centrarse en qué hacer con los resultados.
Antes
Antes de Scavio, una característica multiplataforma significaba cuatro clientes, cuatro analizadores, cuatro conjuntos de pruebas y cuatro trabajos pendientes de casos extremos. Agregar una nueva plataforma representó una cuarta parte del trabajo de ingeniería.
Después
Después de Scavio, una característica multiplataforma es un bucle sobre los nombres de las plataformas. Agregar una nueva plataforma es cambiar un literal de matriz. La función se envía en una mañana.
Para quien es
Desarrolladores full-stack y equipos de plataformas que crean asistentes de compras, herramientas de investigación o análisis multicanal. Cualquiera está cansado de unir cuatro SDK de proveedores para responder la pregunta de un usuario.
Beneficios clave
- Autenticación única, URL base única, superficie SDK única
- Forma de respuesta normalizada en las cuatro plataformas compatibles
- Códigos de error predecibles y límites de velocidad independientemente de la plataforma
- Los campos específicos de la plataforma de participación mantienen limpia la ruta común
- Nuevas plataformas aterrizan sin tocar el código de su aplicación principal
Ejemplo en Python
import requests
API_KEY = "your_scavio_api_key"
URL = "https://api.scavio.dev/api/v1/search"
def multi_search(query: str, platforms: list[str]):
results = {}
for platform in platforms:
r = requests.post(
URL,
headers={"x-api-key": API_KEY},
json={"platform": platform, "query": query},
timeout=10,
)
results[platform] = r.json()
return results
data = multi_search("wireless earbuds", ["google", "amazon", "youtube", "walmart"])
for platform, payload in data.items():
print(platform, len(payload.get("organic", [])))Ejemplo en JavaScript
const API_KEY = "your_scavio_api_key";
const URL = "https://api.scavio.dev/api/v1/search";
async function multiSearch(query, platforms) {
const calls = platforms.map((platform) =>
fetch(URL, {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform, query }),
}).then((r) => r.json().then((d) => [platform, d])),
);
return Object.fromEntries(await Promise.all(calls));
}
const data = await multiSearch("wireless earbuds", ["google", "amazon", "youtube", "walmart"]);
for (const [p, payload] of Object.entries(data)) {
console.log(p, (payload.organic ?? []).length);
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA
Amazon
Búsqueda de productos con precios, calificaciones y reseñas
YouTube
Búsqueda de videos con transcripciones y metadatos
Walmart
Búsqueda de productos con precios y datos de cumplimiento
Comunidad, publicaciones y comentarios en hilos de cualquier subreddit