Read search performance
read_performanceRead the site's organic search performance from Search Console and GA4: clicks, impressions, CTR, average position, sessions and key events for a window, with a series over time and an optional comparison window. Without dimension it returns totals, the series, data coverage and how many rows each breakdown has; with dimension it returns one page of rows by query, page, country, device or day (10 by default, pass next_cursor for more). The range defaults to last_synced, all imported data; most custom windows have no saved snapshot and return performance_range_not_projected, so prefer the preset ranges. not_connected means no search source is connected, which is not zero; read_integration_status says why. Use read_query_evidence for queries matched to crawled pages, and read_ai_referrals for traffic from AI assistants.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | With dimension: one of clicks, ctr, dimension_key, impressions, position; prefix - for descending, such as -clicks. | |
| limit | No | With dimension: rows per page. | |
| range | No | The reporting window. | |
| cursor | No | The next_cursor a previous page returned. | |
| compare | No | The window to compare against; custom needs the compare dates. | |
| end_date | No | Last day of a custom window, inclusive. | |
| dimension | No | Break the totals down by this dimension, paged. | |
| project_id | Yes | A project id that list_projects returned. | |
| start_date | No | First day of a custom window, inclusive. | |
| granularity | No | The bucket size of the totals over time. | |
| compare_end_date | No | Last day of a custom comparison window, inclusive. | |
| compare_start_date | No | First day of a custom comparison window, inclusive. |