ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un moniteur personnel Reddit
Tutoriel

Comment construire un moniteur personnel Reddit

Suivez les sujets, mots-clés et subreddits via API avec e-mail de résumé quotidien. Pipeline de surveillance Python à 0,005 $/requête.

Obtenez une clé API gratuiteDocumentation API

Un moniteur personnel Reddit suit les sujets qui vous intéressent sur tous les subreddits et vous envoie un résumé quotidien des nouvelles discussions. Contrairement aux notifications Reddit, qui ne fonctionnent que pour les communautés auxquelles vous êtes abonné, ce moniteur recherche vos mots-clés sur l'ensemble de la plateforme. Chaque recherche coûte 0,005 $, donc surveiller 10 mots-clés par jour revient à 0,05 $/jour.

Prérequis

  • Python 3.8+
  • bibliothèque requests
  • Une clé API Scavio depuis scavio.dev
  • Mots-clés ou sujets à surveiller

Parcours

Étape 1: Configurer les mots-clés de surveillance

Définissez les mots-clés et les sujets que vous souhaitez suivre sur Reddit.

Python
import os, requests, json, sqlite3, hashlib
from datetime import datetime

API_KEY = os.environ['SCAVIO_API_KEY']
SH = {'x-api-key': API_KEY, 'Content-Type': 'application/json'}

MONITOR_CONFIG = {
    'keywords': [
        'scavio api', 'serp api recommendation', 'search api for agents',
        'mcp search tool', 'web scraping alternative 2026'
    ],
    'digest_email': '[email protected]',
    'min_relevance': 2  # Minimum keyword matches to include
}

db = sqlite3.connect('reddit_monitor.db')
db.execute('''CREATE TABLE IF NOT EXISTS seen (
    hash TEXT PRIMARY KEY, title TEXT, link TEXT,
    keyword TEXT, first_seen TEXT
)''')
db.commit()
print(f'Monitoring {len(MONITOR_CONFIG["keywords"])} keywords on Reddit')
print(f'Daily cost estimate: ${len(MONITOR_CONFIG["keywords"]) * 0.005:.3f}')

Étape 2: Rechercher Reddit pour chaque mot-clé

Récupérer les discussions récentes pour chaque mot-clé surveillé.

Python
def search_keyword(keyword):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': keyword, 'platform': 'reddit', 'country_code': 'us'}).json()
    results = data.get('organic_results', [])
    new_posts = []
    for r in results[:10]:
        link = r.get('link', '')
        post_hash = hashlib.md5(link.encode()).hexdigest()
        # Check if already seen
        existing = db.execute('SELECT hash FROM seen WHERE hash=?', (post_hash,)).fetchone()
        if not existing:
            post = {'hash': post_hash, 'title': r.get('title', '')[:100],
                    'link': link, 'snippet': r.get('snippet', '')[:200],
                    'keyword': keyword}
            new_posts.append(post)
            db.execute('INSERT INTO seen VALUES (?,?,?,?,?)',
                (post_hash, post['title'], link, keyword, datetime.now().isoformat()))
    db.commit()
    return new_posts

all_new = []
for kw in MONITOR_CONFIG['keywords']:
    new = search_keyword(kw)
    all_new.extend(new)
    print(f'  "{kw}": {len(new)} new posts')
print(f'\nTotal new posts: {len(all_new)}')

Étape 3: Noter les publications par pertinence

Classer les nouvelles publications selon le nombre de mots-clés surveillés qu'elles correspondent.

Python
def score_relevance(post, all_keywords):
    text = f"{post['title']} {post['snippet']}".lower()
    matches = sum(1 for kw in all_keywords if kw.lower() in text)
    return matches

def rank_posts(posts, keywords, min_relevance=1):
    for post in posts:
        post['relevance'] = score_relevance(post, keywords)
    ranked = [p for p in posts if p['relevance'] >= min_relevance]
    ranked.sort(key=lambda x: x['relevance'], reverse=True)
    return ranked

ranked = rank_posts(all_new, MONITOR_CONFIG['keywords'], MONITOR_CONFIG['min_relevance'])
print(f'\nHigh-relevance posts ({len(ranked)}):')
for p in ranked[:10]:
    print(f'  [{p["relevance"]}] {p["title"][:60]}')
    print(f'      via: "{p["keyword"]}"')

Étape 4: Générer un résumé quotidien

Formater toutes les nouvelles découvertes en un résumé pour e-mail ou sortie terminale.

Python
def daily_digest(new_posts, ranked_posts):
    now = datetime.now().strftime('%Y-%m-%d')
    cost = len(MONITOR_CONFIG['keywords']) * 0.005
    lines = []
    lines.append(f'Reddit Monitor Digest - {now}')
    lines.append(f'Keywords: {len(MONITOR_CONFIG["keywords"])} | New posts: {len(new_posts)} | Cost: ${cost:.3f}')
    lines.append('')
    if ranked_posts:
        lines.append('HIGH RELEVANCE:')
        for p in ranked_posts[:10]:
            lines.append(f'  [{p["relevance"]}] {p["title"][:65]}')
            lines.append(f'      {p["link"]}')
        lines.append('')
    # Keyword breakdown
    lines.append('BY KEYWORD:')
    keyword_counts = {}
    for p in new_posts:
        kw = p['keyword']
        keyword_counts[kw] = keyword_counts.get(kw, 0) + 1
    for kw, count in sorted(keyword_counts.items(), key=lambda x: -x[1]):
        lines.append(f'  {kw}: {count} new posts')
    # Stats
    total_seen = db.execute('SELECT COUNT(*) FROM seen').fetchone()[0]
    lines.append(f'\nTotal posts tracked: {total_seen}')
    lines.append(f'Monthly cost estimate: ${cost * 30:.2f}')
    digest = '\n'.join(lines)
    print(digest)
    # Save digest
    with open(f'digest_{now}.txt', 'w') as f:
        f.write(digest)
    return digest

daily_digest(all_new, ranked)

Exemple Python

Python
import os, requests
SH = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def monitor(keywords):
    for kw in keywords:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': kw, 'platform': 'reddit', 'country_code': 'us'}).json()
        results = data.get('organic_results', [])[:3]
        print(f'{kw}: {len(results)} posts')
        for r in results:
            print(f'  - {r.get("title", "")[:60]}')
    print(f'Cost: ${len(keywords) * 0.005:.3f}')

monitor(['serp api', 'search api recommendation'])

Exemple JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function monitor(keywords) {
  for (const kw of keywords) {
    const data = await fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST', headers: SH,
      body: JSON.stringify({ query: kw, platform: 'reddit', country_code: 'us' })
    }).then(r => r.json());
    console.log(`${kw}: ${(data.organic_results || []).length} posts`);
    (data.organic_results || []).slice(0, 2).forEach(r => console.log(`  - ${r.title.slice(0, 60)}`));
  }
}
monitor(['serp api', 'search api recommendation']).catch(console.error);

Sortie attendue

JSON
Monitoring 5 keywords on Reddit
Daily cost estimate: $0.025
  "scavio api": 3 new posts
  "serp api recommendation": 5 new posts
  "search api for agents": 4 new posts
  "mcp search tool": 2 new posts
  "web scraping alternative 2026": 3 new posts

Total new posts: 17

Reddit Monitor Digest - 2026-05-19
Keywords: 5 | New posts: 17 | Cost: $0.025

HIGH RELEVANCE:
  [3] Looking for a serp api recommendation for my AI agent project
      https://reddit.com/r/...
  [2] Best search API for agents in 2026? Need MCP support
      https://reddit.com/r/...

Monthly cost estimate: $0.75

Tutoriels associés

  • Comment créer un scanner d'étude de marché Reddit
  • Comment noter les fils Reddit par intention d’achat
  • Comment construire un scanner de sentiment boursier Reddit

Questions fréquentes

La plupart des développeurs terminent ce tutoriel en 15 à 30 minutes. Vous aurez besoin d'une clé API Scavio (l'offre gratuite suffit) et d'un environnement Python ou JavaScript fonctionnel.

Python 3.8+. bibliothèque requests. Une clé API Scavio depuis scavio.dev. Mots-clés ou sujets à surveiller. Une clé API Scavio vous donne 50 crédits gratuits à l'inscription.

Oui. L'offre gratuite comprend 50 crédits à l'inscription, ce qui est largement suffisant pour terminer ce tutoriel et prototyper une solution fonctionnelle.

Scavio dispose d'un package natif LangChain (langchain-scavio), d'un serveur MCP et d'une API REST simple qui fonctionne avec tout client HTTP. Ce tutoriel utilise the raw REST API, mais vous pouvez l'adapter à votre framework de prédilection.

Ressources connexes

Best Of

Meilleure API de surveillance Reddit pour la génération de leads en 2026

Read more
Best Of

Meilleures API pour le sentiment de marque sur Reddit (2026)

Read more
Use Case

Surveillance personnelle de Reddit

Read more
Use Case

Pipeline d'agent de résumé d'actualités

Read more
Solution

Surveillez les mentions de marque sur Reddit

Read more
Workflow

Pipeline quotidien de suivi des classements locaux

Read more

Commencer

Suivez les sujets, mots-clés et subreddits via API avec e-mail de résumé quotidien. Pipeline de surveillance Python à 0,005 $/requête.

Obtenez une clé API gratuiteLire la documentation
ScavioScavio

API de recherche en temps réel pour agents IA. Recherchez sur toutes les plateformes, pas seulement Google.

Produit

  • Fonctionnalités
  • Tarifs
  • Tableau de bord
  • Affiliés

Développeurs

  • Documentation
  • Référence API
  • Démarrage rapide
  • Intégration MCP
  • SDK Python

Alternatives

  • Alternative à Tavily
  • Alternative à SerpAPI
  • Alternative à Firecrawl
  • Alternative à Exa

Outils

  • Formateur JSON
  • cURL vers code
  • Compteur de jetons
  • Tous les outils

© 2026 Scavio. Tous droits réservés.

Featured on TAAFT
Conditions d'utilisationPolitique de confidentialité