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.

Params:
  • project_idrequired
  • range
  • from
  • to
  • dimensioncountry|device

GET/search_console/timeseries

Property-wide series bucketed by day, week or month.

Params:
  • project_idrequired
  • range
  • from
  • to
  • granularityday|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).

Params:
  • project_idrequired
  • range
  • from
  • to
  • sortimpressions|clicks|ctr|position
  • page
  • per_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.

Params:
  • project_idrequired
  • range
  • from
  • to
  • sortimpressions|clicks|ctr|position
  • page
  • per_page