Claude CodeでGoogle Search Consoleのデータ取得を自動化する方法

Claude Code GSC, Search Console API 自動化, GSC データ取得のイメージ画像

Claude CodeとGoogle Search Console APIを連携すると、検索データ取得・分析をコマンド1行で自動化できます。

  • 要点1: GSC APIはUI上限1,000件に対し5,000件まで取得可能。自動化で分析の精度が大幅に向上する
  • 要点2: サービスアカウントに「オーナー権限」が必要。読み取り権限だけでは動作しない落とし穴がある
  • 要点3: summary/queries/pages等9種類のコマンドで多角的なSEO分析をCLIから一発実行できる

対象: SEO担当者・DX推進担当者・Claude Codeでの業務自動化に興味がある方

今日やること: GCPでサービスアカウントを作成し、GSCプロパティにオーナー権限で追加する

この記事の著者
川島陸

株式会社Nexa 代表取締役川島 陸

一橋大学経済学部卒業後、フォーティエンスコンサルティング株式会社(旧 株式会社クニエ)にて法人向けAI導入支援等を経験。独立後、AI系メディア運営やDify/n8nの導入支援を経て、株式会社Nexaを創業。法人向けAI研修・AI導入支援・AI関連メディア運営を手掛ける。

Claude CodeとGoogle Search Console APIを連携することで、検索クエリや順位データの取得・分析をコマンド1行で自動化できます。

「毎週GSCを手動でチェックするのが面倒だ」「1,000件の上限で見えないデータが多い」——こうした課題は、API連携と自動化スクリプトで一気に解決できます。

この記事では、あるメディアサイトのGSCデータ取得を自動化した実際の事例をもとに、GCPのサービスアカウント設定からコマンド実行、そして定期自動実行まで、一連の手順を具体的に解説します。

Google Search Console APIで何ができるか

Google Search Console(GSC)にはAPIが用意されており、Pythonスクリプトなどから直接データを取得できます。Claude Codeと組み合わせることで、これまで手作業だった定期レポート作成や改善機会の分析が、コマンド1つで完了するようになります。

UIとAPIの違い——取得できるデータ量が5倍になる

GSCのウェブUI(管理画面)には、検索クエリの表示件数が最大1,000件という制限があります。これに対し、APIを使うと最大5,000件まで取得可能です。ロングテールキーワードのデータが多いサイトでは、この差が分析の質を大きく左右します。

項目 UI API
検索クエリ取得上限 1,000件 5,000件
データ取得期間 最大16ヶ月 最大16ヶ月
定期自動取得 不可(手動のみ) 可能(cronで自動化)
データ加工 手動(CSV出力後) 自動(スクリプトで処理)
複数サイト一括管理 切り替えが必要 一括処理可能

APIを使うことで、データの取得だけでなく、取得→加工→レポート出力までを一連のスクリプトで自動化できるようになります。

Claude Codeで実現できる9種類の分析コマンド

実際にClaude CodeでGSC分析スクリプトを構築すると、以下のようなコマンドが使えるようになります。

コマンド 内容 主な用途
summary サイト全体のサマリー(前期間比較付き) 週次・月次の定点観測
queries 検索クエリ別パフォーマンス 上位KWの確認・改善候補抽出
pages ページ別パフォーマンス 記事ごとの効果測定
daily 日別トレンド アルゴリズム更新の影響確認
devices デバイス別(PC/スマホ) モバイル対応状況の確認
countries 国別データ 海外流入の分析
query-page クエリ×ページ掛け合わせ 記事とKWの対応確認
opportunities 改善機会分析 順位11〜20位のKW抽出
json JSON形式でのデータ出力 外部ツールとの連携

特に opportunities コマンドは実務で重宝します。「順位11〜20位にいるKW(2ページ目)」を自動抽出し、「少し改善すれば1ページ目に上がれる」記事の優先リストを即座に出力できます。

事前準備——GCPとサービスアカウントの設定

GSC APIを使うには、Google Cloud Platform(GCP)でのプロジェクト作成とサービスアカウントの設定が必要です。ここを正確に行わないと、後のステップで権限エラーが発生します。

GCPプロジェクトの作成とSearch Console APIの有効化

  1. Google Cloud Console にアクセスし、新しいプロジェクトを作成します
  2. 左メニューの「APIとサービス」→「ライブラリ」を開きます
  3. 「Google Search Console API」を検索し、「有効にする」をクリックします

ポイントAPI有効化は無料です。Search Console APIはGoogle Workspace等の有料サービスとは独立しており、リクエスト数に応じた課金も発生しません(2026年3月時点)。

サービスアカウントの作成と認証キーのダウンロード

  1. 「APIとサービス」→「認証情報」を開きます
  2. 「認証情報を作成」→「サービスアカウント」を選択します
  3. サービスアカウント名(例:gsc-reader)を入力して作成します
  4. 作成されたサービスアカウントを開き、「キー」タブ→「鍵を追加」→「新しい鍵を作成」→「JSON」を選択します
  5. ダウンロードされたJSONファイル(認証キー)を安全な場所に保管します

認証キーはパスワードと同等の重要情報です。Gitリポジトリには絶対にコミットしないでください。

【重要】GSCプロパティに「オーナー権限」で登録する

ここは最も詰まりやすいポイントです。 サービスアカウントをGSCプロパティに追加する際、権限レベルを「オーナー」にする必要があります。「閲覧者」や「確認済みユーザー」では、APIからデータ取得ができません。

手順:

  1. Google Search Console(search.google.com/search-console)を開きます
  2. 対象のサイトプロパティを選択します
  3. 左メニュー下部の「設定」→「ユーザーと権限」を開きます
  4. 「ユーザーを追加」をクリックします
  5. サービスアカウントのメールアドレス(例:gsc-reader@your-project.iam.gserviceaccount.com)を入力します
  6. 権限を「オーナー」に設定します(これが重要)
  7. 「追加」をクリックして完了です

あるサイト運営の事例では、「読み取り権限」で登録した後にAPIを実行したところ 403 Forbidden エラーが発生し、原因特定に時間がかかりました。設定時に必ず「オーナー」を選択してください。


Claude Codeの導入や活用方法について、個別にご相談いただけます。「どの機能から使えばいいか」「自社業務への適用方法を知りたい」といった段階から対応しています。


\ Claude Codeの導入、何から始めればいいかわかります /

法人向けClaude Code個別指導の無料相談はこちら

Pythonスクリプトのセットアップ

認証の準備ができたら、Pythonスクリプトをセットアップします。

必要なライブラリのインストール

venv(仮想環境)を作成し、必要なライブラリをインストールします。

# venv作成python3 -m venv /tmp/gsc-venv# ライブラリのインストール/tmp/gsc-venv/bin/pip install google-api-python-client google-auth

主に使用するライブラリは以下の2つです。

ライブラリ 用途
google-api-python-client Google APIへのリクエスト処理
google-auth サービスアカウント認証

認証キーファイルの配置場所

認証キー(JSONファイル)の配置場所は慎重に選ぶ必要があります。特にcronで自動実行する場合、配置場所によって権限エラーが発生することがあります(詳細は後述)。

推奨配置場所:

# macOSでのcron対応を考慮した場合~/.config/gsc/service-account.json# または専用ディレクトリを作成mkdir -p ~/.credentials/gsc/mv ~/Downloads/your-key.json ~/.credentials/gsc/service-account.jsonchmod 600 ~/.credentials/gsc/service-account.json

ホームディレクトリ配下(~/.config/~/.credentials/ など)に配置することで、macOSのプライバシー保護の影響を受けにくくなります。

スクリプトの動作確認

以下は基本的なGSCデータ取得スクリプトのサンプルです。

from googleapiclient.discovery import buildfrom google.oauth2 import service_accountSCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']KEY_FILE = '/path/to/service-account.json'SITE_URL = 'https://your-site.com/'def get_gsc_data():    credentials = service_account.Credentials.from_service_account_file(        KEY_FILE, scopes=SCOPES    )    service = build('searchconsole', 'v1', credentials=credentials)    request = {        'startDate': '2026-02-01',        'endDate': '2026-02-28',        'dimensions': ['query'],        'rowLimit': 5000    }    response = service.searchanalytics().query(        siteUrl=SITE_URL,        body=request    ).execute()    return response.get('rows', [])rows = get_gsc_data()for row in rows[:10]:    print(row['keys'], row['clicks'], row['impressions'], row['position'])

このスクリプトを実行して検索クエリが表示されれば、認証設定は成功です。

9種類のコマンドで多角的なGSC分析を実現

スクリプトが動作したら、より実践的なCLIツールとして整備します。コマンドライン引数でデータの種類を切り替えられるようにすることで、Claude Codeから自然言語でデータを要求できるようになります。

サイト全体サマリーの確認

# 直近28日のサマリーを確認python3 gsc_query.py summary# 90日分を確認python3 gsc_query.py summary --days 90

出力例:

=== GSCサマリー(直近28日)===総クリック数: 2,847(前期間比: +12.3%)総インプレッション数: 156,492(+8.7%)平均CTR: 1.82%(-0.1pt)平均掲載順位: 18.4(+1.2)

前期間との自動比較が表示されるため、週次のパフォーマンス変化を一目で把握できます。

検索クエリ・ページ別パフォーマンス取得

# クリック数上位50クエリを表示python3 gsc_query.py queries --limit 50# 特定のKWに絞るpython3 gsc_query.py queries --filter-query "Claude Code"# ページ別パフォーマンスpython3 gsc_query.py pages --limit 30

UIでは見えなかったロングテールKWも含めて取得できるため、既存記事のカバレッジを正確に把握できます。

改善機会分析——順位11〜20位のKWを自動抽出

実務で特に活用されているのが opportunities コマンドです。

# 3パターンの改善機会を一括分析python3 gsc_query.py opportunities

出力されるのは以下の3種類の改善候補です。

区分 基準 アクション
惜しいKW 順位11〜20位 記事のリライトで1ページ目を狙える
高インプレッション低CTR CTR < 2% かつインプレッション高 メタディスクリプションやタイトルの改善
掲載はあるがクリックなし インプレッション > 1,000 かつクリック = 0 検索意図とのずれを確認

これにより「次にどの記事を改善すべきか」の優先リストが自動で生成されます。SEO担当者が毎週手作業で行っていた分析工数を大幅に削減できます。

\ 業務自動化のお悩み、プロが30分で整理します /

法人向けClaude Code個別指導の無料相談はこちら

cronで定期実行するときの注意点

GSCデータを毎週自動取得してレポートを生成する場合、cronでの定期実行が便利です。ただし、macOS環境特有の注意点があります。

macOS TCC(プライバシー保護)による権限エラーの正体

macOSには「TCC(Transparency, Consent, and Control)」というプライバシー保護機能があります。アプリやスクリプトが特定のフォルダ(デスクトップ、ドキュメント等)にアクセスするには、ユーザーの許可が必要です。

問題が起きやすいのは次のようなケースです。

  1. ターミナルから手動実行→正常動作(ターミナルの権限を継承)
  2. cronで定期実行→Permission denied エラーが発生

根本原因: cronはシステムのlaunchdから起動されるため、ターミナルが持つフルディスクアクセス権限を継承しません。そのため、デスクトップや書類フォルダ内のファイル(認証キー等)にアクセスできないことがあります。

あるメディアサイトのGSC自動化では、数日間は正常動作していたものの、サーバーの再起動後から突然以下のエラーが発生するようになりました。

PermissionError: [Errno 1] Operation not permitted対象: ~/Desktop/credentials/service-account.json

調査の結果、定期実行プロセスの再起動により「デスクトップ」へのアクセス権限が失われたことが判明しました。

SAキーの配置を変更してcronからのアクセスを確保する

最も確実な解決策は、認証キーをホームディレクトリ直下の隠しフォルダに移動することです。

# 専用ディレクトリを作成mkdir -p ~/.credentials/gsc/# 認証キーを移動mv ~/Desktop/service-account.json ~/.credentials/gsc/service-account.json# アクセス権限を適切に設定chmod 700 ~/.credentials/gsc/chmod 600 ~/.credentials/gsc/service-account.json

スクリプト内のパスも合わせて更新します。

# 変更前KEY_FILE = os.path.expanduser('~/Desktop/credentials/service-account.json')# 変更後KEY_FILE = os.path.expanduser('~/.credentials/gsc/service-account.json')

~/.credentials/~/.config/ はmacOSのTCCの対象外となるため、cronからも問題なくアクセスできます。

macOSのフルディスクアクセス設定による根本解決「システム設定」→「プライバシーとセキュリティ」→「フルディスクアクセス」で、使用しているターミナルアプリに権限を付与する方法もあります。ただし、認証キーをホームディレクトリ配下に移動する方法の方がセキュリティ的に望ましいです。

よくある質問

Q. Google Search Console APIは無料で使えますか?

はい、無料で利用できます。Search Console APIはGoogle Cloudの一部ですが、GCPアカウントを作成するだけで使えます。APIのリクエスト数に応じた追加料金も発生しません(2026年3月時点)。

Q. サービスアカウントとOAuth認証はどちらを使うべきですか?

自動化・定期実行を目的とする場合はサービスアカウント認証が適しています。OAuth認証はブラウザ操作での認証フローが必要なため、人が介在しない定期実行には向きません。複数のサイトを一元管理する場合も、サービスアカウントの方が管理しやすいです。

Q. APIで取得できるデータの期間はどのくらいですか?

GSC APIで取得できるデータの期間は最大16ヶ月です(2024年2月以降は永続保存に変更)。ただし、過去のデータを定期的に保存しておく運用をしないと、後から遡って取得できなくなる場合があります。月次でBigQueryやCSVに保存する習慣をつけることをおすすめします。

Q. cronで定期実行しているのに突然エラーが出た場合は?

macOSでは本記事で解説した「TCC(プライバシー保護)」による権限エラーが最も多い原因です。エラーメッセージに Operation not permittedPermission denied が含まれている場合は、認証キーの配置場所を ~/.credentials/ 配下に変更することで解決できます。

\ AI活用の「次の一手」を一緒に考えませんか /

法人向けClaude Code個別指導の無料相談はこちら

まとめ

Claude CodeとGoogle Search Console APIを連携することで、以下が実現できます。

  • UIの5倍(5,000件)の検索クエリデータを取得できる
  • summary/queries/pages等9種類のコマンドで多角的な分析が可能
  • cronで定期実行し、毎週のレポート作成を自動化できる
  • 改善機会分析で「次に手を入れるべき記事」を自動リストアップできる

セットアップのポイントは「サービスアカウントにオーナー権限を付与すること」と「macOSのcron実行を考慮した認証キーの配置場所」の2点です。

GSC自動化はSEO業務改善の入り口のひとつです。さらに一歩進めると、SEO記事の自動生産ラインのように、KW選定→記事執筆→WP公開→インデックス申請まで一連のフローをClaude Codeで自動化することも可能です。

Claude Codeの導入・活用をサポートします

株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。SEO自動化の構築から、社内データとの連携、スキルのカスタマイズまで、非エンジニアの方でも段階的に取り組めるプログラムです。「何から始めればいいかわからない」という段階からご支援いたします。

法人向けClaude Code個別指導の無料相談はこちら|まずはお困りごとをプロに相談



関連記事

AIの力で、ビジネスを次のステージへ

まずはお気軽にご相談ください。貴社に最適なAI活用プランをご提案します。

Claude Codeのプロに無料相談 30秒で日程調整完了