ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment suivre les citations AI Overview avec l'API SERP
Tutoriel

Comment suivre les citations AI Overview avec l'API SERP

Surveillez les requêtes qui citent votre marque dans les AI Overviews de Google. Utilisez include_ai_overview pour suivre la présence de citation, le classement des sources et les lacunes de couverture.

Obtenez une clé API gratuiteDocumentation API

Les AI Overviews de Google apparaissent désormais pour plus de 40% des requêtes informationnelles en 2026. Être cité dans un AI Overview génère un taux de clic significatif même si votre page n'est pas dans les 3 premiers résultats organiques. Suivre les requêtes qui citent votre domaine et celles qui ne le font pas est le nouveau rapport de classement. Ce tutoriel construit un traqueur de citations qui vérifie une liste de requêtes cibles, enregistre si votre domaine apparaît dans les sources de l'AI Overview, et consigne les résultats dans le temps pour une analyse des tendances. Chaque vérification coûte un crédit API Scavio à 0,005 $.

Prérequis

  • Python 3.9+ installé
  • bibliothèque requests installée
  • Une clé API Scavio depuis scavio.dev
  • Une liste de requêtes cibles pertinentes pour votre domaine

Parcours

Étape 1: Définir les requêtes cibles et le domaine

Configurez une liste de requêtes que vous souhaitez suivre pour les citations AI Overview. Il doit s'agir de requêtes informationnelles pour lesquelles vous pensez que votre contenu est pertinent.

Python
import os, requests, json, time
from datetime import datetime

SCAVIO_KEY = os.environ['SCAVIO_API_KEY']
H = {'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json'}
URL = 'https://api.scavio.dev/api/v1/search'

TARGET_DOMAIN = 'scavio.dev'
QUERIES = [
    'best search api for developers',
    'how to get google search results programmatically',
    'serp api comparison 2026',
    'web search api for ai agents',
    'mcp search server',
]

Étape 2: Vérifier la citation AI Overview pour une seule requête

Effectuez une recherche avec include_ai_overview activé et vérifiez si le domaine cible apparaît dans la liste des sources de l'AI Overview.

Python
def check_citation(query: str, domain: str) -> dict:
    resp = requests.post(URL, headers=H,
        json={'query': query, 'country_code': 'us', 'include_ai_overview': True})
    data = resp.json()
    ai = data.get('ai_overview', {})
    sources = ai.get('sources', [])
    cited = False
    citation_position = None
    for i, src in enumerate(sources):
        if domain in src.get('link', ''):
            cited = True
            citation_position = i + 1
            break
    organic = data.get('organic_results', [])
    organic_pos = None
    for r in organic:
        if domain in r.get('link', ''):
            organic_pos = r.get('position')
            break
    return {
        'query': query,
        'ai_overview_present': bool(ai.get('text')),
        'cited': cited,
        'citation_position': citation_position,
        'organic_position': organic_pos,
        'total_ai_sources': len(sources),
        'timestamp': datetime.now().isoformat(),
    }

Étape 3: Vérifier toutes les requêtes par lot et enregistrer les résultats

Parcourez toutes les requêtes cibles, vérifiez les citations et enregistrez les résultats dans un fichier JSON pour un suivi historique.

Python
def track_citations(queries: list, domain: str) -> list:
    results = []
    for q in queries:
        result = check_citation(q, domain)
        results.append(result)
        status = 'CITED' if result['cited'] else 'MISSING'
        print(f'[{status}] "{q}" | AI src #{result["citation_position"]} | Organic #{result["organic_position"]}')
        time.sleep(0.5)
    # Save snapshot
    snapshot = {'date': datetime.now().strftime('%Y-%m-%d'), 'domain': domain, 'results': results}
    filename = f'ai_citations_{snapshot["date"]}.json'
    with open(filename, 'w') as f:
        json.dump(snapshot, f, indent=2)
    cited_count = sum(1 for r in results if r['cited'])
    print(f'\nCitation rate: {cited_count}/{len(results)} ({cited_count/len(results)*100:.0f}%)')
    print(f'Saved to {filename}')
    return results

results = track_citations(QUERIES, TARGET_DOMAIN)

Étape 4: Comparer les citations dans le temps

Chargez les instantanés précédents et comparez l'état des citations pour détecter les gains et les pertes de visibilité dans l'AI Overview.

Python
def compare_snapshots(current_file: str, previous_file: str):
    with open(current_file) as f:
        current = json.load(f)
    with open(previous_file) as f:
        previous = json.load(f)
    prev_map = {r['query']: r['cited'] for r in previous['results']}
    print(f'Citation changes: {previous["date"]} -> {current["date"]}')
    for r in current['results']:
        was_cited = prev_map.get(r['query'], False)
        is_cited = r['cited']
        if is_cited and not was_cited:
            print(f'  [GAINED] {r["query"]}')
        elif not is_cited and was_cited:
            print(f'  [LOST]   {r["query"]}')
        elif is_cited:
            print(f'  [KEPT]   {r["query"]}')

# compare_snapshots('ai_citations_2026-05-16.json', 'ai_citations_2026-05-09.json')

Exemple Python

Python
import os, requests, time, json
from datetime import datetime

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

def check_ai_citation(query, domain):
    resp = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'query': query, 'country_code': 'us', 'include_ai_overview': True})
    data = resp.json()
    sources = data.get('ai_overview', {}).get('sources', [])
    cited = any(domain in s.get('link', '') for s in sources)
    pos = next((i+1 for i, s in enumerate(sources) if domain in s.get('link', '')), None)
    return {'query': query, 'cited': cited, 'position': pos}

queries = ['search api for developers', 'serp api python', 'web search mcp server']
for q in queries:
    r = check_ai_citation(q, 'scavio.dev')
    print(f'[{"CITED" if r["cited"] else "MISS"}] {q} (pos: {r["position"]})')
    time.sleep(0.5)

Exemple JavaScript

JavaScript
const SCAVIO_KEY = process.env.SCAVIO_API_KEY;

async function checkAICitation(query, domain) {
  const resp = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': SCAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, country_code: 'us', include_ai_overview: true })
  });
  const data = await resp.json();
  const sources = data.ai_overview?.sources || [];
  const cited = sources.some(s => (s.link || '').includes(domain));
  const pos = sources.findIndex(s => (s.link || '').includes(domain)) + 1 || null;
  console.log(`[${cited ? 'CITED' : 'MISS'}] ${query} (pos: ${pos})`);
}

const queries = ['search api for developers', 'serp api python'];
(async () => { for (const q of queries) await checkAICitation(q, 'scavio.dev'); })();

Sortie attendue

JSON
[CITED] "best search api for developers" | AI src #2 | Organic #4
[MISSING] "how to get google search results programmatically" | AI src #None | Organic #7
[CITED] "serp api comparison 2026" | AI src #1 | Organic #3
[MISSING] "web search api for ai agents" | AI src #None | Organic #12
[CITED] "mcp search server" | AI src #3 | Organic #2

Citation rate: 3/5 (60%)
Saved to ai_citations_2026-05-16.json

Tutoriels associés

  • Comment auditer votre site par rapport au guide GEO de Google
  • Comment mesurer les performances GEO avec les données SERP

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.9+ installé. bibliothèque requests installée. Une clé API Scavio depuis scavio.dev. Une liste de requêtes cibles pertinentes pour votre domaine. 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

Meilleures API renvoyant des données AI Overview en 2026

Read more
Best Of

Meilleurs outils de suivi de visibilité GEO/AI en 2026

Read more
Use Case

Suivi des citations des Aperçus IA

Read more
Use Case

Suivi des citations de marque GEO

Read more
Solution

Surveillance des citations dans les AI Overviews

Read more
Workflow

Workflow de vérification de la confiance des citations AI Overview

Read more

Commencer

Surveillez les requêtes qui citent votre marque dans les AI Overviews de Google. Utilisez include_ai_overview pour suivre la présence de citation, le classement des sources et les lacunes de couverture.

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é