Créez votre propre outil de suivi de position SEO avec une SERP API
Les outils de suivi de position prêts à l'emploi sont une boîte noire que vous louez par mot-clé. Connectez une SERP API à une base de données vous-même et vous possédez la profondeur géographique, la capture d'Aperçu IA, et les alertes — pour une fraction du prix.
Les outils de suivi de position commerciaux facturent par mot-clé et vous fournissent un tableau de bord que vous ne pouvez pas interroger. Créez le vôtre sur une SERP API et vous inversez cela : vous possédez les instantanés SERP bruts, choisissez exactement quels géos et appareils suivre, capturez les parties de la page de résultats qui décident maintenant de la visibilité — Aperçus IA, Questions Posées, le pack local — et connectez les alertes à ce que vous utilisez déjà. C'est un tutoriel complet : le schéma, l'exécution quotidienne, la capture d'Aperçu IA et de PAA, la comparaison et les alertes, et les pièges de 2026 qui cassent les outils naïfs. Il fonctionne sur la QuantumProxies SERP API, donc il n'y a pas de pool de proxies à gérer.
Le piège qui a remodelé le suivi de position
Deux changements font qu'un outil moderne semble différent de celui de 2020. Premièrement, Google a supprimé le paramètre &num=100, vous ne pouvez donc plus obtenir 100 résultats en une seule requête — vous paginez environ dix à la fois, ce qui change la profondeur que vous pouvez vous permettre de suivre et rend une API efficace obligatoire plutôt qu'optionnelle. Deuxièmement, la page de résultats n'est plus une simple liste de dix liens bleus : un Aperçu IA peut se placer au-dessus de tout et répondre directement à la requête, les boîtes de Questions Posées et les extraits en vedette absorbent les clics, et le pack local détient l'intention commerciale. Suivre un simple numéro de position en ignorant cela, c'est suivre la mauvaise chose. Notre explication sur comment fonctionne le scraping SERP en 2026 couvre en profondeur les conséquences du num=100.
Étape 1 : un schéma conçu pour la comparaison
Tout le système est un instantané quotidien que vous comparez à celui d'hier, donc le schéma est orienté instantané : une ligne par mot-clé, géo, appareil et jour, avec les données de classement et les fonctionnalités SERP stockées à côté. Gardez l'Aperçu IA et les PAA comme colonnes structurées pour pouvoir les interroger directement.
CREATE TABLE serp_snapshot (
id bigserial PRIMARY KEY,
keyword text NOT NULL,
country text NOT NULL, -- gl: us, gb, de...
city text, -- optional city-level
device text NOT NULL, -- desktop | mobile
position int, -- your domain's best rank, null = not found
landing_url text,
aio_present boolean NOT NULL, -- AI Overview shown?
aio_cited boolean NOT NULL, -- did it cite your domain?
paa jsonb, -- People Also Ask questions
top3 jsonb, -- who owns positions 1-3
captured_at date NOT NULL,
UNIQUE (keyword, country, city, device, captured_at)
);
Étape 2 : l'exécution géographique quotidienne
La boucle principale itère vos mots-clés à travers chaque géo et appareil cible, appelle la SERP API une fois par combinaison, et trouve la meilleure position de votre domaine. Comme l'API renvoie du JSON analysé et gère la rotation, le géo et le blocage en interne, cela reste une boucle simple — pas de navigateur sans tête, pas de code de rotation de proxy, pas de gestion de CAPTCHA. Réglez gl pour le pays et un emplacement pour le niveau de la ville, et les résultats reviennent déjà localisés.
import requests, datetime
QP = "https://api.quantumproxies.io/serp"
HEAD = {"Authorization": f"Bearer {QP_KEY}"}
def run_keyword(keyword, country, device="desktop", city=None):
params = {"engine": "google", "q": keyword,
"gl": country, "device": device, "num": 20}
if city:
params["location"] = city
data = requests.get(QP, headers=HEAD, params=params, timeout=45).json()
pos, url = None, None
for r in data.get("organic", []):
if "yourdomain.com" in r["link"]:
pos, url = r["position"], r["link"]
break
return data, pos, url
Obtenez une clé SERP API pour alimenter votre outil de suivi

Étape 3 : capture des Aperçus IA et PAA
C'est là qu'un outil fait maison bat les commerciaux bon marché, dont la plupart rapportent encore seulement les dix liens. Un Aperçu IA peut pousser votre résultat organique sous la ligne de flottaison même lorsque vous "classez" troisième, et être cité à l'intérieur de l'Aperçu IA est maintenant sa propre métrique de visibilité qui vaut la peine d'être suivie séparément. Récupérez à la fois la présence de l'AIO et s'il fait référence à votre domaine, et stockez les questions PAA — elles servent aussi d'idées fraîches de mots-clés et de contenu.
def extract_features(data, domain="yourdomain.com"):
aio = data.get("ai_overview") or {}
aio_present = bool(aio)
aio_cited = any(domain in s.get("link", "")
for s in aio.get("sources", []))
paa = [q["question"] for q in data.get("people_also_ask", [])]
top3 = [r["link"] for r in data.get("organic", [])[:3]]
return aio_present, aio_cited, paa, top3
Suivre la citation AIO au fil du temps devient rapidement la métrique SEO phare — notre guide sur la capture de la présence d'Aperçu IA de manière programmatique approfondit les signaux qui valent la peine d'être enregistrés. Exécutez le même mot-clé depuis plusieurs pays et vous verrez les classements et les citations AIO diverger par géo, ce qui est exactement pourquoi les exécutions au niveau de la ville sont importantes pour quiconque ayant une empreinte locale ou internationale, comme couvert dans la surveillance des changements SERP à l'échelle mondiale.

Étape 4 : comparaison et alerte
Un outil de suivi que personne ne lit est un fichier journal. La valeur réside dans l'alerte — un message au moment où quelque chose bouge. Après chaque exécution, comparez le nouvel instantané à celui de la veille et déclenchez les changements qui comptent : une baisse de trois positions ou plus, gagner ou perdre une citation d'Aperçu IA, un concurrent entrant dans le top trois, ou une URL tombant de la première page. Envoyez-les à Slack, par email ou via un webhook pour que l'équipe SEO soit informée d'une baisse avant que le rapport de trafic ne le fasse.
def diff_and_alert(kw, geo, today, yesterday):
alerts = []
if yesterday.position and today.position:
if today.position - yesterday.position >= 3:
alerts.append(f"{kw} [{geo}] dropped "
f"{yesterday.position} -> {today.position}")
if yesterday.aio_cited and not today.aio_cited:
alerts.append(f"{kw} [{geo}] lost its AI Overview citation")
if today.position and today.position > 10 and \
(yesterday.position or 0) <= 10:
alerts.append(f"{kw} [{geo}] fell off page one")
for a in alerts:
notify(a) # -> Slack / email / webhook
Planification et honnêteté sur le volume
Exécutez le tout sur un cron quotidien, idéalement à une heure cohérente pour que les comparaisons jour après jour soient comparables. Soyez réaliste sur l'échelle : mots-clés multipliés par pays multipliés par villes multipliés par appareils est votre véritable nombre de requêtes, et cela croît rapidement — cent mots-clés à travers cinq pays sur deux appareils, c'est mille appels SERP par jour. La SERP API facture par requête, donc suivez les combinaisons sur lesquelles vous agirez réellement plutôt que tout ce qui est imaginable. Si vous intégrez cela dans un produit plutôt qu'un outil interne, notre article sur le choix d'une SERP API pour les outils AI et SEO couvre l'économie par requête. Les mêmes endpoints sont disponibles via notre serveur MCP si vous préférez lancer les exécutions depuis un agent.
Questions fréquemment posées
Comment puis-je créer un outil de suivi de position avec une SERP API ?
Stockez un instantané par mot-clé, géo, appareil et jour ; appelez la SERP API une fois par combinaison pour obtenir des résultats analysés ; extrayez la position de votre domaine plus les données d'Aperçu IA et de PAA ; puis comparez chaque jour avec le précédent et alertez sur les mouvements significatifs. L'API gère les proxies, le géo et le blocage, donc votre code reste une boucle planifiée sur une base de données.
Puis-je encore obtenir 100 résultats par requête ?
Pas en une seule requête — Google a supprimé le paramètre num=100, donc les résultats viennent environ dix par page et un suivi plus profond signifie pagination. Pour la plupart des suivis, vous n'avez besoin que des 20 premiers environ, ce qui maintient le volume et le coût des requêtes bas. Une SERP API qui pagine pour vous cache ce détail derrière un seul appel.
Comment puis-je suivre la présence d'Aperçu IA ?
Capturez deux éléments par exécution : si un Aperçu IA est apparu pour la requête, et s'il a cité votre domaine parmi ses sources. Stockez les deux comme champs séparés pour pouvoir suivre la tendance des citations au fil du temps — être référencé à l'intérieur de l'Aperçu IA est maintenant sa propre métrique de visibilité, distincte de votre position organique.
À quelle fréquence un outil de suivi de position doit-il fonctionner ?
Quotidien est la norme pour le SEO, à une heure cohérente pour que les comparaisons soient comparables. Les termes volatils ou de grande valeur peuvent justifier des exécutions deux fois par jour ; les termes stables et de faible priorité conviennent à une exécution hebdomadaire. Adaptez la fréquence à la vitesse à laquelle le mot-clé bouge réellement et à votre budget de requêtes SERP-API, puisque mots-clés multipliés par géos multipliés par appareils est votre véritable moteur de coût.
Un outil de suivi de position est un schéma, un appel SERP quotidien, et une comparaison — l'effet de levier réside dans la possession des trois. Capturez la position, les Aperçus IA et les PAA à travers les géos qui vous intéressent, alertez sur les mouvements réels, et vous avez un outil de suivi qui coûte une fraction des commerciaux et répond à des questions qu'ils ne vous laissent jamais poser.
Créez votre outil de suivi de position sur la QuantumProxies SERP API