ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un outil d'audit SEO avec analyse SERP et concurrentielle
Tutoriel

Comment construire un outil d'audit SEO avec analyse SERP et concurrentielle

Construisez un outil d'audit SEO léger en Python en utilisant l'API Scavio. Analysez les fonctionnalités SERP, les positions des concurrents et les écarts de contenu pour tout ensemble de mots-clés cibles.

Obtenez une clé API gratuiteDocumentation API

Un outil d'audit SEO examine comment un site et ses concurrents se comportent dans les résultats de recherche pour un ensemble de mots-clés cibles. Il vérifie quelles fonctionnalités SERP sont présentes (extraits optimisés, aperçus IA, boîtes PAA), où se classent les concurrents et quels écarts de contenu existent. Les outils SEO d'entreprise coûtent des milliers d'euros par mois. Ce tutoriel construit un outil d'audit léger utilisant l'API Scavio qui produit un rapport actionnable mot-clé par mot-clé gratuitement, au-delà des coûts d'utilisation de l'API.

Prérequis

  • Python 3.10 ou supérieur
  • bibliothèque requests installée
  • Une clé API Scavio
  • Un domaine cible et une liste de mots-clés à auditer

Parcours

Étape 1: Définir les cibles d'audit

Configurez votre domaine cible, les domaines concurrents et la liste de mots-clés à auditer.

Python
TARGET = "mysite.com"
COMPETITORS = ["competitor-a.com", "competitor-b.com"]
KEYWORDS = ["python api tutorial", "rest api guide", "api authentication best practices"]

Étape 2: Récupérer les données SERP complètes pour chaque mot-clé

Récupérez la réponse SERP complète incluant les résultats organiques, l'extrait optimisé, l'aperçu IA et la PAA.

Python
def audit_keyword(keyword: str) -> dict:
    r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY},
                      json={"query": keyword, "country_code": "us"})
    r.raise_for_status()
    return r.json()

Étape 3: Analyser les fonctionnalités et positions SERP

Pour chaque mot-clé, vérifiez quelles fonctionnalités SERP sont présentes et où se classent le domaine cible et les concurrents.

Python
def analyze(keyword: str, data: dict) -> dict:
    organic = data.get("organic_results", [])
    target_pos = next((r["position"] for r in organic if TARGET in r.get("link", "")), None)
    competitor_pos = {}
    for c in COMPETITORS:
        pos = next((r["position"] for r in organic if c in r.get("link", "")), None)
        competitor_pos[c] = pos
    return {
        "keyword": keyword,
        "target_position": target_pos,
        "competitors": competitor_pos,
        "has_featured_snippet": bool(data.get("featured_snippet")),
        "has_ai_overview": bool(data.get("ai_overview")),
        "paa_count": len(data.get("people_also_ask", [])),
    }

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

Exécutez l'audit pour tous les mots-clés et affichez un rapport récapitulatif formaté.

Python
def run_audit() -> None:
    print(f"SEO Audit for {TARGET}\n" + "=" * 40)
    for kw in KEYWORDS:
        data = audit_keyword(kw)
        result = analyze(kw, data)
        pos = result["target_position"]
        print(f"\n{kw}")
        print(f"  Your rank: {'#' + str(pos) if pos else 'not ranked'}")
        print(f"  AI Overview: {result['has_ai_overview']}, PAA: {result['paa_count']}")

Exemple Python

Python
import os
import requests

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"
TARGET = "mysite.com"
KEYWORDS = ["python api tutorial", "rest api guide"]

def fetch(q): 
    r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY},
                      json={"query": q, "country_code": "us"})
    r.raise_for_status()
    return r.json()

def analyze(kw, data):
    organic = data.get("organic_results", [])
    pos = next((r["position"] for r in organic if TARGET in r.get("link", "")), None)
    return {"keyword": kw, "position": pos, "ai_overview": bool(data.get("ai_overview")), "paa": len(data.get("people_also_ask", []))}

if __name__ == "__main__":
    for kw in KEYWORDS:
        result = analyze(kw, fetch(kw))
        print(f"{kw}: {'#' + str(result['position']) if result['position'] else 'not ranked'} | AI: {result['ai_overview']} | PAA: {result['paa']}")

Exemple JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const ENDPOINT = "https://api.scavio.dev/api/v1/search";
const TARGET = "mysite.com";
const KEYWORDS = ["python api tutorial", "rest api guide"];

async function fetch_(q) {
  const res = await fetch(ENDPOINT, {
    method: "POST",
    headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ query: q, country_code: "us" })
  });
  return res.json();
}

function analyze(kw, data) {
  const organic = data.organic_results || [];
  const match = organic.find(r => r.link.includes(TARGET));
  return { keyword: kw, position: match?.position || null, aiOverview: !!data.ai_overview, paa: (data.people_also_ask || []).length };
}

async function main() {
  for (const kw of KEYWORDS) {
    const data = await fetch_(kw);
    const r = analyze(kw, data);
    console.log(`${r.keyword}: ${r.position ? "#" + r.position : "not ranked"} | AI: ${r.aiOverview} | PAA: ${r.paa}`);
  }
}
main().catch(console.error);

Sortie attendue

JSON
SEO Audit for mysite.com
========================================

python api tutorial
  Your rank: #6
  AI Overview: true, PAA: 4

rest api guide
  Your rank: not ranked
  AI Overview: false, PAA: 3

Tutoriels associés

  • Comment suivre les classements SEO quotidiennement avec l'API Scavio
  • Comment automatiser l'analyse de la concurrence avec des API de recherche

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.10 ou supérieur. bibliothèque requests installée. Une clé API Scavio. Un domaine cible et une liste de mots-clés à auditer. 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

Use Case

Migration d'outil SEO AppSumo vers API

Read more
Best Of

Meilleure API pour tableaux de bord SEO personnalisés en 2026

Read more
Best Of

Meilleure API pour le reporting SEO d'agence en 2026

Read more
Use Case

API brute pour tableau de bord SEO

Read more
Glossary

Modèle de tableau de bord API SEO

Read more
Comparison

Semrush API vs Raw SERP API

Read more

Commencer

Construisez un outil d'audit SEO léger en Python en utilisant l'API Scavio. Analysez les fonctionnalités SERP, les positions des concurrents et les écarts de contenu pour tout ensemble de mots-clés cibles.

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é