Aperçu
Ce flux de travail recherche sur Reddit des signaux de demande (personnes demandant des outils, se plaignant de solutions existantes ou décrivant des besoins non satisfaits) et filtre par actualité. Seuls les fils des 7 derniers jours sont inclus, ce qui garantit que vous voyez la demande actuelle, pas les conversations obsolètes. Les résultats sont notés par engagement (upvotes + commentaires) pour prioriser les fils à fort signal.
Déclencheur
Manuel ou planifié (quotidien/hebdomadaire)
Planification
Quotidien ou hebdomadaire
Étapes du workflow
Définir les requêtes de demande
Créez une liste de requêtes sur les points douloureux comme 'besoin d'un outil pour X', 'cherche une alternative à Y', 'quelqu'un a construit Z'. Chaque requête cible un domaine problématique spécifique.
Rechercher Reddit via Scavio
Pour chaque requête, appelez la recherche Reddit de Scavio. L'API renvoie des fils structurés avec titres, scores, nombre de commentaires, horodatages et URL.
Filtrer par actualité
Ignorez les fils de plus de 7 jours. Cela garantit que vous voyez les signaux de demande actuels, pas les discussions archivées.
Noter par engagement
Triez les fils restants par un score combiné : upvotes + (2 * commentaires). Les fils avec une discussion active indiquent une demande plus forte que les publications avec uniquement des upvotes.
Produire les signaux de demande classés
Écrivez les 20 meilleurs fils dans un fichier de rapport ou une base de données. Chaque entrée inclut la requête de point douloureux, le titre du fil, le score d'engagement et l'URL.
Implémentation Python
import requests, os, json
from datetime import datetime, timedelta
SCAVIO_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": SCAVIO_KEY}
QUERIES = [
"need tool for invoice automation",
"looking for alternative to Ahrefs",
"anyone built a lead scoring system",
]
RECENCY_DAYS = 7
def search_demand(query: str) -> list:
resp = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": "reddit", "query": query, "sort": "new"}, timeout=10)
threads = resp.json().get("organic", [])
cutoff = datetime.utcnow() - timedelta(days=RECENCY_DAYS)
fresh = []
for t in threads:
score = t.get("score", 0) + 2 * t.get("comments", 0)
fresh.append({"title": t["title"], "score": score,
"url": t.get("link", ""), "query": query})
return sorted(fresh, key=lambda x: x["score"], reverse=True)
all_signals = []
for q in QUERIES:
all_signals.extend(search_demand(q))
all_signals.sort(key=lambda x: x["score"], reverse=True)
for s in all_signals[:20]:
print(f"[{s['score']}] {s['title']} ({s['query']})")Implémentation JavaScript
const QUERIES = [
"need tool for invoice automation",
"looking for alternative to Ahrefs",
"anyone built a lead scoring system",
];
async function searchDemand(query) {
const resp = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ platform: "reddit", query, sort: "new" })
});
const threads = (await resp.json()).organic || [];
return threads.map(t => ({
title: t.title, score: (t.score || 0) + 2 * (t.comments || 0),
url: t.link || "", query
})).sort((a, b) => b.score - a.score);
}
const allSignals = [];
for (const q of QUERIES) {
allSignals.push(...await searchDemand(q));
}
allSignals.sort((a, b) => b.score - a.score);
for (const s of allSignals.slice(0, 20)) {
console.log(`[${s.score}] ${s.title} (${s.query})`);
}Plateformes utilisées
Communauté, publications et commentaires imbriqués de n'importe quel subreddit