ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un vérificateur de classement SEO par requête
Tutoriel

Comment construire un vérificateur de classement SEO par requête

Construisez un vérificateur de classement SEO qui coûte 0,005 $ par requête au lieu d'abonnements de 29 à 249 $/mois. Tutoriel Python avec l'API Scavio.

Obtenez une clé API gratuiteDocumentation API

Un post sur r/SideProject se plaignait de payer 29 $/mois pour Ahrefs Starter juste pour vérifier quelques mots-clés. Semrush commence à 139,95 $/mois. Si vous ne vérifiez que 100 à 200 mots-clés, une approche par requête avec Scavio coûte moins de 1 $/mois. Ce tutoriel construit un vérificateur de classement auto-hébergé.

Prérequis

  • Clé API Scavio
  • Python 3.8+
  • SQLite pour le suivi de l'historique

Parcours

Étape 1: Définir les mots-clés et domaines à suivre

Listez les mots-clés que vous souhaitez suivre et votre domaine.

Python
config = {
    'domain': 'mysite.com',
    'keywords': [
        'best crm for startups',
        'crm software comparison 2026',
        'affordable crm tools',
        'crm vs spreadsheet',
    ],
    'country': 'us'
}

Étape 2: Vérifier la position SERP pour chaque mot-clé

Recherchez chaque mot-clé via Scavio et trouvez votre domaine dans les résultats.

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def check_rank(keyword, domain, country='us'):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=H,
        json={'platform': 'google', 'query': keyword, 'country_code': country}).json()
    for r in data.get('organic_results', []):
        if domain in r.get('link', ''):
            return r.get('position')
    return None  # Not in top results

Étape 3: Stocker l'historique des classements dans SQLite

Suivez les positions dans le temps pour voir les tendances.

Python
import sqlite3, datetime
conn = sqlite3.connect('ranks.db')
conn.execute('CREATE TABLE IF NOT EXISTS ranks (date TEXT, keyword TEXT, position INT, url TEXT)')

def save_rank(keyword, position, url=None):
    conn.execute('INSERT INTO ranks VALUES (?, ?, ?, ?)',
        (datetime.date.today().isoformat(), keyword, position, url))
    conn.commit()

Étape 4: Générer un rapport de classement

Résumé hebdomadaire montrant les changements de position.

Python
def rank_report():
    rows = conn.execute('''SELECT keyword,
        (SELECT position FROM ranks r2 WHERE r2.keyword=r1.keyword ORDER BY date DESC LIMIT 1) as current,
        (SELECT position FROM ranks r3 WHERE r3.keyword=r1.keyword ORDER BY date DESC LIMIT 1 OFFSET 7) as prev
        FROM ranks r1 GROUP BY keyword''').fetchall()
    for kw, current, prev in rows:
        delta = (prev - current) if prev and current else 0
        arrow = '+' if delta > 0 else '-' if delta < 0 else '='
        print(f'{arrow} {kw}: #{current} (was #{prev})')

Exemple Python

Python
import os, requests, sqlite3, datetime
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
conn = sqlite3.connect('ranks.db')
conn.execute('CREATE TABLE IF NOT EXISTS ranks (date TEXT, keyword TEXT, position INT, url TEXT)')

def check_and_save(keyword, domain):
    data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': keyword}).json()
    for r in data.get('organic_results', []):
        if domain in r.get('link', ''):
            conn.execute('INSERT INTO ranks VALUES (?,?,?,?)',
                (datetime.date.today().isoformat(), keyword, r['position'], r['link']))
            conn.commit()
            return r['position']
    return None

Exemple JavaScript

JavaScript
const res = await fetch('https://api.scavio.dev/api/v1/search', {
  method: 'POST',
  headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
  body: JSON.stringify({platform: 'google', query: keyword})
});
const data = await res.json();
const rank = data.organic_results?.findIndex(r => r.link.includes(domain)) + 1 || null;

Sortie attendue

JSON
Self-hosted SEO rank checker. 4 keywords checked daily = 4 queries = $0.02/day. Monthly cost: $0.60 vs $29+ for Ahrefs Starter or $139.95 for Semrush Pro.

Tutoriels associés

  • Comment suivre les classements SEO quotidiennement avec l'API Scavio
  • Comment construire une couche API légère sur Scavio pour la facturation SEO par requête

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.

Clé API Scavio. Python 3.8+. SQLite pour le suivi de l'historique. 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

Surveillance SEO basée sur l'utilisation

Read more
Best Of

Meilleurs trackers de classement basés sur API pour le SEO en 2026

Read more
Solution

Réduction du Coût Par Requête des Outils SEO

Read more
Best Of

Meilleurs outils SEO par requête vs abonnements mensuels (2026)

Read more
Comparison

Ahrefs vs Usage-Based SEO APIs (Scavio, DataForSEO)

Read more
Solution

Construisez une couche API SEO à coût prévisible

Read more

Commencer

Construisez un vérificateur de classement SEO qui coûte 0,005 $ par requête au lieu d'abonnements de 29 à 249 $/mois. Tutoriel Python avec l'API Scavio.

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é