👻

GAS×Google Custom Search JSON APIでキーワードごとの検索上位記事を自動でリスト化する方法

に公開

「Google検索結果を自動で取得して、スプレッドシートに一覧化できたら便利なのに…」
そんなふうに思ったことはありませんか?

この記事では、Googleが提供している「Custom Search JSON API」を使って、スプレッドシートにキーワードを入力するだけで、Google検索の上位結果(タイトルとURL)を自動で取得し、一覧化する方法を紹介します。使用するのは、Google Apps Script(GAS)です。

手動で検索してURLをコピペする手間を大幅に削減できるので、リサーチ作業やSEO分析を効率化したい方におすすめです。

「APIって難しそう…」と思った方も大丈夫。この記事では、APIキーや検索エンジンIDの取得から、コードの貼り付け、実行方法までを、画像付きでわかりやすく解説しています。

以下のようなものができるイメージです。

このツールを作成する手順を解説していきます。

▼本記事の対象者

  • プログラミングは詳しくないWebマーケター
    • プログラミングの知識がなくても利用可能です
  • アフィリエイターリストを作りたい方
  • 記事ディレクターで、上位表示している記事の分析をしたい人

🔍 Google Custom Search JSON API の設定手順(完全ガイド)

📌 目的

Google Apps Script(GAS)などのプログラムから、Googleの検索結果(ウェブ・画像など)を取得するための「Custom Search JSON API」を有効化し、APIキーと検索エンジンID(cx)を取得する手順です。


手順1:Custom Search JSON API のAPI Keyを取得

① Custom Search JSON API にアクセス

② プロジェクトを作成

  • 任意のプロジェクト名(例:serpkw)を入力
  • 「Yes」にチェックを入れて、規約に同意
  • 「NEXT」をクリック

③ API キーの表示とコピー

  • 「SHOW KEY」をクリック
  • 表示されたAPIキーをコピーして保存(例:AIdeapisyutoku...

以下は、Google Custom Search の検索エンジンID(CX)を取得する手順の解説です。添付いただいた画像に基づき、ステップごとにわかりやすく説明します。

🚨 注意点

  • 無料枠では1日100クエリが上限です(超えると有料)。
  • Custom Search Engine作成時、「全ウェブを検索対象にする」設定にすることでGoogle検索に近い結果が得られます。
  • 「画像検索」も有効にしたい場合は、検索エンジンの設定で「画像検索を有効にする」にチェックを入れてください。

手順2:検索エンジンID(CX)の取得手順

①「使ってみる」ボタンをクリック

Googleの「プログラム可能な検索エンジン(Programmable Search Engine)」のトップページにアクセスし、右側にある「使ってみる」ボタンをクリックします。

② 「追加」ボタンから検索エンジンを作成

表示された画面の右上にある「追加」ボタンをクリックして、新しい検索エンジンの作成を開始します。

③ 検索エンジンの設定を行う

以下の情報を入力・選択します。

  • 検索エンジン名:任意の名前(例:「Web全体」)
  • 検索対象:「ウェブ全体を検索」にチェックを入れる
  • ロボット確認:「私はロボットではありません」にチェックを入れる

その後、「作成」ボタンをクリックします。

④ 検索エンジン作成完了 →「カスタマイズ」をクリック

検索エンジンが作成されると確認画面が表示されるので、「カスタマイズ」ボタンをクリックして詳細設定画面へ進みます。

⑤ 「検索エンジンID(CX)」を確認・コピー

「概要」ページ内の「基本情報」セクションに検索エンジンIDが表示されているので、それをコピーしてメモしておきます。

このID(例:012345678901234567890:abcde12345)が、GAS や API で使用する「cx」パラメータになります。

以上で、検索エンジンID(CX)の取得は完了です。
取得した ID は、GAS スクリプトや API リクエストに活用できます。

手順3:GASにコードを貼り付け

Google スプレッドシートから、Googleの検索結果を取得するには、Apps Scriptにコードを貼り付けて実行する必要があります。以下に、その準備手順を画像つきで解説します。


①Apps Script を開く

  1. Googleスプレッドシートを開く(例:記事リスト_custom_json_api)。
  2. メニューの「拡張機能」をクリック。
  3. 表示されたメニューから「Apps Script」を選択。


②コード.gs に GAS スクリプトを貼り付ける

  1. エディタ画面が開いたら、デフォルトの コード.gs に、Custom Search API を利用する GAS のコードを貼り付けます。
  2. API_KEYCX の部分に、それぞれ取得済みの APIキー検索エンジンID(cx) を入力してください。

今回、張り付けるコードは以下です。

const API_KEY = 'あなたのCustom Search JSON API'; // 提供されたAPIキー
const CX = '検索エンジンID'; // 🔁ここに「検索エンジンID」を入力してください

function searchGoogleCustom() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const kwSheet = ss.getSheetByName("KW");
  const resultSheet = ss.getSheetByName("result") || ss.insertSheet("result");

  // 既存データを削除し、ヘッダーをセット
  resultSheet.clear();
  resultSheet.appendRow(["KW", "title", "URL"]);

  // キーワードの取得
  const keywords = kwSheet.getRange("A2:A" + kwSheet.getLastRow()).getValues().flat().filter(String);

  for (let i = 0; i < keywords.length; i++) {
    const kw = keywords[i];
    const url = `https://www.googleapis.com/customsearch/v1?key=${API_KEY}&cx=${CX}&q=${encodeURIComponent(kw)}`;

    try {
      const response = UrlFetchApp.fetch(url);
      const json = JSON.parse(response.getContentText());

      if (json.items && json.items.length > 0) {
        json.items.forEach(item => {
          resultSheet.appendRow([kw, item.title, item.link]);
        });
      } else {
        resultSheet.appendRow([kw, "No results found", ""]);
      }
    } catch (e) {
      resultSheet.appendRow([kw, "API Error", e.message]);
    }
  }
}

③スクリプトを実行

  1. 上部メニューの「▶︎ 実行」ボタンをクリックして、スクリプトを初回実行します。


④認証のリクエストに応じる

初回実行時には、Googleアカウントのアクセス許可が求められます。

  1. 権限を確認」ボタンをクリック。

  2. 自分のアカウントを選択。

  1. アクセス許可画面で「すべて選択」をチェックし、「続行」をクリック。

以上で、Apps Scriptを通じてCustom Search APIを実行する準備は完了です。

手順4:実行する

1.「KW」シートのA列に調べたいキーワードを入力

2.「result」に記事リストができている

まとめ

今回ご紹介した方法を使えば、Google検索結果の取得と一覧化が数秒で完了します。

手動でコピペしていた時間がなくなるだけで、かなりの効率化になります。

APIの設定やGASに少しでも慣れておくと、今後の業務でも大きな武器になります。この記事がその第一歩になれば嬉しいです。

Discussion