Exporter ses données Search Console par API : guide pour PME
API Search Console : dépasser les 1 000 lignes de l'interface, filtrer ses requêtes locales (« caen »), historiser ses positions. Guide pratique pour PME.
L’API Search Console (méthode searchAnalytics.query) renvoie les données du rapport sur les performances : clics, impressions, CTR et position, par requête, page, pays, appareil ou date. Elle renvoie jusqu’à 25 000 lignes par appel, avec pagination, dans la limite de 50 000 lignes par jour et par type de recherche. Elle permet de filtrer, de croiser requêtes et pages et d’historiser les données.
Pourquoi sortir de l’interface
Le rapport sur les performances de la Search Console suffit pour un coup d’œil. Il montre vite ses limites dès qu’on veut suivre un site dans le temps :
- les tableaux s’arrêtent à 1 000 lignes ; Google renvoie vers l’API pour en voir davantage ;
- l’historique est limité : selon l’aide Google, la Search Console conserve les données des 16 derniers mois ;
- les croisements sont limités : l’interface affiche une dimension à la fois dans le tableau, alors que l’API combine requête, page, pays et appareil dans une même réponse.
L’aide Search Console indique que l’API est sans frais, avec un quota d’utilisation, et qu’elle est compatible avec le filtrage, le tri et le type d’agrégation des rapports.
Ce que renvoie l’API
Dimensions et métriques
La requête se fait en POST sur https://www.googleapis.com/webmasters/v3/sites/{siteUrl}/searchAnalytics/query, où siteUrl est la propriété telle que déclarée dans la Search Console, par exemple sc-domain:example.com pour une propriété de domaine.
- Dimensions :
query,page,country,device,searchAppearance, ainsi quedateethourpour le regroupement. - Métriques renvoyées pour chaque ligne :
clicks,impressions,ctr(entre 0 et 1) etposition(position moyenne). - Type de recherche (
type) :webpar défaut, ouimage,video,news,discover,googleNews.
Les résultats sont triés par clics décroissants, sauf si l’on regroupe par date. La documentation précise que l’API ne garantit pas de renvoyer toutes les lignes, mais les principales.
Limites de lignes et délai des données
rowLimitva de 1 à 25 000, avec 1 000 par défaut ; on pagine avecstartRow.- La méthode expose au maximum 50 000 lignes par jour et par type de recherche.
- Les données sont en général disponibles après 2 à 3 jours, selon la documentation développeurs.
- Les dates sont exprimées en heure du Pacifique (PT).
Les quotas d’appels sont publiés sur la page « Usage Limits » de la documentation : quotas de charge à court terme (par tranches de 10 minutes) et à long terme (par jour), et limites de requêtes par site, par utilisateur et par projet. Google indique que les requêtes regroupées ou filtrées par page et par requête sont les plus coûteuses, et que la charge augmente avec la période demandée.
Les étapes, en principe
- Créer un projet dans la console Google Cloud et y activer l’API Search Console.
- Créer des identifiants OAuth 2.0. Toutes les requêtes doivent être autorisées par OAuth 2.0 ; la documentation cite les applications web, les comptes de service et les applications installées.
- Demander le bon niveau d’accès : le scope
webmasters.readonlysuffit pour lire les données. - Donner accès à la propriété.
- Lancer une première requête sur un jour, puis automatiser.
Les identifiants restent hors du code partagé et hors de tout dépôt public.
Filtrer ses requêtes locales et ses pages
Le filtre se place dans dimensionFilterGroups. Pour isoler les requêtes qui contiennent « caen », la documentation prévoit l’opérateur contains, insensible à la casse :
{
"startDate": "2026-10-15",
"endDate": "2026-10-15",
"dimensions": ["query", "page"],
"type": "web",
"dimensionFilterGroups": [{
"filters": [{
"dimension": "query",
"operator": "contains",
"expression": "caen"
}]
}],
"rowLimit": 25000
}
Autres opérateurs disponibles : equals, notContains, notEquals, et des expressions régulières RE2 avec includingRegex et excludingRegex. On peut ainsi filtrer sur une liste de communes, ou exclure les requêtes de marque.
Historiser : stocker chaque jour
Google recommande de lancer chaque jour une requête portant sur un seul jour de données : cela ne devrait pas dépasser le quota quotidien. On pagine en augmentant startRow de 25 000 jusqu’à obtenir une réponse vide. Pour connaître la dernière date disponible, la documentation conseille une requête simple regroupée par date sur les 10 derniers jours.
Stocker ces extractions dans une base permet de garder un historique au-delà des 16 mois de la Search Console et de recalculer ses indicateurs de la même façon d’un mois sur l’autre.
Mesurer l’effet d’une modification de page
C’est la méthode décrite sur ma page exploitation des données Search Console et Google Ads par API : chaque modification d’une page est datée, puis jugée sept jours plus tard sur la mesure réelle.
Exemple fictif, pour illustrer la méthode : un artisan de Caen réécrit le titre de sa page « Dépannage ». Il note la date du changement. Sept jours plus tard, il compare, pour les requêtes contenant « caen » et cette seule page, les impressions, les clics et la position moyenne aux sept jours qui précédaient. Les chiffres de cet exemple n’existent pas : il décrit la démarche, pas un résultat.
Une évolution sur sept jours reste un signal à interpréter, pas une preuve : saisonnalité, mises à jour de Google ou concurrence peuvent jouer.
Les limites des données
- Requêtes anonymisées : pour protéger la confidentialité des utilisateurs, certaines requêtes lancées un très petit nombre de fois, ou qui contiennent des données personnelles ou sensibles, ne s’affichent pas. Les tableaux du rapport les omettent, si bien que les totaux du graphique peuvent dépasser ceux des lignes.
- Données tronquées : quand on regroupe par page ou par requête, Google peut écarter une partie des données pour calculer les résultats dans un temps raisonnable.
- Position moyenne : c’est une moyenne, qui varie selon l’heure, le lieu, l’appareil et l’historique de la personne qui cherche.
La qualité de l’analyse dépend aussi de la fiabilité des données d’entrée. Côté campagnes, ces données peuvent servir à croiser SEO et Google Ads.
Sources (consultées le 22/10/2026)
- Google for Developers, « Search Analytics: query » (mise à jour du 11/08/2026) : https://developers.google.com/webmaster-tools/v1/searchanalytics/query
- Google for Developers, « Getting your performance data » : https://developers.google.com/webmaster-tools/v1/how-tos/all-your-data
- Google for Developers, « Usage Limits » : https://developers.google.com/webmaster-tools/limits
- Google for Developers, « Authorize Requests » : https://developers.google.com/webmaster-tools/v1/how-tos/authorizing
- Aide Search Console, « Exporter les données de la Search Console à l’aide de l’API Search Console » : https://support.google.com/webmasters/answer/12919192?hl=fr
- Aide Search Console, « À propos des données de la Search Console » (1 000 lignes, requêtes anonymisées, délai de 2 à 3 jours, heure de Californie) : https://support.google.com/webmasters/answer/96568?hl=fr
- Aide Search Console, « Rapport sur les performances : vue d’ensemble » : https://support.google.com/webmasters/answer/7576553?hl=fr
- Aide Google Analytics, « Associer la Search Console à Google Analytics » (conservation sur 16 mois) : https://support.google.com/analytics/answer/10737381?hl=fr
- grmy.studio, /data-ia/ (méthode « modification datée, jugée sept jours plus tard »)
Questions fréquentes
Combien de lignes peut-on exporter ?
Jusqu'à 25 000 par requête, en paginant avec startRow. La méthode expose au maximum 50 000 lignes par jour et par type de recherche (documentation Google).
L'API est-elle gratuite ?
Oui. L'aide Search Console indique qu'elle est sans frais, avec un quota d'utilisation.
Faut-il savoir coder ?
Un peu. Il faut créer un projet Google Cloud, gérer une authentification OAuth 2.0 et écrire la requête ; Google propose des bibliothèques clientes pour plusieurs langages.
Pourquoi certaines requêtes n'apparaissent pas ?
Pour protéger la confidentialité des utilisateurs, Google n'affiche pas certaines requêtes lancées un très petit nombre de fois ou contenant des informations personnelles ou sensibles. Les tableaux du rapport sur les performances les omettent (aide Search Console).
Peut-on suivre seulement les requêtes contenant « Caen » ?
Oui, avec un filtre sur la dimension query et l'opérateur contains, insensible à la casse (documentation searchAnalytics.query).
À lire aussi
-
Consent Mode v2 et bandeau cookies : la checklist d'une PME
Consent Mode v2 : mode de base ou avancé, ad_user_data, refus aussi simple que l'accord (CNIL). Vérifier bandeau et balises Google sans perdre la mesure.
Le service lié
Ces notes se rattachent à la page Data & IA.
Vos données Search Console et Google Ads dorment dans les interfaces ?
Parlons-en, tarifs sur devis
Parler de mes données ou directement hello@grmy.studio