get_search_console_performance
Query the connected Search Console property's Search Analytics: clicks, impressions, CTR, and average position by query/page/country/device/date. First-party data — use it for what already ranks, near-ranking queries, and pages with real demand. ctr is a 0-1 fraction; position is a 1-based average; dates are Pacific Time; the last ~3 days may be incomplete. Read-only and FREE (no credits) — Search Console is first-party data and meters nothing. It does spend Google's per-property request quota. Google omits rows it will not disclose (anonymised queries) and returns at most rowLimit of the rest, so what it withholds is not measured rather than absent: zero rows is not zero demand, and a total summed from these rows is a floor, never the property's real total. When hasMore is true you have seen only part of the match set — page with startRow before reporting any sum or count as complete.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Search type (default web). | |
| endDate | No | Explicit end (YYYY-MM-DD, Pacific Time). Use with startDate. | |
| filters | No | AND-combined filters. To get the queries for one page: [{dimension:'page',operator:'equals',expression:'https://example.com/post'}] with dimensions ['query']. | |
| rowLimit | No | Rows per call (default 1000, max 1000). GSC sorts by clicks desc and can't filter by position — filter 'striking distance' positions client-side, and paginate with startRow when hasMore is true. | |
| startRow | No | Pagination offset. | |
| dataState | No | 'all' (default) includes fresh/incomplete recent data. | |
| dateRange | No | Convenience window (default last_28_days). End is set ~3 days back for GSC data lag. Ignored if startDate+endDate are given. Max lookback is 16 months. | |
| projectId | Yes | Required. The MisarSEO project ID to scope this call to. Get one from list_projects. | |
| startDate | No | Explicit start (YYYY-MM-DD, Pacific Time). Use with endDate. | |
| dimensions | No | Group rows by these dimensions. Default ['query']. Use ['page'] for top pages, ['query','page'] to map queries to pages / spot cannibalization, ['date'] for a time series. |