{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "SearchAnalyticsQueryRequest", "type": "object", "description": "Request body for querying search analytics data. Defines the date range, dimensions, filters, and aggregation type for the query.", "properties": { "startDate": { "type": "string", "description": "Start date of the requested date range, in YYYY-MM-DD format. Must be less than or equal to the end date. Data is available starting from the date the site was added to Search Console." }, "endDate": { "type": "string", "description": "End date of the requested date range, in YYYY-MM-DD format. Must be greater than or equal to the start date. There is a processing delay of approximately 2-3 days." }, "dimensions": { "type": "array", "description": "Zero or more dimensions to group results by. Results are grouped in the order that dimensions are specified. Valid dimensions are date, query, page, country, device, and searchAppearance." }, "type": { "type": "string", "description": "Filter results to the specified search type. Defaults to web." }, "dimensionFilterGroups": { "type": "array", "description": "Zero or more groups of dimension filters. All filter groups are ANDed together. Within a group, filters are combined using the group type (AND by default)." }, "aggregationType": { "type": "string", "description": "How data is aggregated. If auto, data is aggregated by property type. If byPage, all data is aggregated by page. If byProperty, all data is aggregated by property." }, "rowLimit": { "type": "integer", "description": "Maximum number of rows to return. Valid range is 1 to 25000. Default is 1000." }, "startRow": { "type": "integer", "description": "Zero-based index of the first row in the response. Must be a non-negative number. Default is 0." }, "dataState": { "type": "string", "description": "The data state to filter on. If set to final, only finalized data is returned. If set to all, both finalized and fresh data are included." } } }