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. Stored reads refuse queries, pages and narrowed requests with ERR_INVALID_PARAM. For queries and pages, total counts the rows of one Google request, up to 25,000 (truncated: true at that limit). Row lists do not add up to the totals: to total a set of pages or queries, call /search_console/summary with filters and no dimension.
GET/search_console/summary
Headline totals for the range, property-wide unless filters narrows them, with an optional breakdown aggregated over the same range. breakdown_truncated: true means the breakdown left rows out. Query rows exclude anonymized queries, and page and searchAppearance rows are counted per page rather than per property, so breakdown rows can differ from the totals.
project_idrequiredrangefromtodimensioncountry|device|page|query|searchAppearancelimitdefault and max 1000search_typeweb|image|video|news|discover|googleNewsfiltersdata_statefinal|allaggregation_typeauto|byPage|byProperty
GET/search_console/timeseries
Series bucketed by day, week or month, property-wide unless filters narrows it.
project_idrequiredrangefromtogranularityday|week|monthsearch_typeweb|image|video|news|discover|googleNewsfiltersdata_statefinal|allaggregation_typeauto|byPage|byPropertyoutputflat|csv
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_pagestart_rowsearch_typeweb|image|video|news|discover|googleNewsfiltersdata_statefinal|allaggregation_typeauto|byPage|byPropertyoutputflat|csv
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_pagestart_rowsearch_typeweb|image|video|news|discover|googleNewsfiltersdata_statefinal|allaggregation_typeauto|byPage|byPropertyoutputflat|csv
GET/search_console/rows
Rows grouped by up to three dimensions, for example page and query, or date and page, ranked and paginated. Each dimension is its own field. Google returns at most 25,000 rows per request: truncated: true marks a full window and start_row reads the next one.
project_idrequireddimensionsrequired, comma-separated, 1 to 3 ofdate|country|device|page|query|searchAppearancerangefromtosortimpressions|clicks|ctr|positionpageper_pagestart_rowsearch_typefiltersdata_statefinal|allaggregation_typeauto|byPage|byPropertyoutputflat|csv