Les outils de visibilité dans la recherche AI suivent les citations dans ChatGPT, Perplexity et Google AI Mode. Ce tutoriel présente la couche DIY qui s'associe à tout tracker — des extractions quotidiennes de citations dans DuckDB pour le suivi des écarts.
Prérequis
- Python 3.10+
- Clé API Scavio
- DuckDB
Parcours
Étape 1: Définir l'ensemble de mots-clés de marque
10-30 mots-clés de marque et de catégorie.
KEYWORDS = ['scavio', 'best mcp search server', 'tavily alternative', 'search api for ai agents']Étape 2: Citations des AI Overviews via Scavio
include_ai_overview affiche la liste des citations.
import requests, os
API_KEY = os.environ['SCAVIO_API_KEY']
def ai_overview(q):
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': q, 'include_ai_overview': True}).json()
return (r.get('ai_overview') or {}).get('citations', [])Étape 3: Suivi des fils Reddit
Les citations Reddit précèdent les citations des AI Overviews.
def reddit_mentions(q):
r = requests.post('https://api.scavio.dev/api/v1/reddit/search',
headers={'x-api-key': API_KEY}, json={'query': q}).json()
return r.get('posts', [])Étape 4: Persister dans DuckDB
Une ligne par (mot-clé, surface, citation, date).
import duckdb, datetime
db = duckdb.connect('citations.duckdb')
db.execute('CREATE TABLE IF NOT EXISTS citations(keyword TEXT, surface TEXT, url TEXT, date DATE)')
for k in KEYWORDS:
today = datetime.date.today()
for c in ai_overview(k):
db.execute('INSERT INTO citations VALUES (?, ?, ?, ?)', (k, 'ai_overview', c, today))
for p in reddit_mentions(k):
db.execute('INSERT INTO citations VALUES (?, ?, ?, ?)', (k, 'reddit', p['url'], today))Étape 5: Requête delta du vendredi
Quoi de neuf par rapport à vendredi dernier ?
delta = db.execute('''
SELECT keyword, surface, url
FROM citations
WHERE date >= current_date - INTERVAL 7 days
AND url NOT IN (SELECT url FROM citations WHERE date < current_date - INTERVAL 7 days)
''').fetchall()Exemple Python
# See steps above. Daily run: 30 keywords × 2 calls = 60 credits = $0.26 on Project tier.Exemple JavaScript
// Same pattern in TS with duckdb-async.Sortie attendue
Daily citation log per surface. Friday delta email with new and lost citations per keyword.