Guide : Search Console API
Comment pull et manage Recherche Google Console données avec code — le Recherche Analytics, Inspection d’URL, Sitemaps, et Sites APIs, OAuth, quotas, et quand à utiliser BigQuery à la place.
Pour site web properties, le Recherche Google Console API exposes Recherche Analytics, Inspection d’URL, Sitemaps, et Sites resources via OAuth 2,0. Recherche Analytics renvoie up à 25 000 top lignes per requête; Inspection d’URL est capped à 2 000 requêtes/day et 600/minute per property. Search Console maintenant aussi a Instagram, TikTok, X, et YouTube plateforme properties, mais Google's actuel plateforme documentation ne fait pas specify legacy API identifiers or endpoint prise en charge, donc ce guide ne fait pas claim API compatibility pour les.
Preuve à l’appui de cette affirmation The Search Console API exposes Search Analytics, Sitemaps, Sites, and URL Inspection operations. Portée : Current Search Console API surface. Niveau de confiance : élevé · Vérifié : Google Developers: Search Console API Preuve à l’appui de cette affirmation Search Analytics results are bounded by API quotas and may omit some rows; the API does not guarantee every data row. Portée : Current Search Analytics query behavior and quotas. Niveau de confiance : élevé · Vérifié : Search Console API: Search Analytics queryTL;DR — Le Search Console API lets vous grab votre Recherche Google Console données avec code au lieu de clicking via le interface. c’est comment vous obtenir plus que le UI hands vous — le export dans le interface tops out autour 1 000 lignes, pendant que le API donne vous up à 25 000 per requête. Vous log dans avec Google (OAuth, pas a simple API clé), et vous seulement obtenir données pour sites vous avez verified.
Ce que the Search Console API is
Search Console montre vous comment votre site fait dans Google — ce que requêtes vous classer pour, comment nombreux clicks et impressions vous obtenir, si votre pages sont indexé. Le API donne vous programmatic accès à beaucoup de que même données et ceux même contrôle, donc vous pouvez feed il dans a spreadsheet, a dashboard, or a script que exécute on a schedule. c’est pas complet UI parity, though — a quelques choses (comme actif-testing une URL) seulement exist dans le interface, et having API accès or automation ne fait pas par itself guarantee indexation, rankings, trafic diagnosis, or AI-recherche visibility.
Là are four pieces:
- Recherche Analytics API — votre Performances rapport numbers (clicks, impressions, CTR, average position), broken bas par requête, page, country, device, et date.
- Inspection d’URL API — le indexer status de a unique URL. Il rapports le version currently dans Google’s indexer; le interface’s Inspection d’URL outil peut aussi exécuter a actif tester, qui le API ne peut pas faire.
- Sitemaps API — liste, submit, or delete votre sitemaps.
- Sites API — liste, ajouter, or supprimer le properties on votre account.
Plateforme-property boundary: Search Console maintenant a séparé Instagram, TikTok,
X, et YouTube properties, mais Google’s actuel plateforme documentation décrit
leur interface rapports et rapport export—pas a siteUrl identifier or prise en charge
contract pour ces legacy endpoints. Le API workflow dans ce article therefore
covers site web properties seulement. LinkedIn n’est pas a pris en charge plateforme property.
Pourquoi utiliser it au lieu de the interface
Le big un: lignes. Si vous export le Performances rapport depuis le Recherche Console interface, vous obtenir roughly 1 000 lignes. Le API renvoie up à 25 000 lignes per requête, et vous pouvez page via pour plus. Si vous avez obtenu a site avec thousands de requêtes or pages, le interface simplement ne fait pas montrer vous la plupart de votre données.
Le autre raison est automation. Une fois c’est an API appel, vous pouvez exécuter il chaque morning, dump il dans a dashboard, or alert yourself quand clicks drop.
The catch
Vous pouvez seulement pull données pour properties vous avez verified dans Search Console. Point le API à a site vous ne pas propre et vous obtenir rien back — c’est le la plupart courant beginner stumble.
Et le API ne fait pas donner vous tout. Il renvoie le top lignes, pas le complet liste, et il jamais montre vous le requêtes Google anonymizes pour privacy. Pour a big site que veut le complet picture, le meilleur outil est le bulk données export à BigQuery — plus on ce dans le Advanced version.
«> TL;DR — The Search Console API is four REST APIs under webmaster-tools/v1
Preuve à l’appui de cette affirmation The Search Console API exposes Search Analytics, Sitemaps, Sites, and URL Inspection operations. Portée : Current Search Console API surface. Niveau de confiance : élevé · Vérifié : Google Developers: Search Console API Preuve à l’appui de cette affirmation Search Analytics results are bounded by API quotas and may omit some rows; the API does not guarantee every data row. Portée : Current Search Analytics query behavior and quotas. Niveau de confiance : élevé · Vérifié : Search Console API: Search Analytics query— Search Analytics, URL Inspection, Sitemaps, Sites — all OAuth 2.0, all scoped to verified properties only. Search Analytics returns 1–25,000 rows per request (default 1,000) but “does not guarantee to return all data rows but rather top ones,” so for completeness at scale you graduate to the BigQuery bulk data export. URL Inspection is hard-capped at 2,000 QPD / 600 QPM per site — that arithmetic is what gates large-scale index monitoring.
» (Traduction) (Résumé en français de la section dix-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«This API guide is scoped to website properties. Do not assume the Sites, Search Analytics, URL Inspection, or Sitemaps endpoints support Instagram, TikTok, X, or YouTube platform properties until Google documents the identifier and endpoint contract. » (Traduction) (Résumé en français de la section dix-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«## The four APIs at a glance » (Traduction) (Résumé en français de la section dix-neuf, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Google’s own framing of what the API does: it lets you “view, add, or remove
properties and sitemaps, run advanced queries for Google Search results data for
the properties that you manage in Search Console, and test individual pages.”
That maps cleanly onto the four resources, all under webmaster-tools/v1:
» (Traduction) (Résumé en français de la section vingt, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
- Recherche Analytics API — le Performances rapport, programmatically: clicks, impressions, CTR, position par dimension (requête, page, country, device, recherche appearance, date, hour).
- Inspection d’URL API — le indexer status de a unique URL, le programmatic sibling de le Inspection d’URL outil.
- Sitemaps API — liste, obtenir, submit, et delete sitemaps.
- Sites API — liste, ajouter, et supprimer verified properties.
Il exposes beaucoup de ce que vous déjà utiliser dans le interface — le Performances rapport et le Inspection d’URL outil — as endpoints vous pouvez script contre. Il n’est pas a 1:1 mirror, though: le API ne fait pas guarantee complet UI parity (URL Inspection’s actif tester, pour instance, est UI-seulement — voir ci-dessous), et aucun API accès nor automation on son propre guarantees indexation, rankings, trafic diagnosis, or AI-recherche visibility.
Auth: OAuth 2,0, two scopes, verified properties seulement
«There’s no API key. Every call is OAuth 2.0 — Google is explicit that “all requests to the Google Search Console API must be authorized by an authenticated user.” You register an app in Google Cloud, request a scope, and get a short-lived access token. Two scopes exist: » (Traduction) (Résumé en français de la section vingt-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
https://www.googleapis.com/auth/webmasters— lire/écrire.https://www.googleapis.com/auth/webmasters.readonly— read-only.
Pour serveur-à-serveur automation (a nightly reporting job, an indexer monitor) vous grant a service account accès à le property et skip le interactive consent flow.
Pour site web properties, deux property-identifier formats matter ici aussi: une URL-prefix property est
réussi as a complet property URL (Google’s propre exemple est http://www.example.com/),
et a Domain property utilise le sc-domain:example.com formulaire — vous ont à réussir
whichever formulaire matches comment le property est verified dans Search Console. Soit
façon, le service account (or utilisateur) nécessite à être granted accès à que exact
property; c’est pas a bypass pour ownership or a blanket grant à travers chaque
property on le account.
«And the gate that trips everyone up: “You must have appropriate access (owner, full, read) to any Google Search Console account that you wish to access using the API.” Call the API for a property you’re not verified on and it returns nothing — not an error you’ll necessarily notice, just empty data. » (Traduction) (Résumé en français de la section vingt-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Search Analytics API — the Performances report, at scale
«Start with the ceiling, not the convenience: Google’s own caveat is that “The
API is bounded by internal limitations of Search Console and does not
guarantee to return all data rows but rather top ones.” Pagination extends
how far you can page into that top-rows list — it doesn’t remove the ceiling.
When you need every row, that’s the cue to reach for BigQuery bulk export
(below), not a bigger rowLimit.
» (Traduction) (Résumé en français de la section trente, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Dans que ceiling, ce est encore le un la plupart personnes come pour. Le raison il
beats le interface est le rowLimit parameter: “[Optional; Valide range est
1–25 000; Par défaut est 1 000].” Le interface export caps near 1 000 lignes; le
API donne vous up à 25 000 per requête, et vous paginate past que avec
startRow. On a site avec a long tail de requêtes, c’est le difference
entre seeing le top de votre données et seeing plus de il — encore pas tout de
il.
Deux plus choses shape ce que comes back. Premier, dataState contrôle freshness:
final (le par défaut) renvoie seulement finalized données, all inclut fresh,
recently collected données, et hourly_all donne hourly breakdowns que sont
explicitly partiel — la réponse metadata flags a first_incomplete_date or
first_incomplete_hour, et Google notes valeurs après que point peut encore
modifier. Deuxième, Recherche Analytics quotas ne sont pas a unique number: le usage
limites page splits les dans charger limites (a resource-based allowance
mesuré dans 10-minute et 1-day chunks — wider date ranges, plus dimensions,
et heavier filtering tout draw il bas faster) et le QPS/QPM/QPD
requête-rate limites covered ci-dessous. Vous pouvez hit le charger ceiling avant vous
hit la requête-rate ceiling.
Inspection d’URL API — et le quota que en réalité constrains vous
«The URL Inspection API “view[s] the indexed, or indexable, status of the provided URL. Presently only the status of the version in the Google index is available; you cannot test the indexability of a live URL.” That last clause is a real scope limit, not a technicality: the interface’s URL Inspection tool can run a live test against the page as it exists right now; the API can only report on the version Google already has indexed. Use the API to build index-coverage monitoring across many URLs — not as a substitute for the UI’s live test. » (Traduction) (Résumé en français de la section trente-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Ici’s où le math matters. Per site, vous obtenir 2 000 requêtes per day et 600 per minute. (Per project le ceiling est far plus élevé — 10 000 000/day et 15 000/minute — mais le per-site cap est ce que bites.) Si vous vouloir à monitor le indexer status de a 50 000-URL site, vous pouvez’t inspect les tout dans a day; vous batch et schedule à travers days, or vous prioritize. Quelques posts faire ce arithmetic, et c’est le unique biggest planning constraint on grand-scale indexer monitoring.
Par contrast, Recherche Analytics est generous — 1 200 QPM per site et per utilisateur — et le autre resources (Sitemaps, Sites) sit à 20 QPS / 200 QPM per utilisateur. URL Inspection est le tight un.
Sitemaps and Sites APIs
Le Sitemaps API est le management couche pour votre sitemaps: il “submits a
sitemap pour a site,” “deletes a sitemap depuis ce site,” “retrieves
information à propos de a spécifique sitemap,” et “listes le sitemaps-entries submitted
pour ce site, or inclus dans le sitemap indexer fichier.” Le sitemap resource il
renvoie inclut champs comme path, lastSubmitted, isPending,
isSitemapsIndex, lastDownloaded, warnings, errors, et a contents
array — handy pour auditing sitemap health à scale.
Le Sites API listes, ajoute, et supprime verified properties — utile si vous manage nombreux properties et vouloir à provision or audit les programmatically.
Quand to utiliser BigQuery bulk export à la place
«For large sites, the API’s 25,000-rows-per-request, top-rows-only model becomes a ceiling. Google’s answer isn’t a fifth API resource that returns the same shape of data — it’s a separate, scheduled export pipeline: the bulk data export to BigQuery. Think of the choice as pull vs. scheduled push, not “API A vs. API B.” Google’s own framing: “Schedule a daily export of your Search Console performance data to BigQuery, where you can run complex queries over your data or export it to an external storage service. Using the bulk data export feature, you’ll see all the performance data available to Search Console for your property, with the exception of anonymized queries.” » (Traduction) (Résumé en français de la section quarante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«That’s the decision rule: » (Traduction) (Résumé en français de la section quarante-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Interface export — ~1,000 rows, quick one-off look. » (Traduction) (Résumé en français de la section quarante-trois, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- Search Analytics API — up to 25,000 rows/request, paginate, scriptable; great for moderate on-demand pulls and dashboards. » (Traduction) (Résumé en français de la section quarante-trois, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- BigQuery bulk export — all available performance data, daily, no row cap; the right tool once you’ve got tens of thousands of pages or queries. » (Traduction) (Résumé en français de la section quarante-trois, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«The one thing none of them give you is anonymized queries — the terms Google hides for privacy. That’s a real gap, not a bug you can work around. I know the scale of it firsthand: as Ahrefs’ Brand Ambassador I helped surface a study where we pulled all the data available from the API across a very large sample of sites and found Google hides the keyword term on a large share of clicks. We later built that into Ahrefs Rank Tracker — full history of your GSC data, the percent of clicks going to anonymized queries, and a custom CTR curve built from your own numbers. When someone tells you the API returns “all your data,” that anonymized slice is the honest asterisk. » (Traduction) (Résumé en français de la section quarante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Courant utiliser cas
- Automated reporting — scheduled pulls dans Sheets or a warehouse.
- BI dashboards — Looker Studio or BigQuery on top de le Performances données.
- Grand-scale indexer/coverage monitoring — Inspection d’URL, batched dans le 2 000/day quota.
- CTR curve building — model attendu CTR par position depuis votre propre données.
- Anomaly alerting — flag click/impression drops automatiquement.
Ce est aussi comment tiers outils fonctionner: quand Ahrefs or a Looker Studio connector “integrates Search Console,” ils sont appel ces même APIs (et increasingly, le BigQuery export) on votre behalf.
AI summary
A condensed prendre on the Avancé version:
«- The Search Console API = four REST APIs under webmaster-tools/v1: Search
Analytics (Performance data), URL Inspection (index status), Sitemaps, and
Sites. It’s not full UI parity — a few things, like URL Inspection’s live
test, only exist in the interface, and API access alone doesn’t guarantee
indexing, rankings, or traffic diagnosis.
» (Traduction) (Résumé en français de la section cinquante-deux, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Auth is OAuth 2.0, no API key. Two scopes (webmasters,
webmasters.readonly); service accounts for server-to-server, but they still
need explicit access to the exact property. siteUrl takes either a
URL-prefix property or a sc-domain:example.com Domain property — match how
it’s verified. The API only returns data for properties you’ve
verified — the #1 beginner gotcha.
» (Traduction) (Résumé en français de la section cinquante-deux, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Search Analytics returns top rows first, not a complete dump — “does not
guarantee to return all data rows but rather top ones,” regardless of
pagination. Within that ceiling: 1–25,000 rows per request (default
1,000), vs ~1,000 in the interface export, and quotas split into load limits
and QPS/QPM/QPD request-rate limits.
» (Traduction) (Résumé en français de la section cinquante-deux, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- URL Inspection: 2,000 queries/day, 600/minute per site, and it reports
only the indexed version — it can’t run a live test. That quota is the real
constraint on large-scale index monitoring — batch and schedule around it.
» (Traduction) (Résumé en français de la section cinquante-deux, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Sitemaps API lists/gets/submits/deletes sitemaps; Sites API
lists/adds/removes properties.
» (Traduction) (Résumé en français de la section cinquante-deux, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«- For large sites, use the BigQuery bulk data export — a separate
scheduled pipeline (not a fifth API resource) giving all available
performance data daily, no row cap, except anonymized queries.
» (Traduction) (Résumé en français de la section cinquante-deux, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Anonymized queries are a genuine gap no API or export fills — Patrick’s
Ahrefs work quantified how large that hidden slice is.
» (Traduction) (Résumé en français de la section cinquante-deux, sous-partie sept : le texte source est conservé pour vérification lors de la relecture francophone.)
«## Official documentation » (Traduction) (Résumé en français de la section cinquante-cinq, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Primary-source documentation from Google. » (Traduction) (Résumé en français de la section cinquante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Search Console API reference
» (Traduction) (Résumé en français de la section cinquante-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Search Console API — Overview / about — what the API does and the verified-property requirement.
» (Traduction) (Résumé en français de la section cinquante-sept, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Search Analytics: query reference — the rowLimit (1–25,000) and dimension parameters.
» (Traduction) (Résumé en français de la section cinquante-sept, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- URL Inspection API reference — what index-status data the inspect method returns.
» (Traduction) (Résumé en français de la section cinquante-sept, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Sitemaps API reference — list, get, submit, delete.
» (Traduction) (Résumé en français de la section cinquante-sept, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Sites API reference — list, add, remove verified properties.
» (Traduction) (Résumé en français de la section cinquante-sept, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Usage limits — the full per-site, per-user, and per-project quota table.
» (Traduction) (Résumé en français de la section cinquante-sept, sous-partie sept : le texte source est conservé pour vérification lors de la relecture francophone.)
«- Authorizing requests (OAuth 2.0) — scopes and the auth flow.
» (Traduction) (Résumé en français de la section cinquante-sept, sous-partie huit : le texte source est conservé pour vérification lors de la relecture francophone.)
«Bulk data export » (Traduction) (Résumé en français de la section cinquante-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- About bulk data export (Search Console Help) — schedule a daily BigQuery export of all performance data except anonymized queries. » (Traduction) (Résumé en français de la section cinquante-huit, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- Bulk data export announcement (Search Central blog) — the launch post positioning bulk export for large sites. » (Traduction) (Résumé en français de la section cinquante-huit, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«## Quotes from the source » (Traduction) (Résumé en français de la section soixante et un, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
On-le-record statements depuis Google’s documentation. Chaque lien est a deep lien que jumps à le quoted passage on le page source.
Google — ce que le API fait et qui peut utiliser il
«- “view, add, or remove properties and sitemaps, run advanced queries for Google Search results data for the properties that you manage in Search Console, and test individual pages.” — Google Search Console API docs (Overview). Jump to quote » (Traduction) (Résumé en français de la section soixante-quatre, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.) «- “You must have appropriate access (owner, full, read) to any Google Search Console account that you wish to access using the API.” — Google Search Console API docs (Overview). Jump to quote » (Traduction) (Résumé en français de la section soixante-quatre, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.) «- “All requests to the Google Search Console API must be authorized by an authenticated user.” — Authorizing requests guide. Jump to quote » (Traduction) (Résumé en français de la section soixante-quatre, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
Google — Search Analytics API
«- “[Optional; Valid range is 1–25,000; Default is 1,000]” — the rowLimit parameter.
— Search Analytics: query reference.
Jump to quote
» (Traduction) (Résumé en français de la section soixante-six, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “The URL of the property as defined in Search Console.” — the siteUrl parameter, whose examples give both the URL-prefix form (http://www.example.com/) and the Domain-property form (sc-domain:example.com).
— Search Analytics: query reference.
Jump to quote
» (Traduction) (Résumé en français de la section soixante-six, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- “The API is bounded by internal limitations of Search Console and does not guarantee to return all data rows but rather top ones.”
— Search Analytics: query reference.
Jump to quote
» (Traduction) (Résumé en français de la section soixante-six, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
Google — Inspection d’URL API
«- “View the indexed, or indexable, status of the provided URL. Presently only the status of the version in the Google index is available; you cannot test the indexability of a live URL.” — URL Inspection API reference. Jump to quote » (Traduction) (Résumé en français de la section soixante-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Google — Sitemaps API
«- “Submits a sitemap for a site.” / “Deletes a sitemap from this site.” / “Lists the sitemaps-entries submitted for this site, or included in the sitemap index file.” — Sitemaps API reference. Jump to quote » (Traduction) (Résumé en français de la section soixante-dix, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
Google — bulk données export
- “Schedule a daily export de votre Search Console performance données à BigQuery… vous’ll voir tous le performance données disponible à Search Console pour votre property, avec le exception de anonymized requêtes.” — Search Console Aider: À propos de bulk données export. Jump à citation
«## OAuth setup & first-call checklist » (Traduction) (Résumé en français de la section soixante-seize, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«Getting from zero to a working Search Console API call: » (Traduction) (Résumé en français de la section soixante-dix-sept, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Confirm you have verified access (owner, full, or read) to the property
in Search Console — the API returns nothing for unverified properties.
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Create a project in the Google Cloud Console.
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie deux : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Enable the Search Console API for that project.
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie trois : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Create credentials: an OAuth 2.0 client (for interactive/user apps) or a
service account (for server-to-server automation).
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie quatre : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] If using a service account, grant it access to the property in Search
Console settings.
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie cinq : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Request the right scope: webmasters.readonly for reporting,
webmasters if you’ll submit sitemaps or manage properties.
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie six : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Obtain an access token via the OAuth flow (or service-account key).
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie sept : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Confirm the siteUrl format matches how the property is verified:
a full URL for a URL-prefix property, or sc-domain:example.com for a
Domain property.
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie huit : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Make a test call to searchAnalytics.query with a small date range and
rowLimit: 10 to confirm data comes back.
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie neuf : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] Plan around quotas: Search Analytics request rates are generous but
also draw down a separate load quota; URL Inspection is capped at
2,000/day, 600/min per site — batch accordingly. Don’t expect URL
Inspection to run a live test — that’s UI-only.
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie dix : le texte source est conservé pour vérification lors de la relecture francophone.)
«- [ ] For tens of thousands of rows, set up the BigQuery bulk export instead
of paginating.
» (Traduction) (Résumé en français de la section soixante-dix-huit, sous-partie onze : le texte source est conservé pour vérification lors de la relecture francophone.)
The mental models
1. Four APIs, un auth. Recherche Analytics (lire votre Performances données), Inspection d’URL (lire une URL’s indexer status), Sitemaps (manage sitemaps), Sites (manage properties). Tout four go via le même OAuth 2,0 door et respect le même verified-property règle.
2. Le données-scale ladder. Pick le outil par volume:
- Rapide regarder → interface export (~1 000 lignes).
- Scriptable, moderate → Recherche Analytics API (up à 25 000/requête, paginate).
- Grand site, complet → BigQuery bulk export (tout données, daily, aucun ligne cap). Déplacer up le ladder quand le rung ci-dessous arrête fitting votre données.
3. Top lignes, pas tout lignes. Internalize que le API renvoie “top ones,” pas tout, et que anonymized requêtes sont excluded depuis les deux le API et le export. Si completeness matters, BigQuery est closer — mais le anonymized slice est gone regardless.
4. Quota arithmetic avant vous construire. Avant designing an indexer monitor, faire le math: Inspection d’URL est 2 000/day per site. A 50k-URL site ne peut pas être inspected daily — donc batch, prioritize, or schedule à travers days. Design autour le cap, ne pas découvrir il dans production.
«## Search Console API — cheat sheet » (Traduction) (Résumé en français de la section quatre-vingt-huit, sous-partie un : le texte source est conservé pour vérification lors de la relecture francophone.)
The four APIs and leur clé limites
| API | Ce que it fait | Clé limite / quota |
|---|---|---|
| Search Analytics | Performances données (clicks, impressions, CTR, position) by dimension | rowLimit 1–25 000/requête (par défaut 1 000); 1 200 QPM per site & per utilisateur plus a separate charger quota; “top rows” seulement |
| Inspection d’URL | Index status of un URL (aucun live tester — UI-only) | 2 000 QPD / 600 QPM per site (10M QPD / 15 000 QPM per project) |
| Sitemaps | Liste / obtenir / submit / delete sitemaps | 20 QPS / 200 QPM per utilisateur |
| Sites | Liste / ajouter / supprimer verified properties | 20 QPS / 200 QPM per utilisateur |
Auth
- OAuth 2,0 seulement — aucun API clé.
- Scopes:
webmasters(lire/écrire),webmasters.readonly(lire). - Service accounts pour server-to-server (grant les property accès).
- Seulement verified properties retourner données.
Rapide facts
- API renvoie top lignes seulement — pas guaranteed complet — regardless de pagination.
- Interface export caps near 1 000 lignes; API donne up à 25 000/requête,
paginate avec
startRow. - Recherche Analytics quotas split dans charger limites (resource-based, 10-min / 1-day chunks) et le QPS/QPM/QPD requête-rate limites ci-dessus.
siteUrltakes une URL-prefix property (http://www.example.com/) or a Domain property (sc-domain:example.com) — match comment c’est verified.- Inspection d’URL rapports le indexé version seulement — il ne peut pas exécuter a actif tester; c’est UI-seulement.
- Anonymized requêtes sont excluded depuis le API et le BigQuery export.
- Pour tens de thousands de lignes → BigQuery bulk données export — a séparé scheduled pipeline, pas a fifth API resource.
- Exposes beaucoup de le Performances rapport (Recherche Analytics) et le URL Inspection outil, mais n’est pas complet UI parity.
A minimal Search Analytics requête
Ce est illustrative, pas copy-paste-ready — vous’ll besoin à wire up votre propre
OAuth credentials et adjust le dates et property. Il montre le shape de a
searchAnalytics.query appel: le corps de la requête avec a date range, le dimensions
vous vouloir, et le rowLimit.
Le corps de la requête (le partie que matters)
{
"startDate": "2026-05-01",
"endDate": "2026-05-31",
"dimensions": ["query", "page"],
"rowLimit": 25000,
"startRow": 0
}Sketch dans Python (avec le google-api-python-client library)
# Illustrative only — assumes you've already built an authorized `service`
# via OAuth 2.0 (scope: webmasters.readonly) or a service account.
from googleapiclient.discovery import build
service = build("searchconsole", "v1", credentials=creds)
request = {
"startDate": "2026-05-01",
"endDate": "2026-05-31",
"dimensions": ["query", "page"],
"rowLimit": 25000, # max per request; default is 1000
"startRow": 0, # bump by 25000 to paginate
}
response = service.searchanalytics().query(
siteUrl="https://example.com/", # URL-prefix property; use "sc-domain:example.com"
# instead for a Domain property — must be verified
body=request,
).execute()
for row in response.get("rows", []):
print(row["keys"], row["clicks"], row["impressions"])À go past 25 000 lignes, loop et increment startRow par 25 000 jusqu’à une requête
renvoie aucun lignes. Remember le résultat est encore “top lignes,” pas a complet dump —
pour que, utiliser le BigQuery bulk export.
Outils que utiliser (or wrap) le Search Console API
- Google Cloud Console — où vous créer le project, enable le API, et mint OAuth/service-account credentials.
- Official client libraries — Google API client libraries pour Python, Java, JavaScript/Node, PHP, et .NET wrap le REST calls.
- BigQuery — le destination pour le bulk données export; requête tout votre performances données avec SQL.
- Looker Studio — connects à Search Console (et BigQuery) pour dashboards construit on le même données.
- Ahrefs — integrates le Search Console API; son Classer Tracker montre complet GSC history, le share de clicks going à anonymized requêtes, et a custom CTR curve depuis votre propre données.
- Search Console interface — le Performances rapport et Inspection d’URL outil sont le manual counterparts à le Recherche Analytics et Inspection d’URL APIs, avec un gap le API ne peut pas fermer: seulement le interface outil peut exécuter a actif tester on une URL.
Prompts pour planning Search Console API fonctionner
Utiliser ces prompts à shape code or an analysis plan. Garder credentials, refresh tokens, et service-account keys out de quelconque chat entrée.
Design a Search Analytics requête
Paste votre property URL, date range, dimensions, filters, et reporting goal.
Design a Google Search Console Search Analytics API request for the following reporting task.
Property: [sc-domain:example.com or exact URL-prefix property]
Date range: [start and end]
Goal: [the question the report must answer]
Dimensions: [date, query, page, country, device, searchAppearance, or hour]
Filters: [include/exclude rules]
Return:
1. The request body, including a rowLimit no higher than 25,000.
2. Pagination logic using startRow.
3. The aggregation and grouping needed after retrieval.
4. Warnings about top-rows-only data and anonymized queries.
5. A small validation query I can run before scheduling the full pull.
Do not invent credentials or assume the result is a complete census.Plan a quota-safe Inspection d’URL schedule
Paste a CSV summary or counts by URL priority plutôt que confidential tokens.
Create a quota-safe sampling and scheduling plan for the Search Console URL Inspection API.
Property: [property]
Total URLs: [count]
Priority groups: [critical templates, new URLs, changed URLs, long-tail sample]
Required revisit cadence: [daily, weekly, monthly]
Constraints from this article:
- 2,000 inspection queries per day per site.
- 600 inspection queries per minute per site.
- The API reports the indexed version, not a live test.
Return a daily allocation by priority group, a rotation method, retry/backoff rules,
and alerts for unexpected index or canonical states. Explain what cannot fit inside
the quota instead of silently dropping it.Choisir API versus BigQuery export
Help me choose between the Search Console interface, Search Analytics API, and BigQuery bulk export.
Reporting need: [one-off analysis, dashboard, warehouse, anomaly alerts]
Expected rows per day: [estimate]
History required: [range]
Refresh cadence: [cadence]
Dimensions needed: [list]
Infrastructure available: [spreadsheet, script runner, BigQuery, BI tool]
Compare setup cost, row/completeness limits, automation, and maintenance. Account for
the API returning top rows and for anonymized queries being absent from every path.
End with one recommendation and the smallest proof-of-concept to validate it. Ressources utiles
Mon connexe fonctionner
- Ahrefs blog — mon posts — notamment le fonctionner on GSC données à scale et anonymized requêtes.
- Maintenant dans Ahrefs Classer Tracker: complet GSC history + anonymized-requête share — le CTR-curve et GSC-history fonctionnalité Je announced.
Google’s docs
- Search Console API overview et le usage limites page — le deux pages à bookmark premier.
- À propos de bulk données export — quand et comment déplacer à BigQuery.
Depuis others
- Hidden mots-clés dans GSC — le Ahrefs study (Moteur de recherche Journal coverage) — tiers écrire-up de le anonymized-requête findings.
- Enhanced Search Console analytics avec BigQuery (SEJ) — a practical regarder à le bulk-export chemin.
- Bulk données export: a nouveau et powerful façon à accès votre Search Console données (Recherche Google Central blog) — le Feb 2023 launch post depuis le Search Console team positioning bulk export pour grand sites.
- google-api-python-client (PyPI) — le official Python client library utilisé à appel le Search Console API; aussi disponible pour Node, Java, PHP, et .NET via le Google APIs client library family.
- r/TechSEO — le community pour API et données-pull troubleshooting.
Stats worth citing
- Recherche Analytics ligne limite: 25 000 per requête (par défaut 1 000) — versus le interface export’s ~1 000-ligne cap. Ce est le core raison à utiliser le API. Source
- Inspection d’URL quota: 2 000 requêtes/day et 600/minute per site — le difficile ceiling on grand-scale indexer monitoring (10M/day, 15 000/min per project). Source
- Anonymized requêtes sont excluded depuis même le la plupart complet chemin (BigQuery bulk export) — a réel, unavoidable gap dans votre requête données. Source
- Google hides le mot-clé term on a grand share de clicks — depuis le Ahrefs study Je helped surface, qui pulled tout disponible données depuis le API à travers a very grand sample de sites. Coverage
Testez vos connaissances: Search Console API
Five rapide questions on le APIs, authentication, données limites, et scale. Pick an réponse pour chaque, alors vérifier votre résultat.
Journal des modifications
Mis à jour le 30 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.
Mis à jour le 18 juil. 2026.
Résumé éditorial et détails enregistrés des changements.Détails des changements
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
-
Les notes détaillées des changements sont actuellement disponibles en anglais.
Comparaison complète indisponible — aucun instantané antérieur n’a été archivé pour cette révision.