Guides

Semrush API Développeur : comment j’automatise mes workflows SEO avec l’API

Nicolas Fabre

Nicolas Fabre

Consultant SEO senior

|
calendar_today
|
schedule 5 min de lecture

Semrush API Développeur : comment j’automatise mes workflows SEO avec l’API

L’semrush api développeur est l’outil qui me permet de travailler à une échelle impossible manuellement. Dans mes audits clients, quand un site a 50 000 pages ou qu’un client veut surveiller 2 000 mots-clés, les interfaces graphiques Semrush ont leurs limites. L’API lève ces contraintes.

Ce guide s’adresse aux consultants SEO, développeurs et growth hackers qui veulent automatiser leurs workflows Semrush via l’API REST.

🔍 Trouvez le meilleur outil SEO pour votre site

Comparez Semrush, Ahrefs, SE Ranking et Ubersuggest. Essais gratuits disponibles.

Voir le comparatif SEO 2026 →

L’API Semrush : vue d’ensemble technique

Architecture de l’API

Semrush propose deux types d’API :

API REST classique (la plus utilisée) :

API Reporting :

Modèle de crédits API

L’API Semrush fonctionne avec un système de crédits (API units) :

Consommation typique :

Exemples pratiques en Python

Installation et configuration

import requests
import pandas as pd

API_KEY = "votre_cle_api_semrush"
BASE_URL = "https://api.semrush.com/"

def semrush_request(endpoint, params):
    params['key'] = API_KEY
    response = requests.get(BASE_URL + endpoint, params=params)
    if response.status_code == 200:
        return response.text
    else:
        raise Exception(f"Erreur API: {response.status_code}")

Exemple 1 : Récupérer les positions organiques d’un domaine

def get_domain_organic_keywords(domain, country="fr", limit=100):
    """Récupère les mots-clés organiques d'un domaine"""
    params = {
        'type': 'domain_organic',
        'domain': domain,
        'database': country,
        'display_limit': limit,
        'export_columns': 'Ph,Po,Nq,Cp,Co,Td',
        'display_sort': 'nq_desc'
    }

    data = semrush_request('', params)
    # Parse le CSV retourné
    lines = data.strip().split('n')
    headers = lines[0].split(';')
    rows = [line.split(';') for line in lines[1:]]

    df = pd.DataFrame(rows, columns=headers)
    return df

# Utilisation
keywords_df = get_domain_organic_keywords('example.com')
print(f"Nombre de mots-clés trouvés: {len(keywords_df)}")

Exemple 2 : Analyse de gap de mots-clés

def keyword_gap_analysis(my_domain, competitor_domain, country="fr"):
    """Trouve les mots-clés du concurrent absents chez vous"""

    # Mots-clés de mon domaine
    my_keywords = set(get_domain_organic_keywords(my_domain)['Keyword'].tolist())

    # Mots-clés du concurrent
    comp_keywords = set(get_domain_organic_keywords(competitor_domain)['Keyword'].tolist())

    # Gaps : présents chez le concurrent, absents chez moi
    gaps = comp_keywords - my_keywords

    return list(gaps)

# Utilisation
gaps = keyword_gap_analysis('my-site.com', 'competitor.com')
print(f"Opportunités de mots-clés identifiées: {len(gaps)}")

Exemple 3 : Surveillance quotidienne automatique

import json
from datetime import datetime

def daily_monitoring_report(domains_to_track, alert_threshold=20):
    """Génère un rapport quotidien de monitoring"""
    report = {
        'date': datetime.now().strftime('%Y-%m-%d'),
        'domains': {}
    }

    for domain in domains_to_track:
        keywords_data = get_domain_organic_keywords(domain, limit=10)

        report['domains'][domain] = {
            'total_keywords': len(keywords_data),
            'top_keywords': keywords_data.head(5).to_dict(),
        }

    # Sauvegarde du rapport
    with open(f"seo_report_{report['date']}.json", 'w') as f:
        json.dump(report, f, ensure_ascii=False, indent=2)

    print(f"Rapport généré : seo_report_{report['date']}.json")
    return report

Cas d’usage avancés que j’automatise pour mes clients

Monitoring concurrent automatique (cron quotidien)

J’ai mis en place pour plusieurs clients un script cron qui tourne chaque matin :

  1. Récupère les top 100 mots-clés organiques de 5 concurrents
  2. Détecte les changements de position > 5 places
  3. Identifie les nouveaux mots-clés entrants dans leur top 10
  4. Envoie une alerte Slack si changements significatifs

Le test que j’ai mené montre que ce monitoring automatique détecte les mouvements concurrentiels 48 à 72h plus vite que la veille manuelle hebdomadaire.

Reporting client automatisé

Chaque premier du mois, un script Semrush API génère automatiquement :

Ce rapport est directement injecté dans un template Google Data Studio. Résultat : 4 heures de reporting mensuel éliminées, remplacées par 15 minutes de vérification et commentaire.

Audit de masse pour grandes migrations

Pour les migrations SEO de sites avec 100 000+ URLs, l’API permet de :

Sans l’API, ce type d’audit est humainement impossible en temps raisonnable.

Bonnes pratiques et limitations

Gestion du rate limiting : Semrush limite les requêtes API. Implémentez un délai de 0.5 à 1 seconde entre requêtes et gérez les erreurs 429 (Too Many Requests).

Optimiser la consommation de crédits : n’extrayez que les colonnes nécessaires (export_columns paramètre), limitez les résultats par requête avec display_limit.

Sécurité : ne committez jamais votre clé API dans Git. Utilisez les variables d’environnement.

Cache local : pour les données peu volatiles (Authority Score, volumes mensuels), mettez en cache localement pour éviter des requêtes redondantes.

Où trouver l’API Semrush ?

La clé API est disponible dans votre compte Semrush sous Profile > API. La documentation complète est sur developers.semrush.com avec des exemples pour Python, PHP, JavaScript et d’autres langages.


Articles connexes

A lire aussi

Top 5 Outils SEO 2026
Notre classement independant
Notre Methodologie
312 heures de tests reels
Tous nos Articles
Guides et strategies SEO
Nicolas Fabre
By Nicolas Fabre

Nicolas Fabre est consultant SEO indépendant depuis 7 ans, certifié Google Analytics et Semrush. Passionné par la data et les algorithmes de Google, il a accompagné plus de 80 clients PME/startups dans leur stratégie de référencement naturel. Sur comparatif-seo.com, il compare objectivement les outils SEO avec des données issues de ses propres audits.

 ·  Last updated: 7 April 2026

Nicolas Fabre

A propos de l'auteur

Nicolas Fabre

Consultant SEO senior

Consultant SEO senior avec plus de 10 ans d'expérience. Nicolas testé et analyse les outils SEO pour vous aider a faire les meilleurs choix pour votre referencement.

article 400+ articles publiés · verified 15 outils testés
monitoring

Decouvrez notre Top 5 des meilleurs outils SEO 2026

Nous avons testé et comparé les meilleurs outils SEO du marché pour vous aider a choisir la solution adaptee a vos besoins.

Voir le comparatif arrow_forward

Articles similaires

Guides

Semrush pour la recherche vocale : préparer votre SEO pour 2025

💡 This article contains affiliate links. I earn a commission if you purchase through these links, at no extra cost...

calendar_today
Guides

Semrush Sensor : mon outil de veille pour les turbulences Google

By Nicolas Fabre Published 1 September 2025Semrush Sensor : mon outil de veille pour les turbulences Google Chaque fois que...

calendar_today
Guides

5 alternatives à Semrush testées sur clients réels : mon comparatif honnête

Semrush à 139,95€/mois n’est pas accessible à tous les budgets. J’ai testé 5 alternatives sérieuses sur des projets clients réels....

calendar_today
Recommandé par ContentLab Hub — Comparatifs outils SaaS indépendants
↑
Ce site contient des liens affiliés. En utilisant ces liens, vous ne payez pas plus cher mais nous percevons une commission qui nous aide à maintenir ce site.