ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment exécuter un audit GEO/AEO avec une API de recherche
Tutoriel

Comment exécuter un audit GEO/AEO avec une API de recherche

Auditez 20 mots-clés de marque pour la présence d'Aperçus AI, évaluez votre visibilité GEO et générez un rapport d'optimisation. Python à 0,005 $/mot-clé.

Obtenez une clé API gratuiteDocumentation API

Un audit GEO/AEO vérifie la visibilité de votre marque dans les Aperçus Google AI pour vos mots-clés cibles. Cet audit interroge 20 mots-clés de marque, vérifie la présence d'Aperçus AI et de citations de marque, calcule un score de visibilité GEO et génère un rapport exploitable. L'audit complet coûte 0,10 $ (20 requêtes à 0,005 $ chacune).

Prérequis

  • Python 3.8+
  • Bibliothèque requests
  • Une clé API Scavio de scavio.dev
  • 20 mots-clés cibles pour votre marque

Parcours

Étape 1: Définir les mots-clés et les termes de marque de l'audit

Configurer l'audit avec vos mots-clés cibles.

Python
import os, requests, json
from datetime import datetime

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

BRAND = 'scavio'
BRAND_TERMS = ['scavio', 'scavio.dev', 'scavio api']
AUDIT_KEYWORDS = [
    'best serp api', 'search api for developers', 'google search api python',
    'web scraping api alternative', 'ai agent search tool', 'mcp search server',
    'serp api pricing', 'multi platform search api', 'reddit data api',
    'tiktok analytics api', 'amazon product search api', 'youtube search api',
    'search api comparison 2026', 'best api for ai agents', 'serp data provider',
    'google results api', 'search api latency', 'web data api for startups',
    'search api free tier', 'search api mcp integration'
]
print(f'GEO/AEO Audit for "{BRAND}" across {len(AUDIT_KEYWORDS)} keywords')
print(f'Estimated cost: ${len(AUDIT_KEYWORDS) * 0.005:.2f}')

Étape 2: Exécuter les vérifications de l'audit

Interroger chaque mot-clé avec les Aperçus AI activés et vérifier les citations de marque.

Python
def audit_keyword(keyword, brand_terms):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': keyword, 'country_code': 'us',
                          'include_ai_overview': True}).json()
    ao = data.get('ai_overview', {})
    ao_text = json.dumps(ao).lower() if ao else ''
    cited = any(b.lower() in ao_text for b in brand_terms)
    organic = data.get('organic_results', [])
    position = next((r['position'] for r in organic
        if any(b in r.get('link', '').lower() for b in brand_terms)), None)
    has_fs = bool(data.get('answer_box'))
    paa = len(data.get('related_questions', []))
    return {
        'keyword': keyword, 'has_ao': bool(ao), 'brand_cited': cited,
        'organic_position': position, 'has_featured_snippet': has_fs,
        'paa_count': paa
    }

results = []
for kw in AUDIT_KEYWORDS:
    r = audit_keyword(kw, BRAND_TERMS)
    results.append(r)
    status = 'CITED' if r['brand_cited'] else 'AO' if r['has_ao'] else '---'
    pos = f'#{r["organic_position"]}' if r['organic_position'] else '-'
    print(f'  [{status:6}] {kw:35} | Organic: {pos:4} | PAA: {r["paa_count"]}')

Étape 3: Calculer le score de visibilité GEO

Agréger les résultats en un seul score de visibilité GEO.

Python
def calculate_geo_score(results):
    total = len(results)
    ao_present = sum(1 for r in results if r['has_ao'])
    brand_cited = sum(1 for r in results if r['brand_cited'])
    top_10 = sum(1 for r in results if r['organic_position'] and r['organic_position'] <= 10)
    top_3 = sum(1 for r in results if r['organic_position'] and r['organic_position'] <= 3)
    # Weighted score (0-100)
    score = (
        (brand_cited / total * 40) +  # 40% weight: AO citations
        (top_3 / total * 25) +         # 25% weight: top 3 rankings
        (top_10 / total * 20) +        # 20% weight: top 10 rankings
        (ao_present / total * 15)      # 15% weight: AO keyword coverage
    ) * 100 / 100
    return {
        'score': round(score, 1),
        'ao_presence_rate': round(ao_present / total * 100, 1),
        'citation_rate': round(brand_cited / total * 100, 1),
        'top_3_rate': round(top_3 / total * 100, 1),
        'top_10_rate': round(top_10 / total * 100, 1),
        'total_keywords': total
    }

scores = calculate_geo_score(results)
print(f'\nGEO Visibility Score: {scores["score"]}/100')
for k, v in scores.items():
    if k != 'score':
        print(f'  {k}: {v}')

Étape 4: Générer le rapport d'audit

Produire un rapport d'audit complet avec des recommandations.

Python
def geo_audit_report(results, scores):
    print(f'\n{"=" * 60}')
    print(f'GEO/AEO Audit Report - {datetime.now().strftime("%Y-%m-%d")}')
    print(f'Brand: {BRAND} | Keywords: {scores["total_keywords"]}')
    print(f'{"=" * 60}')
    print(f'\nOverall Score: {scores["score"]}/100')
    if scores['score'] >= 70: grade = 'STRONG'
    elif scores['score'] >= 40: grade = 'MODERATE'
    else: grade = 'NEEDS WORK'
    print(f'Grade: {grade}')
    print(f'\nMetrics:')
    print(f'  AI Overview presence: {scores["ao_presence_rate"]}%')
    print(f'  Brand cited in AO: {scores["citation_rate"]}%')
    print(f'  Top 3 organic: {scores["top_3_rate"]}%')
    print(f'  Top 10 organic: {scores["top_10_rate"]}%')
    # Opportunities
    uncited_ao = [r for r in results if r['has_ao'] and not r['brand_cited']]
    print(f'\nOpportunities ({len(uncited_ao)} keywords with AO but no brand citation):')
    for r in uncited_ao[:5]:
        print(f'  - {r["keyword"]} (organic #{r["organic_position"] or "not ranked"})')
    print(f'\nAudit cost: ${len(results) * 0.005:.2f}')

geo_audit_report(results, scores)

Exemple Python

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

def audit(keywords, brand):
    cited = ao = 0
    for kw in keywords:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': kw, 'country_code': 'us', 'include_ai_overview': True}).json()
        has_ao = bool(data.get('ai_overview'))
        is_cited = brand in json.dumps(data.get('ai_overview', {})).lower() if has_ao else False
        if has_ao: ao += 1
        if is_cited: cited += 1
        print(f'  {kw[:35]:35} | AO: {has_ao} | Cited: {is_cited}')
    print(f'\nAO rate: {ao}/{len(keywords)}, Citation rate: {cited}/{len(keywords)}. Cost: ${len(keywords)*0.005:.2f}')

audit(['best serp api', 'search api python'], 'scavio')

Exemple JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function audit(keywords, brand) {
  let ao = 0, cited = 0;
  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, country_code: 'us', include_ai_overview: true })
    }).then(r => r.json());
    const hasAO = !!data.ai_overview;
    const isCited = hasAO && JSON.stringify(data.ai_overview).toLowerCase().includes(brand);
    if (hasAO) ao++; if (isCited) cited++;
    console.log(`  ${kw.padEnd(35)} | AO: ${hasAO} | Cited: ${isCited}`);
  }
  console.log(`AO: ${ao}/${keywords.length}, Cited: ${cited}/${keywords.length}`);
}
audit(['best serp api', 'search api python'], 'scavio').catch(console.error);

Sortie attendue

JSON
GEO/AEO Audit for "scavio" across 20 keywords
Estimated cost: $0.10

  [CITED ] best serp api                     | Organic: #4   | PAA: 4
  [AO    ] search api for developers          | Organic: #6   | PAA: 3
  [---   ] google search api python           | Organic: #11  | PAA: 5

GEO Visibility Score: 48.5/100
Grade: MODERATE

Metrics:
  AI Overview presence: 75.0%
  Brand cited in AO: 25.0%
  Top 3 organic: 15.0%
  Top 10 organic: 55.0%

Opportunities (10 keywords with AO but no brand citation):
  - search api for developers (organic #6)
  - web scraping api alternative (organic #12)

Audit cost: $0.10

Tutoriels associés

  • Comment suivre la visibilité GEO avec une API de recherche
  • Comment surveiller les mentions de marque dans les aperçus IA
  • Comment créer une page optimisée pour la citation par les modèles d'IA

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 de scavio.dev. 20 mots-clés cibles pour votre marque. 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

Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Best Of

Meilleure API pour les outils d'audit GEO en 2026

Read more
Best Of

Meilleures API renvoyant des données AI Overview en 2026

Read more
Use Case

Audit légal des API de recherche

Read more
Glossary

Comparaison des niveaux gratuits d'API de recherche

Read more
Solution

Migrez de Brave Search API à Scavio pour une meilleure couverture

Read more

Commencer

Auditez 20 mots-clés de marque pour la présence d'Aperçus AI, évaluez votre visibilité GEO et générez un rapport d'optimisation. Python à 0,005 $/mot-clé.

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é