ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un comparateur de volume de mots-clés
Tutoriel

Comment construire un comparateur de volume de mots-clés

Comparez les estimations de volume de mots-clés entre DataForSEO, les nombres de résultats SERP de Scavio et les fourchettes de Keyword Planner. Pipeline de vérification croisée en Python.

Obtenez une clé API gratuiteDocumentation API

Aucune source unique de volume de mots-clés n'est parfaitement exacte. DataForSEO fournit des estimations de clics, Google Keyword Planner donne des fourchettes, et les nombres de résultats SERP de Scavio indiquent la concurrence de contenu. La vérification croisée entre les sources met en évidence les mots-clés où les estimations divergent et vous aide à prendre de meilleures décisions. Ce comparateur collecte des données provenant de plusieurs sources et signale les écarts.

Prérequis

  • Python 3.8+
  • bibliothèque requests
  • Une clé API Scavio provenant de scavio.dev
  • Optionnel : clé API DataForSEO pour les données de volume

Parcours

Étape 1: Configurer la collecte de données multi-sources

Configurer les clients API pour les données SERP et l'estimation de volume de Scavio.

Python
import os, requests, json, re

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

def serp_signals(keyword):
    """Get competition and volume signals from SERP results."""
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': keyword, 'country_code': 'us'}).json()
    organic = data.get('organic_results', [])
    total_results_str = data.get('search_information', {}).get('total_results', '0')
    try: total_results = int(re.sub(r'[^\d]', '', str(total_results_str)))
    except: total_results = 0
    has_ads = bool(data.get('ads', []))
    has_ao = bool(data.get('ai_overview'))
    paa_count = len(data.get('related_questions', []))
    return {
        'keyword': keyword, 'total_results': total_results,
        'organic_count': len(organic), 'has_ads': has_ads,
        'has_ai_overview': has_ao, 'paa_count': paa_count
    }

signals = serp_signals('best serp api 2026')
for k, v in signals.items():
    print(f'  {k}: {v}')

Étape 2: Estimer le volume relatif à partir des signaux SERP

Utiliser les fonctionnalités SERP pour estimer la compétitivité et le niveau de volume des mots-clés.

Python
def estimate_volume_tier(signals):
    """Estimate volume tier from SERP signals (not exact volume)."""
    score = 0
    if signals['total_results'] > 1000000: score += 3
    elif signals['total_results'] > 100000: score += 2
    elif signals['total_results'] > 10000: score += 1
    if signals['has_ads']: score += 2  # Ads = commercial intent + volume
    if signals['has_ai_overview']: score += 1  # AO = Google considers query important
    if signals['paa_count'] >= 4: score += 1
    tiers = {0: 'very_low', 1: 'low', 2: 'low', 3: 'medium',
             4: 'medium', 5: 'high', 6: 'high', 7: 'very_high'}
    tier = tiers.get(min(score, 7), 'very_high')
    return {'tier': tier, 'score': score, 'signals': signals}

keywords = ['best serp api', 'python web scraping', 'curl to python converter',
            'tiktok analytics api free', 'how to make money online']
for kw in keywords:
    signals = serp_signals(kw)
    est = estimate_volume_tier(signals)
    print(f'  {kw:35} | tier: {est["tier"]:10} | score: {est["score"]} | ads: {signals["has_ads"]} | AO: {signals["has_ai_overview"]}')

Étape 3: Comparer les mots-clés côte à côte

Classer les mots-clés par compétitivité estimée et volume pour la priorisation.

Python
def compare_keywords(keywords):
    results = []
    for kw in keywords:
        signals = serp_signals(kw)
        est = estimate_volume_tier(signals)
        results.append({**signals, **est})
    results.sort(key=lambda x: x['score'], reverse=True)
    cost = len(keywords) * 0.005
    print(f'\nKeyword Volume Comparison ({len(keywords)} keywords, ${cost:.3f}):')
    print(f'{"Keyword":35} | {"Tier":10} | {"Results":>12} | {"Ads":4} | {"AO":3} | {"PAA":3}')
    print('-' * 85)
    for r in results:
        print(f'{r["keyword"]:35} | {r["tier"]:10} | {r["total_results"]:12,} | {"Y" if r["has_ads"] else "N":4} | {"Y" if r["has_ai_overview"] else "N":3} | {r["paa_count"]:3}')
    return results

ranked = compare_keywords(keywords)

Étape 4: Générer un rapport de recherche de mots-clés

Produire un rapport de mots-clés priorisé avec des recommandations.

Python
def keyword_report(keywords):
    results = compare_keywords(keywords)
    print(f'\n=== Keyword Research Report ===')
    # Group by tier
    tiers = {}
    for r in results:
        tier = r['tier']
        if tier not in tiers: tiers[tier] = []
        tiers[tier].append(r)
    for tier in ['very_high', 'high', 'medium', 'low', 'very_low']:
        if tier in tiers:
            print(f'\n  {tier.upper()} volume ({len(tiers[tier])} keywords):')
            for r in tiers[tier]:
                opportunity = 'HIGH' if not r['has_ads'] and r['score'] >= 3 else 'MEDIUM' if r['score'] >= 2 else 'LOW'
                print(f'    {r["keyword"]:35} | opportunity: {opportunity}')
    # Quick wins: medium+ volume without ads
    quick_wins = [r for r in results if r['score'] >= 3 and not r['has_ads']]
    if quick_wins:
        print(f'\n  QUICK WINS (volume without ad competition):')
        for r in quick_wins:
            print(f'    - {r["keyword"]}')
    cost = len(keywords) * 0.005
    print(f'\n  Report cost: ${cost:.3f}')

keyword_report(keywords)

Exemple Python

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

def compare(keywords):
    for kw in keywords:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': kw, 'country_code': 'us'}).json()
        total = data.get('search_information', {}).get('total_results', 0)
        ads = bool(data.get('ads'))
        ao = bool(data.get('ai_overview'))
        print(f'{kw:30} | results: {total:>10} | ads: {ads} | AO: {ao}')
    print(f'Cost: ${len(keywords) * 0.005:.3f}')

compare(['serp api', 'web scraping tool', 'python tutorial'])

Exemple JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function compare(keywords) {
  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' })
    }).then(r => r.json());
    const total = data.search_information?.total_results || 0;
    console.log(`${kw.padEnd(30)} | results: ${total} | ads: ${!!data.ads} | AO: ${!!data.ai_overview}`);
  }
}
compare(['serp api', 'web scraping tool']).catch(console.error);

Sortie attendue

JSON
Keyword Volume Comparison (5 keywords, $0.025):
Keyword                             | Tier       |      Results | Ads  | AO  | PAA
-------------------------------------------------------------------------------------
how to make money online            | very_high  |  4,230,000,000 | Y    | Y   |   4
python web scraping                 | high       |    89,400,000 | Y    | Y   |   3
best serp api                       | medium     |    12,300,000 | Y    | N   |   4
tiktok analytics api free           | low        |     2,100,000 | N    | N   |   2
curl to python converter            | low        |     1,800,000 | N    | Y   |   1

QUICK WINS (volume without ad competition):
    - tiktok analytics api free

Report cost: $0.025

Tutoriels associés

  • Comment construire un tracker de classement de mots-clés DIY
  • Comment construire un tableau de bord SEO personnalisé avec une API de recherche
  • Comment construire un moniteur SERP concurrentiel

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 provenant de scavio.dev. Optionnel : clé API DataForSEO pour les données de volume. 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 de volume de mots clés en 2026

Read more
Best Of

Meilleure API SERP basée sur file d'attente en 2026

Read more
Use Case

Vérification du volume de mots-clés par API

Read more
Solution

Vérification croisée des volumes de mots-clés sur plusieurs API

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Solution

Comparez les coûts des API SERP selon les modèles de facturation

Read more

Commencer

Comparez les estimations de volume de mots-clés entre DataForSEO, les nombres de résultats SERP de Scavio et les fourchettes de Keyword Planner. Pipeline de vérification croisée en Python.

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é