Search Console
Google Search Console performance data (impressions, clicks, CTR, average position) for projects with a connected GSC property. Growth plan or above required. ctr is a 0..1 fraction and position is the impression-weighted average. The X-Search-Console-Backend response header identifies stored or live reads. Stored reads use synced data without contacting Google. Live reads return ERR_SEARCH_CONSOLE_ACCESS_REVOKED (403) for revoked Google access; reconnect the property in Preferences > Project Settings > Data Connections. They return ERR_SEARCH_CONSOLE_UPSTREAM (503) when Google is unavailable or over quota; wait for the number of seconds in Retry-After before retrying. For queries and pages, total counts distinct keys available for the range: keys from synced daily rows for stored reads, or up to 25,000 rows from one Google request for live reads. Live responses include truncated: true when that limit is reached. Sorting and pagination apply to the available set.
GET/search_console/summary
Property-wide headline totals for the range, with an optional country or device breakdown aggregated over the same range.
project_idrequiredrangefromtodimensioncountry|device
GET/search_console/timeseries
Property-wide series bucketed by day, week or month.
project_idrequiredrangefromtogranularityday|week|month
GET/search_console/queries
Top search queries for the range, ranked and paginated. Knowingly undercounts anonymized queries, so they do not sum exactly to the summary totals (same as the GSC UI).
project_idrequiredrangefromtosortimpressions|clicks|ctr|positionpageper_page
GET/search_console/pages
Top landing pages for the range, ranked and paginated. Same shape as the queries endpoint, with each row key being a page URL.
project_idrequiredrangefromtosortimpressions|clicks|ctr|positionpageper_page