Google Search Console API . searchanalytics

Instance Methods

close()

Close httplib2 connections.

query(siteUrl, body=None, x__xgafv=None)

Query your data with filters and parameters that you define. Returns zero or more rows grouped by the row keys that you define. You must define a date range of one or more days. When date is one of the group by values, any days without data are omitted from the result list. If you need to know which days have data, issue a broad date range query grouped by date for any metric, and see which day rows are returned.

Method Details

close()
Close httplib2 connections.
query(siteUrl, body=None, x__xgafv=None)
Query your data with filters and parameters that you define. Returns zero or more rows grouped by the row keys that you define. You must define a date range of one or more days. When date is one of the group by values, any days without data are omitted from the result list. If you need to know which days have data, issue a broad date range query grouped by date for any metric, and see which day rows are returned.

Args:
  siteUrl: string, The site's URL, including protocol. For example: `http://www.example.com/`. (required)
  body: object, The request body.
    The object takes the form of:

{
  "aggregationType": "A String", # [Optional; Default is \"auto\"] How data is aggregated. If aggregated by property, all data for the same property is aggregated; if aggregated by page, all data is aggregated by canonical URI. If you filter or group by page, choose AUTO; otherwise you can aggregate either by property or by page, depending on how you want your data calculated; see the help documentation to learn how data is calculated differently by site versus by page. **Note:** If you group or filter by page, you cannot aggregate by property. If you specify any value other than AUTO, the aggregation type in the result will match the requested type, or if you request an invalid type, you will get an error. The API will never change your aggregation type if the requested type is invalid.
  "dataState": "A String", # The data state to be fetched, can be full or all, the latter including full and partial data.
  "dimensionFilterGroups": [ # [Optional] Zero or more filters to apply to the dimension grouping values; for example, 'query contains \"buy\"' to see only data where the query string contains the substring \"buy\" (not case-sensitive). You can filter by a dimension without grouping by it.
    { # A set of dimension value filters to test against each row. Only rows that pass all filter groups will be returned. All results within a filter group are either AND'ed or OR'ed together, depending on the group type selected. All filter groups are AND'ed together.
      "filters": [
        { # A filter test to be applied to each row in the data set, where a match can return the row. Filters are string comparisons, and values and dimension names are not case-sensitive. Individual filters are either AND'ed or OR'ed within their parent filter group, according to the group's group type. You do not need to group by a specified dimension to filter against it.
          "dimension": "A String",
          "expression": "A String",
          "operator": "A String",
        },
      ],
      "groupType": "A String",
    },
  ],
  "dimensions": [ # [Optional] Zero or more dimensions to group results by. Dimensions are the group-by values in the Search Analytics page. Dimensions are combined to create a unique row key for each row. Results are grouped in the order that you supply these dimensions.
    "A String",
  ],
  "endDate": "A String", # [Required] End date of the requested date range, in YYYY-MM-DD format, in PST (UTC - 8:00). Must be greater than or equal to the start date. This value is included in the range.
  "rowLimit": 42, # [Optional; Default is 1000] The maximum number of rows to return. Must be a number from 1 to 25,000 (inclusive).
  "searchType": "A String", # [Optional; Default is \"web\"] The search type to filter for.
  "startDate": "A String", #  [Required] Start date of the requested date range, in YYYY-MM-DD format, in PST time (UTC - 8:00). Must be less than or equal to the end date. This value is included in the range.
  "startRow": 42, # [Optional; Default is 0] Zero-based index of the first row in the response. Must be a non-negative number.
  "type": "A String", # Optional. [Optional; Default is \"web\"] Type of report: search type, or either Discover or Gnews.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A list of rows, one per result, grouped by key. Metrics in each row are aggregated for all data grouped by that key either by page or property, as specified by the aggregation type parameter.
  "responseAggregationType": "A String", # How the results were aggregated.
  "rows": [ # A list of rows grouped by the key values in the order given in the query.
    {
      "clicks": 3.14,
      "ctr": 3.14,
      "impressions": 3.14,
      "keys": [
        "A String",
      ],
      "position": 3.14,
    },
  ],
}