ScavioScavio
ProduitTarifsDocumentation
ConnexionCommencer
  1. Accueil
  2. Tutoriels
  3. Comment construire un tableau de bord SEO avec des API brutes
Tutoriel

Comment construire un tableau de bord SEO avec des API brutes

Construisez un tableau de bord SEO en utilisant des appels bruts à l'API SERP au lieu d'outils SEO coûteux. Suivez les classements, les fonctionnalités SERP et les concurrents.

Obtenez une clé API gratuiteDocumentation API

SEMrush et Ahrefs facturent 100 à 450 $/mois pour des tableaux de bord SEO. Vous pouvez construire les mêmes fonctionnalités de base avec des appels bruts à l'API SERP à 0,005 $/requête. Ce tutoriel construit un suivi de classement, un moniteur de fonctionnalités SERP et un tableau de bord de comparaison des concurrents. 100 vérifications quotidiennes de mots clés coûtent 0,50 $/jour.

Prérequis

  • Python 3.8+
  • bibliothèque requests
  • Une clé API Scavio depuis scavio.dev
  • Liste des mots clés cibles et des domaines concurrents

Parcours

Étape 1: Construire un suivi de classement de mots clés

Suivez quotidiennement la position de votre domaine pour les 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'}

DOMAIN = 'yourdomain.com'
KEYWORDS = ['search api for agents', 'serp api python', 'web search api 2026', 'mcp search tool']

def check_rank(keyword, domain):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': keyword, 'country_code': 'us'}).json()
    organic = data.get('organic_results', [])
    for i, r in enumerate(organic):
        if domain in r.get('link', ''):
            return {'position': i + 1, 'title': r.get('title', ''), 'link': r.get('link', '')}
    return {'position': None, 'title': '', 'link': ''}

print(f'=== Rank Tracker - {DOMAIN} - {datetime.now().strftime("%Y-%m-%d")} ===')
ranks = []
for kw in KEYWORDS:
    result = check_rank(kw, DOMAIN)
    pos = f'#{result["position"]}' if result['position'] else 'Not in top 10'
    print(f'  {kw:40} | {pos}')
    ranks.append({'keyword': kw, **result})
print(f'\nCost: ${len(KEYWORDS) * 0.005:.3f}')

Étape 2: Surveiller les fonctionnalités SERP par mot clé

Détectez les aperçus IA, les extraits optimisés, les boîtes PAA et les packs locaux.

Python
def serp_features(keyword):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': keyword, 'country_code': 'us'}).json()
    features = []
    if data.get('ai_overview') or data.get('answer_box'):
        features.append('AI Overview')
    if data.get('featured_snippet'):
        features.append('Featured Snippet')
    if data.get('people_also_ask'):
        features.append(f'PAA ({len(data["people_also_ask"])} questions)')
    if data.get('local_results'):
        features.append(f'Local Pack ({len(data["local_results"])} results)')
    if data.get('shopping_results'):
        features.append('Shopping')
    return features

print(f'\n=== SERP Features ===')
for kw in KEYWORDS:
    features = serp_features(kw)
    print(f'  {kw:40} | {" | ".join(features) if features else "Organic only"}')

Étape 3: Comparer avec les concurrents

Vérifiez les positions des concurrents pour les mêmes mots clés.

Python
COMPETITORS = ['tavily.com', 'serpapi.com', 'serper.dev']

def competitor_comparison(keywords, domain, competitors):
    print(f'\n=== Competitor Comparison ===')
    header = f'{"Keyword":30} | {domain:15}'
    for c in competitors:
        header += f' | {c:15}'
    print(header)
    print('-' * len(header))
    for kw in keywords:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=SH, json={'query': kw, 'country_code': 'us'}).json()
        organic = data.get('organic_results', [])
        positions = {}
        for i, r in enumerate(organic):
            link = r.get('link', '')
            if domain in link:
                positions[domain] = i + 1
            for c in competitors:
                if c in link:
                    positions[c] = i + 1
        row = f'{kw[:30]:30} | {str(positions.get(domain, "-")):15}'
        for c in competitors:
            row += f' | {str(positions.get(c, "-")):15}'
        print(row)
    total_queries = len(keywords)
    print(f'\nCost: ${total_queries * 0.005:.3f} (competitors checked in same query)')

competitor_comparison(KEYWORDS, DOMAIN, COMPETITORS)

Exemple Python

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

def rank_check(keyword, domain):
    data = requests.post('https://api.scavio.dev/api/v1/search',
        headers=SH, json={'query': keyword, 'country_code': 'us'}).json()
    for i, r in enumerate(data.get('organic_results', [])):
        if domain in r.get('link', ''):
            return i + 1
    return None

for kw in ['search api', 'serp api python']:
    pos = rank_check(kw, 'scavio.dev')
    print(f'{kw}: #{pos}' if pos else f'{kw}: not found')
print('Cost: $0.010')

Exemple JavaScript

JavaScript
const SH = { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' };
async function rankCheck(keyword, domain) {
  const data = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: SH,
    body: JSON.stringify({ query: keyword, country_code: 'us' })
  }).then(r => r.json());
  const pos = (data.organic_results || []).findIndex(r => r.link?.includes(domain));
  console.log(`${keyword}: ${pos >= 0 ? '#' + (pos+1) : 'not found'}`);
}
await rankCheck('search api', 'scavio.dev');

Sortie attendue

JSON
=== Rank Tracker - yourdomain.com ===
  search api for agents                    | #3
  serp api python                          | #5
  web search api 2026                      | #2
  mcp search tool                          | Not in top 10

Cost: $0.020

=== SERP Features ===
  search api for agents                    | AI Overview | PAA (4 questions)
  serp api python                          | Featured Snippet

=== Competitor Comparison ===
Keyword                        | yourdomain.com  | tavily.com      | serpapi.com
search api for agents          | 3               | 7               | 4

Tutoriels associés

  • Comment construire un tableau de bord SEO personnalisé avec une API de recherche
  • Comment construire un tracker de classement de mots-clés DIY
  • Comment construire un tracker de classement économique avec l’API Scavio Search

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 depuis scavio.dev. Liste des mots clés cibles et des domaines concurrents. 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

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

Read more
Best Of

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

Read more
Use Case

API brute pour tableau de bord SEO

Read more
Solution

Construisez un suivi de classement local fiable avec l'API Scavio

Read more
Glossary

Paysage des fournisseurs d'API de recherche (2026)

Read more
Comparison

Semrush API vs Raw SERP API

Read more

Commencer

Construisez un tableau de bord SEO en utilisant des appels bruts à l'API SERP au lieu d'outils SEO coûteux. Suivez les classements, les fonctionnalités SERP et les concurrents.

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é