Reddit es donde ocurren discusiones honestas sobre productos. Los usuarios comparten opiniones sin filtrar sobre herramientas, servicios y empresas sin el pulido de marketing de los canales oficiales. El seguimiento de estas menciones le brinda una alerta temprana sobre quejas de clientes, comentarios sobre productos y comparaciones competitivas. Este tutorial crea un sistema de monitoreo de Reddit en tiempo real que busca menciones de marca, rastrea nuevas publicaciones, las califica por participación y genera alertas procesables.
Requisitos previos
- Python 3.8 o superior
- solicita biblioteca instalada
- Una clave API de Scavio
- Nombres de marcas y nombres de productos a monitorear
Guia paso a paso
Paso 1: Definir objetivos de seguimiento
Enumere todas las variaciones de marcas, nombres de productos y nombres de competidores para realizar un seguimiento. Incluya errores ortográficos comunes.
MONITOR = {
"brand": ["mycompany", "my-company", "mycompany.io"],
"product": ["myproduct", "my product"],
"competitors": ["competitor-a", "competitor-b"],
}Paso 2: Busque en Reddit cada palabra clave
Consulte el punto final de búsqueda de Scavio Reddit para cada palabra clave, ordenada por nueva para detectar publicaciones recientes.
def search_reddit(keyword: str) -> list[dict]:
r = requests.post(
"https://api.scavio.dev/api/v1/reddit/search",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"query": keyword, "sort": "new"},
timeout=30
)
r.raise_for_status()
return r.json()["data"]["posts"]Paso 3: Calificar publicaciones por participación
Calcule una puntuación de participación basada en los votos positivos, el recuento de comentarios y el nivel de actividad del subreddit.
def engagement_score(post: dict) -> int:
score = int(post.get("score", 0) or 0)
comments = int(post.get("num_comments", 0) or 0)
return score + comments * 3Paso 4: Generar informe de alerta
Combine todas las menciones, elimine duplicados, ordene por puntuación de participación y genere una lista de alertas clasificadas por prioridad.
def monitor_all() -> list[dict]:
all_posts = []
seen_ids = set()
for category, keywords in MONITOR.items():
for kw in keywords:
posts = search_reddit(kw)
for p in posts:
if p["id"] not in seen_ids:
seen_ids.add(p["id"])
p["category"] = category
p["matched_keyword"] = kw
p["engagement"] = engagement_score(p)
all_posts.append(p)
return sorted(all_posts, key=lambda x: x["engagement"], reverse=True)Ejemplo en Python
import os
import requests
API_KEY = os.environ["SCAVIO_API_KEY"]
KEYWORDS = ["scavio", "scavio api", "scavio.dev"]
def search(kw: str) -> list[dict]:
r = requests.post("https://api.scavio.dev/api/v1/reddit/search",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"query": kw, "sort": "new"}, timeout=30)
r.raise_for_status()
return r.json()["data"]["posts"]
def monitor():
seen = set()
all_posts = []
for kw in KEYWORDS:
for p in search(kw):
if p["id"] not in seen:
seen.add(p["id"])
all_posts.append(p)
all_posts.sort(key=lambda x: int(x.get("score", 0) or 0), reverse=True)
for p in all_posts[:10]:
print(f"[{p.get('score', 0):>4}] r/{p['subreddit']}: {p['title']}")
print(f" {p['url']}")
if __name__ == "__main__":
monitor()Ejemplo en JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const KEYWORDS = ["scavio", "scavio api"];
async function search(kw) {
const r = await fetch("https://api.scavio.dev/api/v1/reddit/search", {
method: "POST",
headers: { Authorization: `Bearer ${API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ query: kw, sort: "new" })
});
return (await r.json()).data.posts;
}
async function main() {
const seen = new Set();
const posts = [];
for (const kw of KEYWORDS) {
for (const p of await search(kw)) {
if (!seen.has(p.id)) { seen.add(p.id); posts.push(p); }
}
}
posts.sort((a, b) => (b.score || 0) - (a.score || 0));
posts.slice(0, 10).forEach(p => console.log(`[${p.score}] r/${p.subreddit}: ${p.title}`));
}
main().catch(console.error);Salida esperada
[ 47] r/SaaS: Has anyone used scavio for SERP data? Review inside
https://reddit.com/r/SaaS/comments/...
[ 23] r/devtools: scavio vs serpapi for building AI agents
https://reddit.com/r/devtools/comments/...
[ 12] r/webdev: Scavio API - real-time search for developers
https://reddit.com/r/webdev/comments/...