# Pythonを使ってGoogle search console（サーチコンソール）のAPIを叩いてみた！

> 当サイト【スタビジ】の本記事では、Pythonを使ってGoogle search console（サーチコンソール）のAPIを利用してみます。PythonはAPIを利用するのに非常に便利です。Googleプロダクトは各種APIを提供していてAPIを使うことで様々なことができるので試してみましょう！

- URL: https://toukei-lab.com/google-search-console-api
- 公開: 2022.11.29 / 更新: 2024.12.27
- サイト: スタビジ（https://toukei-lab.com）

:::talk{who="umatan"}
当サイト【スタビジ】の本記事では、Pythonを使ってGoogle search console（サーチコンソール）のAPIを利用してみます。PythonはAPIを利用するのに非常に便利です。Googleプロダクトは各種APIを提供していてAPIを使うことで様々なことができるので試してみましょう！
:::

こんにちは！ データサイエンティストのウマたん([@statistics1012](https://twitter.com/statistics1012?lang=ja))です！

マーケターであれ、ブロガーであれ、個人であれ、法人であれ、SEOに携わる人なら必ず利用する「[**Google search console**](https://search.google.com/search-console/about)」。

![Google search console](/wp-content/uploads/2019/12/Google-search-console-min.jpg)

Googleの提供する無料ツールであり、検索順位や流入キーワードを測るのに非常に有用なツールです。

この度、Google search consoleの検索キーワードを定点観測SEOツールに登録する際、管理画面上では1000キーワードまでしか出力できないことに気付きまして・・・

Pythonで**Google search consoleのAPIを叩き5000行出力する**ことに挑戦してみたのでまとめておきます！

:::talk{who="robotan"}
APIを叩けば出力件数を増やすことが可能なのかー！！
:::

:::talk{who="umatan"}
そうなんだよー！そんなに手順も難しくないから出来るようにしておくと便利だよ！
:::

:::related
・Google search consoleとは\
・Google search consoleのAPIを叩き5000行出力する方法
:::

:::talk{who="umatan"}
Pythonの勉強は以下の記事をチェック！
:::

:::related
[【入門】初心者が短期間でPythonを習得できるようになる勉強法！](/python-learn)
:::

ちなみに、以下のUdemyのコースでGoogle Search ConsoleのAPIでWebメディアのSEO改善に役立つアプリの作り方を公開していますので興味のある方はチェックしてみてください！

:::box
**Python✕Google Search ConsoleAPIでWebメディアのSEO改善に役立つWebアプリを作ろう！**

[![](/wp-content/uploads/2024/11/PythonGSC.jpg)](https://www.udemy.com/course/python-gsc/?referralCode=D7A6DCFFB71D0E39E121)

<table class="table">
<tbody>
<tr>
<th>【時間】</th>
<td><span>3時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級〜中級</span></td>
</tr>
</tbody>
</table>

Google Search ConsoleのAPIを使ってWebメディアのSEO改善に役立つアプリを作ってみよう！

今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！

::button[このコースを見てみる]{href="https://www.udemy.com/course/python-gsc/?referralCode=D7A6DCFFB71D0E39E121" note="＼30日以内なら返金無料／"}
:::

## PythonでGoogle search consoleのAPIを利用する手順

Pythonに移る前に**いくつかの手順が必要**になります。

### Step1：Google Cloud Platformで プロジェクトを作成する

まず、GoogleプロダクトのAPIを利用するためには**Google Cloud Platformへの登録**が必要になります。

Googleアカウントさえ持っていれば無料で利用できますので以下のURLからGoogle Cloud Platformのプロジェクトを作成しましょう！

[Google Cloud Platformで プロジェクトを作成する](https://console.developers.google.com/projectselector/iam-admin/iam?supportedpurview=project,organizationId,folder\&orgonly=true\&project=\&folder=\&organizationId=)

![Google search console](/wp-content/uploads/2019/12/Google-search-console2-min-scaled.jpg)

### Step2：Google search consoleの APIを登録する

Google Cloud Platformでプロジェクトが作成できたら、次は**Google search consoleのAPIを登録**していきます。

以下のURLからGoogle search consoleのAPIを登録していきましょう！

[Google search consoleの APIを登録する](https://console.developers.google.com/flows/enableapi?apiid=webmasters\&credential=client_key)

先ほど作成したプロジェクトを指定してGoogle search consoleのAPIを登録していきましょう！

この時、認証を続ける画面が出ますが一旦進まなくて大丈夫です。

### Step3：サービスアカウントを作成

続いてプロジェクトの中で**サービスアカウントを作成**していきます。

![Google search console](/wp-content/uploads/2019/12/Google-search-console3-min.jpg)

以下のURLからプロジェクトに紐づくサービスアカウントを作成してください。

[サービスアカウントを作成する](https://console.cloud.google.com/projectselector/iam-admin/serviceaccounts?supportedpurview=project\&project\&folder\&organizationId)

### Step4：キーを作成し、JSONファイルをダウンロード

この時**キーを作成**するボタンがあるのでそこから秘密鍵を作成しましょう！

![Google search console](/wp-content/uploads/2019/12/Google-search-console.jpg)

この時JSONファイルでダウンロードするようにします。

### Step5：Google search consoleの管理画面上でユーザーの追加

最後に[Google search consoleの管理画面](https://www.google.com/webmasters/tools/home?hl=ja)上に、先ほど設定したサービスアカウントのメアドを登録していきます。

**設定＞ユーザーと権限＞ユーザーを追加**

でサービスアカウントに表示されているメアドを追加しましょう！

これで前準備が終了です！続いては実際にPythonを動かしていきます！

## Pythonを使ってAPIを叩く方法

![PC](/wp-content/uploads/2018/09/goriIMGL9703_TP_V1-e1555747456954.jpg)

先ほどダウンロードしたJSONファイルをPythonファイルと同じディレクトリに移動します。

Pythonを実行する前にpip installしていきます。

```text
pip install --upgrade google-api-python-client
pip install oauth2client
```

その後で以下のコードをPythonで実行しましょう！

```python title="GSC-API.py"

import pandas as pd
from googleapiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

url = ['https://www.googleapis.com/auth/webmasters.readonly']
file = '[JSONファイルの置き場所]'
credentials = ServiceAccountCredentials.from_json_keyfile_name(url, file)
webmasters = build('webmasters', 'v3', credentials=credentials)

domain = '[あなたのドメイン]'
dimensions = ['query', 'page']
startDate = '2019-10-01'
endDate = '2019-11-01'
rowLimit = 5000

body = {
    'startDate': startDate,
    'endDate': endDate,
    'dimensions': dimensions,
    'rowLimit': rowLimit
}

response = webmasters.searchanalytics().query(siteUrl=domain, body=body).execute()
df = pd.io.json.json_normalize(response['rows'])

for i, d in enumerate(dimensions):
    df[d] = df['keys'].apply(lambda x: x[i])

df.drop(columns='keys', inplace=True)
df.to_csv('{}.csv'.format(start_date), index=False)
print(df)
```

これによりクエリと流入ページ別の流入数が出力されます。

ちなみに公式リファレンスは以下です。

:::related
[Query your Google Search analytics data](https://developers.google.com/webmaster-tools/search-console-api-original/v3/how-tos/search_analytics.html?hl=ja)
:::

具体的にどんな意味があるのか見ていきましょう！

```python
dimensions = ['query', 'page']
startDate = '2019-10-01'
endDate = '2019-11-01'
rowLimit = 5000

body = {
    'startDate': startDate,
    'endDate': endDate,
    'dimensions': dimensions,
    'rowLimit': rowLimit
}
```

こちらのコードで引っ張ってくる変数と期間・行数を出力できます。クエリは5000行までしか出力できません。

```python
for i, d in enumerate(dimensions):
    df[d] = df['keys'].apply(lambda x: x[i])

df.drop(columns='keys', inplace=True)
df.to_csv('{}.csv'.format(start_date), index=False)
```

QueryとPageがリストに入って出力されるのでそれを別々のカラムに分けてCSVで出力する処理を行っています。

## Pythonを使ってGoogle search consoleのAPIを叩く方法　まとめ

<mark>実際にやってみると意外と簡単！</mark>

それほど時間もかからず行うことが出来ました。

:::talk{who="robotan"}
確かにこれなら結構簡単に出来そうだー！
:::

:::talk{who="umatan"}
Google search consoleで大量にキーワード等を出力したい時は試してみてね！
:::

また、収集したデータを可視化したい時は同じGoogleのサービスである”[Looker Studio](/looker_studio)“がオススメ！使い方を以下の記事で解説しているので見てみてください！

:::related
・[【入門】Looker Studioの使い方を徹底解説！データを集めて分析してみよう！](/looker_studio)
:::

ちなみにPythonを学習する方法や他のAPI利用方法については以下の記事でまとめていますのでよければ見てみてください！

:::related
・[【入門】初心者が短期間でPythonを習得できるようになる勉強法！](/python-learn)\
・[【5分で分かる】Pythonを使って様々なサービスのAPIを利用してみよう！](/api)\
・[【目指せ自動化】Pythonでスプレッドシートを操作して書き込み・読み込みを行う方法！](/python_spreadsheet)
:::

ちなみに、以下のUdemyのコースでGoogle Search ConsoleのAPIでWebメディアのSEO改善に役立つアプリの作り方を公開していますので興味のある方はチェックしてみてください！

:::box
**Python✕Google Search ConsoleAPIでWebメディアのSEO改善に役立つWebアプリを作ろう！**

[![](/wp-content/uploads/2024/11/PythonGSC.jpg)](https://www.udemy.com/course/python-gsc/?referralCode=D7A6DCFFB71D0E39E121)

<table class="table">
<tbody>
<tr>
<th>【時間】</th>
<td><span>3時間</span></td>
</tr>
<tr>
<th>【レベル】</th>
<td><span>初級〜中級</span></td>
</tr>
</tbody>
</table>

Google Search ConsoleのAPIを使ってWebメディアのSEO改善に役立つアプリを作ってみよう！

今なら購入時に「NZWCLGF4BTZENY6E」という講師クーポンコードを入れると90%オフ以上の割引価格になりますのでぜひご受講ください！

::button[このコースを見てみよう！]{href="https://www.udemy.com/course/python-gsc/?referralCode=D7A6DCFFB71D0E39E121" note="＼30日以内なら返金無料／"}
:::