Search Console APIとSEO
コードでGoogle Search Consoleデータを取得・管理する方法 — Search Analytics、URL Inspection、Sitemaps、Sites API、OAuth、割り当て、そしてBigQueryを使うべき場合について。
言語
ウェブサイトプロパティの場合、Google Search Console APIはOAuth 2,0を通じてSearch Analytics、URL Inspection、Sitemaps、Sitesリソースを公開します。Search Analyticsはリクエストごとに最大25 000行の上位行を返します。URL Inspectionはプロパティごとに1日2 000クエリ、1分あたり600回に制限されています。Search Consoleには現在、Instagram、TikTok、X、YouTubeのプラットフォームプロパティもありますが、Googleの現在のプラットフォームドキュメントではレガシーAPI識別子やエンドポイントのサポートが指定されていないため、このガイドではそれらのAPI互換性を主張しません。
Evidence for this claim The Search Console API exposes Search Analytics, Sitemaps, Sites, and URL Inspection operations. Scope: Current Search Console API surface. Confidence: high · Verified: Google Developers: Search Console API Evidence for this claim Search Analytics results are bounded by API quotas and may omit some rows; the API does not guarantee every data row. Scope: Current Search Analytics query behavior and quotas. Confidence: high · Verified: Search Console API: Search Analytics queryTL;DR — Search Console APIを使えば、Google Search Consoleのデータを、インターフェースをクリックして操作する代わりにコードで取得できます。UIが提供する以上のデータを取得するための方法です。インターフェースでのエクスポートは約1 000行が上限ですが、APIではリクエストごとに最大25 000行を取得できます。Googleアカウントでログインし(単純なAPIキーではなくOAuth)、検証済みのサイトのデータのみを取得できます。
Search Console APIとは
Search Consoleは、サイトがGoogleでどのように表示されているかを示します。どのクエリでランクインしているか、クリック数やインプレッション数、ページがインデックスされているかどうかなどです。APIを使うと、同じデータやコントロールの多くにプログラムからアクセスでき、スプレッドシートやダッシュボード、スケジュール実行されるスクリプトに取り込むことができます。ただし、UIと完全に同等というわけではありません。URLのライブテストなど一部の機能はインターフェースにしかなく、APIアクセスや自動化があっても、それ自体でインデックス、ランキング、トラフィック診断、AI検索での可視性が保証されるわけではありません。
4つのAPIがあります。
- Search Analytics API — パフォーマンスレポートの数値(クリック数、インプレッション数、CTR、平均掲載順位)を、クエリ、ページ、国、デバイス、日付で分類して取得できます。
- URL Inspection API — 単一URLのインデックスステータスを取得します。Googleのインデックスに現在登録されているバージョンを報告します。インターフェースのURL検査ツールではライブテストも実行できますが、APIでは実行できません。
- Sitemaps API — サイトマップの一覧表示、送信、削除ができます。
- Sites API — アカウント上のプロパティの一覧表示、追加、削除ができます。
プラットフォームプロパティの境界: Search Consoleには現在、Instagram、TikTok、X、YouTubeの各プロパティがありますが、Googleの現在のプラットフォームドキュメントでは、これらのインターフェースレポートとレポートのエクスポートについて説明されており、これらのレガシーエンドポイントのsiteUrl識別子やサポート契約については説明されていません。したがって、この記事のAPIワークフローはウェブサイトプロパティのみを対象としています。LinkedInはサポートされているプラットフォームプロパティではありません。
インターフェースではなくAPIを使う理由
最大の理由は行数です。Search Consoleのインターフェースからパフォーマンスレポートをエクスポートすると、約1 000行しか取得できません。APIはリクエストごとに最大25 000行を返し、ページングでさらに取得できます。クエリやページが数千あるサイトの場合、インターフェースではデータの大部分を表示できません。
もう1つの理由は自動化です。API呼び出しになれば、毎朝実行してダッシュボードに取り込んだり、クリック数が減少したときにアラートを出したりできます。
注意点
取得できるのは、Search Consoleで検証済みのプロパティのデータのみです。所有していないサイトにAPIを向けても何も返ってきません。これは初心者が最もよくつまずく点です。
And the API doesn’t give you everything. It returns the top rows, not the full list, and it never shows you the queries Google anonymizes for privacy. For a big site that wants the complete picture, the better tool is the bulk data export to BigQuery — more on that in the Advanced version.
Evidence for this claim The Search Console API exposes Search Analytics, Sitemaps, Sites, and URL Inspection operations. Scope: Current Search Console API surface. Confidence: high · Verified: Google Developers: Search Console API Evidence for this claim Search Analytics results are bounded by API quotas and may omit some rows; the API does not guarantee every data row. Scope: Current Search Analytics query behavior and quotas. Confidence: high · Verified: Search Console API: Search Analytics queryTL;DR — Search Console APIは、
webmaster-tools/v1配下の4つのREST APIです。Search Analytics、URL Inspection、Sitemaps、Sitesの4つで、すべてOAuth 2,0、すべて検証済みプロパティのみにスコープされます。Search Analyticsはリクエストごとに1〜25 000行(デフォルトは1 000行)を返しますが、「すべてのデータ行を保証するものではなく、上位の行を返す」ため、大規模な完全性を求める場合はBigQuery一括データエクスポートに移行します。URL Inspectionはサイトごとに2 000 QPD / 600 QPMでハードキャップされています。この計算が大規模なインデックス監視の制約となります。
このAPIガイドはウェブサイトプロパティを対象としています。Googleが識別子とエンドポイントの契約を文書化するまで、Sites、Search Analytics、URL Inspection、Sitemapsの各エンドポイントがInstagram、TikTok、X、YouTubeのプラットフォームプロパティをサポートしていると想定しないでください。
4つのAPIの概要
Google自身によるAPIの説明は次のとおりです。「Search Consoleで管理しているプロパティのプロパティとサイトマップを表示、追加、削除し、Google検索結果データの高度なクエリを実行し、個々のページをテストすることができます。」 これは、webmaster-tools/v1 の下にある4つのリソースに明確に対応しています。
- Search Analytics API — パフォーマンスレポートをプログラムで操作: クリック数、インプレッション数、CTR、ディメンション(クエリ、ページ、国、デバイス、検索表示、日付、時間)ごとの掲載順位。
- URL Inspection API — 単一URLのインデックスステータス。URL検査ツールのプログラム版。
- Sitemaps API — サイトマップの一覧表示、取得、送信、削除。
- Sites API — 検証済みプロパティの一覧表示、追加、削除。
このAPIは、インターフェースで既に使用している機能(パフォーマンスレポートやURL検査ツール)の多くを、スクリプトで操作できるエンドポイントとして公開しています。ただし、完全に1対1で対応しているわけではありません。APIはUIとの完全な同等性を保証していません(たとえば、URL検査のライブテストはUIのみで、後述します)。また、APIアクセスや自動化自体が、インデックス、ランキング、トラフィック診断、AI検索での可視性を保証するものではありません。
認証: OAuth 2,0、2つのスコープ、検証済みプロパティのみ
APIキーはありません。すべての呼び出しはOAuth 2,0です。Googleは*「Google Search Console APIへのすべてのリクエストは、認証されたユーザーによって承認される必要があります」*と明示しています。Google Cloudでアプリを登録し、スコープをリクエストし、短期間有効なアクセストークンを取得します。スコープは2つあります。
https://www.googleapis.com/auth/webmasters— 読み取り/書き込み。https://www.googleapis.com/auth/webmasters.readonly— 読み取り専用。
サーバー間の自動化(夜間のレポートジョブ、インデックスモニター)では、サービスアカウントにプロパティへのアクセスを許可し、インタラクティブな同意フローをスキップします。
ウェブサイトプロパティの場合、ここでも2つのプロパティ識別子形式が重要です。URLプレフィックスプロパティは完全なプロパティURLとして渡されます(Google自身の例は http://www.example.com/ です)。ドメインプロパティは sc-domain:example.com 形式を使用します。Search Consoleでプロパティが検証されている方法に一致する形式を渡す必要があります。いずれの場合も、サービスアカウント(またはユーザー)には、その正確なプロパティへのアクセスが許可されている必要があります。これは所有権のバイパスや、アカウント上のすべてのプロパティへの包括的な許可ではありません。
そして、誰もがつまずくゲートは次のとおりです。「APIを使用してアクセスするGoogle Search Consoleアカウントには、適切なアクセス権(所有者、フル、読み取り)が必要です。」 検証されていないプロパティに対してAPIを呼び出すと、何も返されません。必ずしも気付くエラーではなく、単に空のデータが返されるだけです。
Search Analytics API — パフォーマンスレポートを大規模に
利便性ではなく上限から始めましょう。Google自身の注意書きは次のとおりです。「APIはSearch Consoleの内部的な制限に拘束され、すべてのデータ行を返すことを保証するものではなく、上位の行を返すものです。」 ページネーションは、その上位行リストをどこまでページングできるかを拡張しますが、上限をなくすわけではありません。すべての行が必要な場合は、より大きな rowLimit ではなく、BigQuery一括エクスポート(後述)を利用するのが適切です。
その上限内であれば、これが最も多くの人が求めるものです。インターフェースよりも優れている理由は、rowLimit パラメータ: 「[オプション; 有効な範囲は1〜25,000; デフォルトは1,000]」 です。インターフェースのエクスポートは約1 000行で上限に達しますが、APIはリクエストごとに最大25 000行を提供し、startRow でそれを超えてページングできます。クエリのロングテールがあるサイトでは、データの上位だけを見るのと、より多くを見るのとの違いがあります。それでもすべてではありません。
さらに、結果を左右する要素が2つあります。まず、dataState が鮮度を制御します。final(デフォルト)は確定済みデータのみを返し、all は新しく収集されたデータを含み、hourly_all は明示的に部分的な時間別の内訳を提供します。レスポンスのメタデータは first_incomplete_date または first_incomplete_hour をフラグし、Google はその時点以降の値は変更される可能性があると注記しています。次に、Search Analytics の割り当ては単一の数値ではありません。使用量制限ページでは、これらを負荷制限(10分単位と1日単位で測定されるリソースベースの許容量で、日付範囲が広いほど、ディメンションが多いほど、フィルタリングが重いほど、消費が速くなります)と、後述の QPS/QPM/QPD リクエストレート制限に分割しています。リクエストレートの上限に達する前に、負荷の上限に達する可能性があります。
URL Inspection API — そして実際に制約となる割り当て
URL Inspection API は、「提供された URL のインデックス済み、またはインデックス可能なステータスを表示します。現在、Google インデックス内のバージョンのステータスのみが利用可能です。ライブ URL のインデックス可能性をテストすることはできません。」 この最後の節は、技術的な問題ではなく、実際のスコープ制限です。インターフェースの URL Inspection ツールは、現在存在するページに対してライブテストを実行できますが、API は Google がすでにインデックスしているバージョンのみを報告できます。API を使用して、多数の URL にわたるインデックスカバレッジの監視を構築してください。UI のライブテストの代わりとしてではなく。
ここで計算が重要になります。サイトごとに、1日あたり2 000クエリ、1分あたり600クエリを利用できます。(プロジェクトごとの上限ははるかに高く、1日あたり10 000 000、1分あたり15 000ですが、サイトごとの上限が実際に影響します。)50 000 URL のサイトのインデックスステータスを監視したい場合、1日ですべてを検査することはできません。複数日にわたってバッチ処理とスケジュール設定を行うか、優先順位を付ける必要があります。この計算を行う投稿はほとんどなく、これは大規模なインデックス監視における最大の計画上の制約です。
対照的に、Search Analytics は寛大です(サイトごと、ユーザーごとに1 200 QPM)。他のリソース(Sitemaps、Sites)はユーザーごとに20 QPS / 200 QPM です。URL Inspection が厳しいものです。
Sitemaps および Sites API
Sitemaps API は、サイトマップの管理レイヤーです。「サイトのサイトマップを送信し」、「このサイトからサイトマップを削除し」、「特定のサイトマップに関する情報を取得し」、「このサイトに送信されたサイトマップエントリ、またはサイトマップインデックスファイルに含まれるサイトマップエントリを一覧表示します。」 返されるサイトマップリソースには、path、lastSubmitted、isPending、isSitemapsIndex、lastDownloaded、warnings、errors、contents 配列などのフィールドが含まれ、大規模なサイトマップの健全性を監査するのに便利です。
Sites API は、確認済みプロパティを一覧表示、追加、削除します。多数のプロパティを管理し、プログラムでプロビジョニングまたは監査したい場合に便利です。
代わりに BigQuery 一括エクスポートを使用する場合
大規模なサイトの場合、API のリクエストあたり25 000行、上位行のみというモデルが上限になります。Google の答えは、同じ形状のデータを返す5番目の API リソースではなく、別のスケジュールされたエクスポートパイプライン、つまり BigQuery への一括データエクスポートです。この選択は、「API A と API B」ではなく、プルとスケジュールされたプッシュの選択と考えてください。Google 自身の説明:「Search Console のパフォーマンスデータを BigQuery に毎日エクスポートするようにスケジュールし、そこでデータに対して複雑なクエリを実行したり、外部ストレージサービスにエクスポートしたりできます。一括データエクスポート機能を使用すると、匿名化されたクエリを除いて、プロパティで Search Console に利用可能なすべてのパフォーマンスデータを確認できます。」
これが決定ルールです:
- インターフェースエクスポート — 約1 000行、迅速な一回限りの確認。
- Search Analytics API — リクエストあたり最大25 000行、ページネーション、スクリプト可能。中程度のオンデマンド取得やダッシュボードに最適。
- BigQuery 一括エクスポート — 利用可能なすべてのパフォーマンスデータ、毎日、行数上限なし。数万ページまたはクエリがある場合に適したツール。
どのツールも提供してくれないのは、匿名化されたクエリです。これはGoogleがプライバシーのために隠している検索語です。これは回避できるバグではなく、本当のギャップです。私はその規模を直接知っています。Ahrefsのブランドアンバサダーとして、非常に大規模なサイトサンプルにわたってAPIから利用可能なすべてのデータを取得し、Googleがクリックの大部分でキーワードを隠していることを発見した調査の発表を支援しました。その後、これをAhrefs Rank Trackerに組み込みました。GSCデータの完全な履歴、匿名化されたクエリに送られるクリックの割合、そして自社の数値から構築したカスタムCTRカーブです。誰かがAPIが「すべてのデータ」を返すと言ったとき、その匿名化された部分が正直な但し書きです。
一般的なユースケース
- 自動レポート — Sheetsやデータウェアハウスへのスケジュール取得。
- BIダッシュボード — Performanceデータの上にLooker StudioやBigQueryを構築。
- 大規模なインデックス/カバレッジ監視 — URL Inspectionを2 000件/日のクォータ内でバッチ処理。
- CTRカーブ構築 — 自社データからポジション別の期待CTRをモデル化。
- 異常アラート — クリック/インプレッションの低下を自動的にフラグ付け。
これはサードパーティツールの動作方法でもあります。AhrefsやLooker Studioコネクタが「Search Consoleと統合」するとき、それらはあなたの代わりにこれらの同じAPI(そしてますますBigQueryエクスポート)を呼び出しています。
AIまとめ
Advancedバージョンの簡潔な見解:
- Search Console API = 4つのREST APIが
webmaster-tools/v1の下にあります。Search Analytics(Performanceデータ)、URL Inspection(インデックスステータス)、Sitemaps、Sitesです。UIとの完全なパリティではありません。URL Inspectionのライブテストなど一部の機能はインターフェースにのみ存在し、APIアクセスだけではインデックス、ランキング、トラフィック診断を保証しません。 - 認証はOAuth 2,0で、APIキーは不要です。 2つのスコープ(
webmasters、webmasters.readonly)。サーバー間通信用のサービスアカウントもありますが、正確なプロパティへの明示的なアクセスが依然として必要です。siteUrlはURLプレフィックスプロパティまたはsc-domain:example.comドメインプロパティのいずれかを受け取ります。検証方法に合わせてください。APIは検証済みのプロパティのデータのみを返します。これは初心者が最もつまずくポイントです。 - Search Analyticsは完全なダンプではなく、上位の行を最初に返します。ページネーションに関係なく、「すべてのデータ行を返すことを保証するものではなく、上位の行を返す」ものです。その上限内で:リクエストあたり1〜25 000行(デフォルト1 000行)。インターフェースのエクスポートでは約1 000行です。クォータは負荷制限とQPS/QPM/QPDリクエストレート制限に分かれています。
- URL Inspection:サイトあたり1日2 000クエリ、1分あたり600クエリ。インデックスされたバージョンのみを報告し、ライブテストは実行できません。このクォータが大規模なインデックス監視の実際の制約です。これに合わせてバッチ処理とスケジュールを組み立ててください。
- Sitemaps APIはサイトマップの一覧表示、取得、送信、削除を行います。Sites APIはプロパティの一覧表示、追加、削除を行います。
- 大規模サイトにはBigQuery一括データエクスポートを使用してください。これは別のスケジュールされたパイプライン(5番目のAPIリソースではありません)で、利用可能なすべてのパフォーマンスデータを毎日、行数上限なしで提供します。匿名化されたクエリを除きます。
- 匿名化されたクエリは、どのAPIやエクスポートでも埋められない真のギャップです。PatrickのAhrefsでの取り組みは、その隠された部分がどれほど大きいかを定量化しました。
公式ドキュメント
Googleからの一次情報のドキュメント。
Search Console API リファレンス
- Search Console API — 概要 / 詳細 — API の機能と、検証済みプロパティの要件について。
- Search Analytics: クエリリファレンス —
rowLimit(1〜25 000)とディメンションパラメータについて。 - URL Inspection API リファレンス — inspect メソッドが返すインデックスステータスデータについて。
- Sitemaps API リファレンス — 一覧、取得、送信、削除。
- Sites API リファレンス — 検証済みプロパティの一覧、追加、削除。
- 使用制限 — サイトごと、ユーザーごと、プロジェクトごとの完全な割り当てテーブル。
- リクエストの承認(OAuth 2.0) — スコープと認証フローについて。
一括データエクスポート
- 一括データエクスポートについて(Search Console ヘルプ) — 匿名化されたクエリを除くすべてのパフォーマンスデータの毎日の BigQuery エクスポートをスケジュールします。
- 一括データエクスポートの発表(Search Central ブログ) — 大規模サイト向けの一括エクスポートを位置づけたローンチ記事。
ソースからの引用
Google のドキュメントからの公式な声明。各リンクは、ソースページの引用箇所にジャンプするディープリンクです。
Google — API の機能と利用できるユーザー
- “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.” (翻訳) 「Search Console で管理しているプロパティのプロパティとサイトマップを表示、追加、削除し、Google 検索結果データの高度なクエリを実行し、個々のページをテストする。」 — Google Search Console API ドキュメント(概要)。 引用にジャンプ
- “You must have appropriate access (owner, full, read) to any Google Search Console account that you wish to access using the API.” (翻訳) 「API を使用してアクセスする Google Search Console アカウントには、適切なアクセス権(オーナー、フル、読み取り)が必要です。」 — Google Search Console API ドキュメント(概要)。 引用にジャンプ
- “All requests to the Google Search Console API must be authorized by an authenticated user.” (翻訳) 「Google Search Console API へのすべてのリクエストは、認証されたユーザーによって承認される必要があります。」 — リクエストの承認ガイド。 引用にジャンプ
Google — Search Analytics API
- “[Optional; Valid range is 1–25,000; Default is 1,000]” —
rowLimitパラメータ。 — Search Analytics: クエリリファレンス。 引用にジャンプ - “The URL of the property as defined in Search Console.” —
siteUrlパラメータ。その例では、URL プレフィックス形式(http://www.example.com/)とドメインプロパティ形式(sc-domain:example.com)の両方が示されています。 — Search Analytics: クエリリファレンス。 引用にジャンプ - “The API is bounded by internal limitations of Search Console and does not guarantee to return all data rows but rather top ones.” (翻訳) 「API は Search Console の内部的な制限に拘束され、すべてのデータ行を返すことを保証するものではなく、上位の行を返すものです。」 — Search Analytics: クエリリファレンス。 引用にジャンプ
Google — URL Inspection 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 のインデックス済み、またはインデックス可能なステータスを表示します。現在、Google インデックス内のバージョンのステータスのみが利用可能で、ライブ URL のインデックス可能性をテストすることはできません。」 — URL Inspection API リファレンス。 引用にジャンプ
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
Google — 一括データエクスポート
- “Schedule a daily export of your Search Console performance data to BigQuery… you’ll see all the performance data available to Search Console for your property, with the exception of anonymized queries.” — Search Console Help: About bulk data export. Jump to quote
OAuth設定と初回呼び出しチェックリスト
ゼロからSearch Console APIを動作させるまでの手順:
- 検証済みアクセス(オーナー、フル、または読み取り)がプロパティにあることを確認する — 検証されていないプロパティではAPIは何も返しません。
- Google Cloud Consoleでプロジェクトを作成する。
- そのプロジェクトでSearch Console APIを有効にする。
- 認証情報を作成する: OAuth 2,0クライアント(インタラクティブ/ユーザーアプリ用)または サービスアカウント(サーバー間自動化用)。
- サービスアカウントを使用する場合は、Search Consoleの設定でプロパティへのアクセスを付与する。
- 適切なスコープをリクエストする: レポート用に
webmasters.readonly、 サイトマップの送信やプロパティの管理を行う場合はwebmasters。 - OAuthフロー(またはサービスアカウントキー)を介してアクセストークンを取得する。
-
siteUrlの形式がプロパティの検証方法と一致していることを確認する: URLプレフィックスプロパティの場合は完全なURL、ドメインプロパティの場合はsc-domain:example.com。 - 小さな日付範囲と
rowLimit: 10でsearchAnalytics.queryへのテスト呼び出しを行い、データが返ってくることを確認する。 - 割り当てを計画する: Search Analyticsのリクエストレートは寛大ですが、 別の負荷割り当ても消費します。URL Inspectionはサイトごとに1日2 000件、1分あたり600件に制限されています — それに応じてバッチ処理してください。URL Inspectionがライブテストを実行するとは期待しないでください — それはUIのみです。
- 数万行の場合は、ページネーションではなくBigQuery一括エクスポートを設定する。
メンタルモデル
1. 4つのAPI、1つの認証。 Search Analytics(パフォーマンスデータの読み取り)、URL Inspection(URLのインデックスステータスの読み取り)、Sitemaps(サイトマップの管理)、Sites(プロパティの管理)。これら4つはすべて同じOAuth 2,0のドアを通り、同じ検証済みプロパティルールに従います。
2. データ規模のはしご。 ボリュームに応じてツールを選択します:
- 簡単な確認 → インターフェースエクスポート(約1 000行)。
- スクリプト可能、中程度 → Search Analytics API(リクエストあたり最大25 000件、 ページネーション)。
- 大規模サイト、完全 → BigQuery一括エクスポート(すべてのデータ、毎日、行数制限なし)。 下の段がデータに合わなくなったら、はしごを上に移動します。
3. すべての行ではなく、上位の行。 APIが「上位のもの」を返し、すべてを返すわけではないこと、そして匿名化されたクエリはAPIとエクスポートの両方から除外されることを理解してください。完全性が重要な場合、BigQueryの方が近いですが、匿名化された部分はどちらにせよ失われます。
4. 構築する前に割り当ての計算を。 インデックスモニターを設計する前に、計算を行ってください: URL Inspectionはサイトごとに1日2 000件です。5万URLのサイトは毎日検査できません — バッチ処理、優先順位付け、または複数日にわたるスケジュールを行ってください。上限を考慮して設計し、本番環境で発見しないでください。
Search Console API — チートシート
4つのAPIとその主な制限
| API | 機能 | 主な制限 / 割り当て |
|---|---|---|
| Search Analytics | ディメンション別のパフォーマンスデータ(クリック数、インプレッション数、CTR、掲載順位) | rowLimit 1〜25 000/リクエスト(デフォルトは1 000)。サイトごと・ユーザーごとに1 200 QPM プラス 別途ロード割り当て。「上位行のみ」 |
| URL Inspection | 1つのURLのインデックスステータス(ライブテストなし — UIのみ) | サイトごとに2 000 QPD / 600 QPM(プロジェクトごとに10M QPD / 15 000 QPM) |
| Sitemaps | サイトマップの一覧表示 / 取得 / 送信 / 削除 | ユーザーごとに20 QPS / 200 QPM |
| Sites | 確認済みプロパティの一覧表示 / 追加 / 削除 | ユーザーごとに20 QPS / 200 QPM |
認証
- OAuth 2,0のみ — APIキーはなし。
- スコープ:
webmasters(読み書き)、webmasters.readonly(読み取り)。 - サーバー間通信用のサービスアカウント(プロパティへのアクセス権を付与)。
- 確認済みプロパティのみがデータを返します。
基本情報
- APIは上位行のみを返します — 完全であることは保証されません — ページネーションに関係なく。
- インターフェースのエクスポートは約1 000行で制限されます。APIはリクエストあたり最大25 000行を提供し、
startRowでページネーションします。 - Search Analyticsの割り当てはロード制限(リソースベース、10分 / 1日チャンク)と上記のQPS/QPM/QPDリクエストレート制限に分かれます。
siteUrlはURLプレフィックスプロパティ(http://www.example.com/)またはドメインプロパティ(sc-domain:example.com)を受け取ります — 確認方法に合わせてください。- URL Inspectionはインデックス済みバージョンのみを報告します — ライブテストは実行できません。それはUIのみです。
- 匿名化されたクエリはAPI および BigQueryエクスポートから除外されます。
- 数万行の場合 → BigQuery一括データエクスポート — 別のスケジュールされたパイプラインであり、5番目のAPIリソースではありません。
- パフォーマンスレポート(Search Analytics)とURL Inspectionツールの多くを公開していますが、完全なUIパリティではありません。
最小限のSearch Analyticsリクエスト
これは説明用であり、コピーペーストでそのまま使えるものではありません — 独自のOAuth認証情報を設定し、日付とプロパティを調整する必要があります。searchAnalytics.query呼び出しの構造を示しています:日付範囲、必要なディメンション、rowLimitを含むリクエストボディです。
リクエストボディ(重要な部分)
{
"startDate": "2026-05-01",
"endDate": "2026-05-31",
"dimensions": ["query", "page"],
"rowLimit": 25000,
"startRow": 0
}Pythonでのスケッチ(google-api-python-clientライブラリ使用)
# 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"])25 000行を超えるには、リクエストが行を返さなくなるまでループしてstartRowを25 000ずつ増やします。結果は依然として「上位行」であり、完全なダンプではないことに注意してください — 完全なダンプが必要な場合は、BigQuery一括エクスポートを使用してください。
Search Console APIを使用(またはラップ)するツール
- Google Cloud Console — プロジェクトの作成、APIの有効化、OAuth/サービスアカウントの認証情報の発行を行う場所。
- 公式クライアントライブラリ — Python、Java、JavaScript/Node、PHP、.NET向けのGoogle APIクライアントライブラリがREST呼び出しをラップします。
- BigQuery — 一括データエクスポートの宛先。すべてのパフォーマンスデータをSQLでクエリできます。
- Looker Studio — Search Console(およびBigQuery)に接続し、同じデータに基づくダッシュボードを作成します。
- Ahrefs — Search Console APIと統合。Rank TrackerはGSCの完全な履歴、匿名化されたクエリに送られるクリックの割合、および自社データに基づくカスタムCTR曲線を表示します。
- Search Consoleインターフェース — パフォーマンスレポートとURL検査ツールは、Search Analytics APIおよびURL Inspection APIに対応する手動の手段です。ただし、APIでは埋められないギャップが1つあります。インターフェースツールのみがURLでライブテストを実行できます。
Search Console API作業を計画するためのプロンプト
これらのプロンプトを使用して、コードまたは分析計画を形作ります。認証情報、リフレッシュトークン、サービスアカウントキーはチャット入力に含めないでください。
Search Analyticsリクエストの設計
プロパティURL、日付範囲、ディメンション、フィルター、レポート目標を貼り付けます。
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.クォータに安全なURL検査スケジュールの計画
機密トークンではなく、URL優先度別のCSVサマリーまたはカウントを貼り付けます。
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.APIとBigQueryエクスポートの選択
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. 時間をかける価値のあるリソース
関連する私の作業
- Ahrefsブログ — 私の投稿 — 大規模なGSCデータと匿名化されたクエリに関する作業を含みます。
- Ahrefs Rank Trackerの新機能: GSCの完全な履歴 + 匿名化クエリの割合 — 私が発表したCTR曲線とGSC履歴機能。
Googleのドキュメント
- Search Console APIの概要 と 使用制限 ページ — 最初にブックマークすべき2つのページ。
- 一括データエクスポートについて — BigQueryに移行する時期と方法。
他の情報源
- GSCの隠れたキーワード — Ahrefsの調査(Search Engine Journalの報道) — 匿名化されたクエリの発見に関する第三者による記事。
- BigQueryによるSearch Consoleアナリティクスの強化(SEJ) — 一括エクスポートパスを実践的に解説。
- 一括データエクスポート: Search Consoleデータにアクセスする新しい強力な方法(Google Search Centralブログ) — Search Consoleチームによる2023年2月の発表記事で、大規模サイト向けの一括エクスポートを位置づけています。
- google-api-python-client(PyPI) — Search Console APIの呼び出しに使用される公式Pythonクライアントライブラリ。Google APIsクライアントライブラリファミリーを通じてNode、Java、PHP、.NETでも利用可能。
- r/TechSEO — APIおよびデータ取得のトラブルシューティングのためのコミュニティ。
引用に値する統計
- Search Analytics の行数制限: リクエストあたり 25 000 行(デフォルトは 1 000)— インターフェースのエクスポートの約 1 000 行の上限とは対照的です。これが API を使用する主な理由です。 ソース
- URL Inspection の割り当て: サイトあたり 1 日 2 000 クエリ、1 分あたり 600 クエリ — 大規模なインデックス監視の厳しい上限です(プロジェクトあたり 1 日 1 000 万、1 分あたり 15 000)。 ソース
- 匿名化されたクエリは除外されます — 最も完全なパス(BigQuery 一括エクスポート)でも同様です。これは、クエリデータにおける現実的で回避不可能なギャップです。 ソース
- Google はクリックの大部分でキーワード語句を非表示にします — 私が表面化に協力した Ahrefs の調査によるもので、非常に大規模なサイトのサンプルから API で利用可能なすべてのデータを取得しました。 カバレッジ
自分で試す: Search Console API
API、認証、データ制限、スケールに関する 5 つの簡単な質問です。各質問に回答を選び、結果を確認してください。
変更履歴
2026年7月30日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。
2026年7月18日に更新。
編集概要と記録された変更の詳細。変更の詳細
-
変更の詳細な注記は現在英語でのみ提供されています。
-
変更の詳細な注記は現在英語でのみ提供されています。
-
変更の詳細な注記は現在英語でのみ提供されています。
-
変更の詳細な注記は現在英語でのみ提供されています。
完全な比較は利用できません — この改訂の以前のスナップショットがアーカイブされていません。