El seguimiento de la marca es fundamental para la gestión de la reputación, la respuesta de relaciones públicas y la inteligencia competitiva. Saber cuándo se menciona su marca en las noticias de Google, los resultados orgánicos y YouTube le ayuda a responder rápidamente a la cobertura y medir el impacto de las campañas de marketing. Este tutorial crea un script de monitoreo de marca multiplataforma que consulta a Google y YouTube en busca de menciones de marca, deduplica resultados y envía un resumen diario de nuevas menciones.
Requisitos previos
- Python 3.8 o superior
- solicita biblioteca instalada
- Una clave API de Scavio
- Un nombre de marca y nombres de competidores opcionales para realizar un seguimiento
Guia paso a paso
Paso 1: Definir marcas a monitorear
Configure una lista de marcas y variaciones para realizar un seguimiento. Incluya errores ortográficos comunes o nombres de productos si es relevante.
BRANDS = ["Scavio", "scavio.dev", "Scavio API"]
MONITOR_COMPETITORS = ["SerpAPI", "Bright Data"]Paso 2: Obtener menciones de Google
Consulte en Google cada marca y recopile resultados orgánicos y resultados de noticias como candidatos a mencionar.
def google_mentions(brand: str) -> list[dict]:
data = search_google(brand)
mentions = data.get("organic_results", [])
mentions += data.get("news_results", [])
return [{"source": "google", "title": m.get("title"), "link": m.get("link"), "date": m.get("date")} for m in mentions]Paso 3: Obtener menciones de YouTube
Busque en YouTube cada nombre de marca y recopile títulos de videos y URL como menciones.
def youtube_mentions(brand: str) -> list[dict]:
r = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "youtube", "query": brand}
)
r.raise_for_status()
videos = r.json().get("videos", [])
return [{"source": "youtube", "title": v.get("title"), "link": v.get("url"), "date": v.get("published_at")} for v in videos]Paso 4: Fusionar y deduplicar
Combine menciones de Google y YouTube, elimine duplicados por URL y ordene por fecha.
def collect_mentions(brand: str) -> list[dict]:
mentions = google_mentions(brand) + youtube_mentions(brand)
seen = {}
for m in mentions:
if m["link"] not in seen:
seen[m["link"]] = m
return list(seen.values())Ejemplo en Python
import os
import requests
API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"
BRANDS = ["Scavio", "Scavio API"]
def search(platform: str, query: str, extra: dict = {}) -> dict:
body = {"platform": platform, "query": query, **extra} if platform != "google" else {"query": query, "country_code": "us"}
r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY}, json=body)
r.raise_for_status()
return r.json()
def monitor(brand: str) -> list[dict]:
g = search("google", brand)
y = search("youtube", brand)
mentions = []
for m in g.get("organic_results", [])[:5]:
mentions.append({"src": "google", "title": m.get("title"), "url": m.get("link")})
for v in y.get("videos", [])[:5]:
mentions.append({"src": "youtube", "title": v.get("title"), "url": v.get("url")})
return mentions
if __name__ == "__main__":
for brand in BRANDS:
print(f"\n=== {brand} ===")
for m in monitor(brand):
print(f"[{m['src']}] {m['title']}")Ejemplo en JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const ENDPOINT = "https://api.scavio.dev/api/v1/search";
const BRANDS = ["Scavio", "Scavio API"];
async function search(platform, query) {
const body = platform === "google" ? { query, country_code: "us" } : { platform, query };
const res = await fetch(ENDPOINT, {
method: "POST",
headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
body: JSON.stringify(body)
});
return res.json();
}
async function monitor(brand) {
const [g, y] = await Promise.all([search("google", brand), search("youtube", brand)]);
const mentions = [];
(g.organic_results || []).slice(0, 5).forEach(m => mentions.push({ src: "google", title: m.title, url: m.link }));
(y.videos || []).slice(0, 5).forEach(v => mentions.push({ src: "youtube", title: v.title, url: v.url }));
return mentions;
}
async function main() {
for (const brand of BRANDS) {
console.log(`\n=== ${brand} ===`);
const m = await monitor(brand);
m.forEach(item => console.log(`[${item.src}] ${item.title}`));
}
}
main().catch(console.error);Salida esperada
=== Scavio ===
[google] Scavio Review: Real-Time Search API for AI Agents
[google] Scavio vs SerpAPI: Which Is Better in 2026?
[youtube] I Built an AI Agent with Scavio - Full Tutorial
[youtube] Scavio API vs Bright Data Comparison