認証が必要です
定義したフィルタとパラメータを使用して、検索トラフィック データをクエリします。このメソッドは、定義した行キー(ディメンション)でグループ化された 0 個以上の行を返します。1 日以上の期間を定義する必要があります。
日付がディメンションの 1 つである場合、データのない日は結果リストから除外されます。データがある日付を確認するには、対象の期間について、日付でグループ化されたフィルタなしのクエリを発行します。
結果はクリック数の降順で並べ替えられます。2 つの行のクリック数が同じ場合、任意の順序で並べ替えられます。
このメソッドの呼び出しについては、Python のサンプルをご覧ください。
この API は Search Console の内部的な制限を受け、すべてのデータ行ではなく上位のデータ行のみを返すことが保証されています。
POST https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query?key={MY_API_KEY}
{
  "startDate": "2015-04-01",
  "endDate": "2015-05-01",
  "dimensions": ["country","device"]
}リクエスト
HTTP リクエスト
POST https://www.googleapis.com/webmasters/v3/sites/siteUrl/searchAnalytics/query
パラメータ
| パラメータ名 | 値 | 説明 | 
|---|---|---|
| パスパラメータ | ||
siteUrl | 
        string | 
        
          Search Console で定義したプロパティの URL。例:
          http://www.example.com/(URL プレフィックス プロパティの場合)、sc-domain:example.com(ドメイン プロパティの場合) | 
      
承認
このリクエストは、少なくとも次のうち 1 つのスコープでの承認が必要です(認証と承認の詳細をご確認ください)。
| スコープ | 
|---|
https://www.googleapis.com/auth/webmasters.readonly | 
https://www.googleapis.com/auth/webmasters | 
リクエスト本文
リクエストの本文には、以下の構造を使用してデータを指定してください。
{
  "startDate": string,
  "endDate": string,
  "dimensions": [
    string
  ],
  "type": string,
  "dimensionFilterGroups": [
    {
      "groupType": string,
      "filters": [
        {
          "dimension": string,
          "operator": string,
          "expression": string
        }
      ]
    }
  ],
  "aggregationType": string,
  "rowLimit": integer,
  "startRow": integer
}| プロパティ名 | 値 | 説明 | メモ | 
|---|---|---|---|
startDate | 
        string | 
        [必須] リクエストされた期間の開始日。YYYY-MM-DD 形式で、太平洋時間(UTC - 7:00/8:00)で指定します。終了日以前でなければなりません。この値は範囲に含まれます。 | |
endDate | 
        string | 
        [必須] リクエストされた日付範囲の終了日。YYYY-MM-DD 形式で、PT 時間(UTC - 7:00/8:00)で指定します。開始日以降でなければなりません。この値は範囲に含まれます。 | |
dimensions[] | 
        list | 
        [省略可] 結果をグループ化する 0 個以上のディメンション。結果は、ディメンションを指定した順序でグループ化されます。dimensionFilterGroups[].filters[].dimension では、任意のディメンション名と「date」および「hour」を使用できます。グループ化ディメンションの値が組み合わされて、結果の各行に一意のキーが作成されます。ディメンションが指定されていない場合、すべての値が 1 つの行に結合されます。グループ化できるディメンションの数に上限はありませんが、同じディメンションで 2 回グループ化することはできません。例: [country, device] | |
searchType | 
        string | 
        非推奨。代わりに type を使用してください | 
        |
type | 
        string | 
        [省略可] 結果を次のタイプにフィルタします。
          
  | 
        |
dimensionFilterGroups[] | 
        list | 
        [省略可] ディメンション グループ化値に適用するフィルタのグループ。0 個以上指定できます。レスポンスで行を返すには、すべてのフィルタ グループが一致する必要があります。1 つのフィルタ グループ内で、すべてのフィルタが一致する必要があるか、少なくとも 1 つが一致する必要があるかを指定できます。 | |
dimensionFilterGroups[].groupType | 
        string | 
        このグループのすべてのフィルタが true を返す必要があるか(「and」)、1 つ以上のフィルタが true を返す必要があるか(まだサポートされていません)。
           有効な値は次のとおりです。 
  | 
        |
dimensionFilterGroups[].filters[] | 
        list | 
        [省略可] 行に対してテストする 0 個以上のフィルタ。各フィルタは、ディメンション名、演算子、値で構成されます。最大長は 4,096 文字です。例:
country equals FRA query contains mobile use device notContains tablet  | 
        |
dimensionFilterGroups[].filters[].dimension | 
        string | 
        このフィルタが適用されるディメンション。ここに表示されているディメンションは、そのディメンションでグループ化していなくても、フィルタできます。 有効な値は次のとおりです。 
  | 
        |
dimensionFilterGroups[].filters[].operator | 
        string | 
        [省略可] 指定した値が、行のディメンション値と一致する必要があるか(または一致しない必要があるか)を指定します。 有効な値は次のとおりです。 
  | 
        |
dimensionFilterGroups[].filters[].expression | 
        string | 
        演算子に応じて、フィルタで一致または除外する値。 | |
aggregationType | 
        string | 
        [省略可] データの集計方法。プロパティごとに集計される場合、同じプロパティのすべてのデータが集計されます。ページごとに集計される場合、すべてのデータが正規 URI ごとに集計されます。ページでフィルタまたはグループ化する場合は [自動] を選択します。それ以外の場合は、データの計算方法に応じて、プロパティごとまたはページごとに集計できます。サイトごととページごとでデータの計算方法が異なる仕組みについては、ヘルプ ドキュメントをご覧ください。 注: ページでグループ化またはフィルタした場合、プロパティで集計することはできません。 auto 以外の値を指定すると、結果の集計タイプはリクエストされたタイプと一致します。無効なタイプをリクエストすると、エラーが返されます。リクエストされたタイプが無効な場合、API は集計タイプを変更しません。 有効な値は次のとおりです。
  | 
        |
rowLimit | 
        integer | 
        [省略可。有効な範囲は 1 ~ 25,000。デフォルトは 1,000] 返される行の最大数。結果をページ分割するには、startRow オフセットを使用します。 | 
        |
startRow | 
        integer | 
        [省略可。デフォルトは 0] レスポンスの最初の行の 0 から始まるインデックス。負でない数値を指定する必要があります。startRow がクエリの結果数を超えている場合、レスポンスは行数がゼロの成功レスポンスになります。 | 
        |
dataState | 
        string | 
        [省略可] 「all」(大文字と小文字を区別しない)の場合、データには最新のデータが含まれます。「final」(大文字と小文字を区別しない)の場合、またはこのパラメータが省略されている場合、返されるデータには確定したデータのみが含まれます。「hourly_all」(大文字と小文字を区別しない)の場合、データには時間別内訳が含まれます。これにより、時間単位のデータに部分的なデータが含まれていることが示されます。このデータは、HOUR API ディメンションでグループ化するときに使用する必要があります。 | 
レスポンス
結果は、リクエストで指定されたディメンションに従ってグループ化されます。ディメンション値のセットが同じ値は、すべて 1 つの行にグループ化されます。たとえば、国ディメンションでグループ化すると、「usa」の結果はすべて 1 つのグループにまとめられ、「mdv」の結果はすべて 1 つのグループにまとめられます。国とデバイスでグループ化した場合、「usa, tablet」の結果はすべてグループ化され、「usa, mobile」の結果はすべてグループ化されます。クリック数やインプレッション数などの計算方法やその意味について詳しくは、検索アナリティクス レポートのドキュメントをご覧ください。
結果はクリック数の降順で並べ替えられます。ただし、日付でグループ化した場合、結果は日付の昇順(古い順)で並べ替えられます。2 つの行が同順位の場合、並べ替え順序は任意です。
リクエストの rowLimit プロパティで、返される値の最大数を確認してください。
{
  "rows": [
    {
      "keys": [
        string
      ],
      "clicks": double,
      "impressions": double,
      "ctr": double,
      "position": double
    }
  ],
  "responseAggregationType": string
}| プロパティ名 | 値 | 説明 | メモ | 
|---|---|---|---|
rows[] | 
        list | 
        クエリで指定された順序でキー値別にグループ化された行のリスト。 | |
rows[].keys[] | 
        list | 
        リクエストのディメンションに従ってグループ化された、その行のディメンション値のリスト。リクエストで指定された順序で返されます。 | |
rows[].clicks | 
        double | 
        行のクリック数。 | |
rows[].impressions | 
        double | 
        行のインプレッション数。 | |
rows[].ctr | 
        double | 
        行のクリック率(CTR)。値の範囲は 0 ~ 1.0 です(両端を含みます)。 | |
rows[].position | 
        double | 
        検索結果での平均掲載順位。 | |
responseAggregationType | 
        string | 
        結果の集計方法。 サイトごとのデータとページごとのデータの計算方法の違いについては、ヘルプ ドキュメントをご覧ください。
           有効な値は次のとおりです。 
  | 
        |
metadata | 
        object | 
        
           クエリ結果とともに返される可能性のあるオブジェクト。データの状態に関するコンテキストを提供します。 最新のデータをリクエストすると( このオブジェクトで提供されるすべての日時は  このオブジェクト内で返される特定のフィールドは、リクエストでデータをどのようにグループ化したかによって異なります。 
  | 
        
試してみよう:
以下の API Explorer を使用し、ライブデータに対してこのメソッドを呼び出して、レスポンスを確認してみましょう。