Un post sur r/AiAutomations demandait un email quotidien avec les mises à jour des concurrents. Ce tutoriel réalise exactement cela : Scavio surveille les SERPs des concurrents et les mentions Reddit, Groq résume les changements, et le digest arrive dans votre boîte de réception chaque matin. Coût total inférieur à 2 $/mois.
Prérequis
- Clé API Scavio
- Clé API Groq
- Identifiants email SMTP
- Python 3.8+
Parcours
Étape 1: Définir les concurrents et les requêtes de suivi
Ce qu'il faut surveiller pour chaque concurrent.
competitors = {
'CompetitorA': ['CompetitorA pricing 2026', 'CompetitorA review', 'CompetitorA vs'],
'CompetitorB': ['CompetitorB launch', 'CompetitorB features', 'CompetitorB alternative'],
}Étape 2: Collecter les informations quotidiennes
Rechercher sur Google et Reddit pour chaque concurrent.
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def daily_intel(competitors):
intel = {}
for name, queries in competitors.items():
intel[name] = {'google': [], 'reddit': []}
for q in queries:
g = requests.post('https://api.scavio.dev/api/v1/search',
headers=H, json={'platform': 'google', 'query': q}).json()
intel[name]['google'].extend(g.get('organic_results', [])[:3])
r = requests.post('https://api.scavio.dev/api/v1/search',
headers=H, json={'platform': 'reddit', 'query': name, 'sort': 'new'}).json()
intel[name]['reddit'] = r.get('results', [])[:5]
return intelÉtape 3: Résumer chaque concurrent avec Groq
Groq Llama 70B résume à 0,59 $/1M de tokens d'entrée.
def summarize(competitor, data):
resp = requests.post('https://api.groq.com/openai/v1/chat/completions',
headers={'Authorization': f'Bearer {os.environ["GROQ_API_KEY"]}',
'Content-Type': 'application/json'},
json={'model': 'llama-3.3-70b-versatile', 'max_tokens': 400,
'messages': [{'role': 'user',
'content': f'Summarize competitor intelligence for {competitor}. '
f'Highlight: pricing changes, new features, user complaints, '
f'notable announcements. Be concise.\n\n{data}'}]
}).json()
return resp['choices'][0]['message']['content']Étape 4: Formatter et envoyer le digest par email
Composer et envoyer le digest quotidien.
import smtplib, datetime
from email.mime.text import MIMEText
def send_digest(intel, to_email):
body = f'Competitor Digest - {datetime.date.today()}\n\n'
for competitor, data in intel.items():
summary = summarize(competitor, data)
body += f'--- {competitor} ---\n{summary}\n\n'
msg = MIMEText(body)
msg['Subject'] = f'Competitor Digest {datetime.date.today()}'
msg['From'] = os.environ['SMTP_USER']
msg['To'] = to_email
with smtplib.SMTP('smtp.gmail.com', 587) as s:
s.starttls()
s.login(os.environ['SMTP_USER'], os.environ['SMTP_PASS'])
s.send_message(msg)Exemple Python
# Daily cost breakdown:
# Scavio: 2 competitors x (3 Google + 1 Reddit) = 8 queries x $0.005 = $0.04
# Groq: 2 summaries x ~2K tokens = ~$0.003
# Total: ~$0.043/day = ~$1.30/month for daily competitor email digestsExemple JavaScript
const intel = 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: 'google', query: `${competitor} pricing 2026`})
}).then(r => r.json());Sortie attendue
Daily email digest with competitor summaries: pricing changes, new features, user sentiment from Reddit. Groq summarization + Scavio data collection. Under $2/month.