Le problème
Les agences SEO doivent montrer aux clients si leur contenu apparaît dans les AI Overviews de Google. Aucun outil de suivi de classement grand public ne remonte les données de citation AI Overview. Les agences vérifient manuellement les mots-clés importants et capturent les résultats, ce qui ne passe pas à l'échelle au-delà de 20 mots-clés.
La solution Scavio
Construisez un pipeline automatisé qui vérifie la présence d'AI Overview sur les mots-clés cibles et extrait les sources de citation. Exécutez-le quotidiennement ou hebdomadairement pour suivre les changements. À 0,005$/requête, la surveillance de 100 mots-clés par jour coûte 0,50$/jour (15$/mois).
Avant
Un stagiaire en agence effectue manuellement 20 recherches Google par semaine et capture les résultats AI Overview. Cela prend 2 heures. Le client reçoit un PDF statique sans données de tendance.
Après
Pipeline automatisé vérifie 100 mots-clés par jour pour 15$/mois. Le tableau de bord client montre les tendances de présence AIO, les sources de citation et les concurrents cités.
À qui cela s'adresse
Agences SEO qui doivent rapporter les données de citation AI Overview aux clients sans vérification manuelle mot-clé par mot-clé.
Avantages clés
- Suivez les citations AI Overview pour 0,005$/mot-clé
- Surveillance quotidienne de 100 mots-clés pour 15$/mois
- Extrayez les sources de citation et la présence des concurrents
- Les données de tendance montrent l'apparition d'AIO au fil du temps
- Tableau de bord en marque blanche pour le reporting client
Exemple Python
import requests, os, json
from datetime import date
API_KEY = os.environ["SCAVIO_API_KEY"]
def check_aio_citation(keyword: str, target_domain: str) -> dict:
"""Check if a domain appears in Google AI Overview for a keyword."""
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY, "Content-Type": "application/json"},
json={"query": keyword, "country_code": "us"},
timeout=15,
)
data = resp.json()
aio = data.get("ai_overview")
result = {
"keyword": keyword,
"date": str(date.today()),
"has_aio": aio is not None,
"target_cited": False,
"cited_domains": [],
}
if aio:
sources = aio.get("sources", [])
result["cited_domains"] = [s.get("domain", "") for s in sources]
result["target_cited"] = target_domain in result["cited_domains"]
return result
keywords = ["best crm for small business", "how to track seo rankings", "what is AEO"]
for kw in keywords:
result = check_aio_citation(kw, "example.com")
status = "CITED" if result["target_cited"] else ("AIO present" if result["has_aio"] else "No AIO")
print(f"[{status}] {kw} -> {result['cited_domains'][:3]}")Exemple JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function checkAioCitation(keyword, targetDomain) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query:keyword, country_code:'us'})});
const d = await r.json();
const aio = d.ai_overview;
const citedDomains = (aio?.sources||[]).map(s=>s.domain||'');
return {keyword, hasAio:!!aio, targetCited:citedDomains.includes(targetDomain), citedDomains};
}
for (const kw of ['best crm for small business','how to track seo rankings']) {
const r = await checkAioCitation(kw, 'example.com');
console.log((r.targetCited?'CITED':'miss')+' '+kw+' -> '+r.citedDomains.slice(0,3).join(', '));
}Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA