SEO

get_seo_overview

Google search performance from Search Console over the range: clicks, impressions, average position, keywords in the top 10, pages with impressions, the site health score, and the daily trend.

readReads only. Annotated read-only, so a client can call it without asking.
Plan
Track and above
Rate cost
1 unit

Try asking

“How is our Google search traffic doing this month?”

Arguments

Passed as the tool call's arguments.

project_idstringrequired

The project to read, from list_projects.

rangeenum<string>default 30d

How far back to measure.

Values:7d30d90d

Result

The same object as Get the SEO overview, returned as structured output.

connectedboolean

Whether Search Console is connected. False: every figure below is empty.

awaiting_databoolean

Connected, but nothing synced for the range yet — zeros here are an absence of data, not a site with no traffic.

kpisobject

The tiles on the SEO overview, over the range.

+Show child attributes
clicksinteger

Clicks from Google search.

impressionsinteger

Times the site appeared in results.

avg_positionnumbernullable

Mean of the daily average positions.

keywords_in_top10integer

Search Console queries ranking in the top 10 in the latest window.

pages_with_impressionsinteger

Pages Google showed at least once in the latest window.

site_health_scorenumbernullable

The latest site health score, 0–100.

site_health_deltanumbernullable

Change in the score since the previous audit, in points.

trendobject[]

One point per day in the range, oldest first.

+Show child attributes
datestring

Day, as YYYY-MM-DD.

clicksinteger

Clicks from Google search that day, from Search Console.

impressionsinteger

Times the site appeared in results that day.

avg_positionnumbernullable

Average position across the day's impressions. Null when Search Console reported none.

Errors

404 not_foundThe project or item doesn't exist in this workspace. A project from another workspace also returns 404, never 403.
422 invalid_requestA parameter or body field is missing or has the wrong type or value. The message names the field. Also returned when a write would pass the plan's prompt limit.
401 unauthorizedNo key was sent, or the key is unknown, revoked or expired, or the member who created it has left the workspace or been deactivated.
402 plan_requiredThe workspace's plan doesn't include API access. It's included on every plan from Track up — Solo is the one without it.
403 workspace_not_approvedThe workspace is still waiting for approval, or wasn't approved.
429 rate_limitedToo many requests this minute. Wait for the number of seconds in the `Retry-After` header, then retry.

Every code, and what to retry, is in Errors.

Failures arrive as a tool error — isError: true with code: message as text. See Using the tools.