
Introduction
Most marketers pay $200–500 a month for an SEO platform that shows them aggregate market data, then wish the same tool could show them their own Google Search Console data shaped the way they actually need it. The data is right there — Google's Search Console API exposes the impressions, clicks, queries, pages, and devices behind every site they have access to — but the official UI buries most of it, and the platforms add their own layer rather than expose Google's directly.
There is a different workflow for the practitioner who wants their own data in their own shape: pair Anthropic's Claude Code documentation, the terminal-native coding agent, with the Google Search Console API reference. The combination gives you (1) direct access to the full performance data, (2) custom report shapes you can iterate on weekly, and (3) no per-seat licensing. Per Search Engine Land's tutorial on the workflow, the practical shift is from rigid dashboards to dynamic reporting — instead of pre-building static views, you “ask for the charts you need” and generate them “in minutes rather than rebuilding an entire dashboard manually.”
This post is the orientation, not the source code. We walk through what Claude Code actually is, why GSC + Claude Code is a fit, the six custom-report patterns worth building first, the five-step setup workflow, and the honest limits. Code rots fast; the workflow framing is what is durable.
Key Takeaways
- Claude Code is Anthropic's terminal-native coding agent, installed via npm and run from the command line.
- The Google Search Console API exposes more data than the GSC UI; combining the two with Claude Code lets a practitioner generate custom report shapes on demand.
- Six high-leverage report patterns: cannibalization detection, intent-gap analysis, AI-features impression-vs-click delta, top-page decay, URL-cluster performance, and freshness-refresh audit.
- The five-step setup is straightforward but takes a couple of hours the first time, per Search Engine Land's writeup.
- This is an AI-augmented practitioner workflow, not a no-code tool — some technical aptitude is required.
- Claude Code is in active development; specific commands and flags may drift over the next 6 months, while the workflow framing is durable.
What Is Claude Code, in Plain English?
Claude Code is Anthropic's terminal-based coding agent. Unlike the consumer Claude app — where you chat in a browser and copy outputs back into your work — Claude Code runs in your terminal, has direct access to your local file system, and can read, write, and execute code on your behalf. You install it as a Node.js package and invoke it with a single command. From inside a project folder, you describe what you want, and Claude Code does the steps a developer would do: reads existing files to understand the context, drafts the code, runs it, observes the output, and iterates.
For an SEO practitioner who has some technical aptitude but does not write Python from scratch, that is the unlock. You do not need to remember the exact pattern for an OAuth flow, the field names in the Search Console API response, or how to shape a CSV for downstream use. You describe the report you want; Claude Code writes and runs the code to produce it.
It is worth being specific about what Claude Code is not. It is not a no-code tool. You still need to be comfortable in a terminal, comfortable reading code well enough to spot issues, and comfortable with the idea that the first version of a report rarely runs cleanly without an iteration or two. If your reaction to “open the terminal and run node -v” is “I do not know what that means,” this workflow has a steeper ramp than the marketing-friendly framing of the tutorial suggests.
The lineage matters: Claude Code lives in the same ecosystem as Anthropic's Claude Skills documentation, which describes reusable packaged workflows, and the Model Context Protocol specification, the open standard for letting agents talk to tools. The practical relationship: Claude Code is the agent runtime, MCP is the connector standard, and Claude Skills are the reusable workflow packages. For PPC practitioners, we covered the Skills side in our piece on Claude Skills for PPC: repeatable ad systems. The SEO-reports workflow is the data-side analog: less about packaging prompts, more about wiring an agent to a data source.
Why Is GSC + Claude Code Specifically a Good Fit?
Three reasons, in increasing order of importance.
GSC has a powerful API and a clunky UI. Per Google's Performance report documentation, the report supports filtering by query, page, country, device, search type, and date range. But the UI shows you a handful of those dimensions at a time, caps the displayed rows at a fixed number, and does not let you join across dimensions in the ways most SEO questions need. The Search Console API reference exposes the same data with all dimensions queryable simultaneously. The API has been the right tool for this work for years; what has changed is how accessible it is to non-engineers.
Standard SEO platforms do not show your GSC data — they show aggregate market data. Ahrefs, Semrush, sitebulb, and similar platforms are excellent for backlink analysis, keyword research, and competitive benchmarking — all of which use the platform's own crawl data plus aggregated third-party data. None of them sit between you and your actual Search Console data. For questions where the answer is in your GSC — cannibalization on your pages, decay on your top earners, AI-features impressions on your queries — the platforms cannot help. You either use the GSC UI (limited) or query the API (more powerful but technical).
The combination collapses the build cost of custom reports. Before Claude Code, building a one-off custom GSC report meant either writing the Python yourself, hiring a developer, or building it inside a tool like Looker Studio with its own constraints. With Claude Code, the build cost drops to “describe the report you want and iterate until it is right.” Per the Search Engine Land coverage, users can “ask for the charts you need” rather than rebuilding dashboards. The honest framing: this will not replace every paid SEO tool, but it adds a category of custom reporting that paid tools structurally cannot do.

What Are the Six Custom-Report Patterns Worth Building First?
Six report patterns we have found pay back the setup investment within the first quarter of regular use. Each one solves a question the GSC UI surfaces poorly or not at all.
1. Keyword Cannibalization Detection
For each query, list every URL that has impressions for it. When two or more URLs both rank in the top 20 for the same query, flag the query as cannibalized and order the flagged list by combined impressions. Output as a markdown table sortable by total impressions.
Why it matters: cannibalization fragments authority across pages that should be consolidated. We covered the diagnosis and fix logic in our piece on the keyword cannibalization fix; the report is the upstream input.
API hint: query searchanalytics.query with dimensions: ["query", "page"], then group by query in the client.
2. Intent-Gap Analysis (Rank But Do Not Get Clicks)
Filter queries to those ranking in positions 1–10 with an unusually low click-through rate relative to expected CTR for that position. Output the gap, the page that ranks, and the query.
Why it matters: low CTR at a high rank usually means a content-intent mismatch, a snippet problem, or AI Overviews / AI Mode interception. We walked through the diagnostic logic in our piece on intent gap analysis with Google Search Console — the Claude Code workflow lets you run that analysis weekly without rebuilding it from scratch.
3. AI-Features Impression-vs-Click Delta
Compare impressions for queries where AI features (AI Overviews, AI Mode) are likely to appear against the clicks for the same queries. Look for queries where impressions are stable or rising but clicks are dropping — a signal of AI-feature interception.
Why it matters: as the AI surface continues to mediate more of the journey, the impression-vs-click delta is one of the cleanest leading indicators of AI-mediated visibility shifts. We unpacked that measurement layer in the GEO 5-layer measurement framework.
API caveat: Search Console exposes some AI-features performance reporting where available, but the rollout is uneven. Build the report so it degrades gracefully when the AI-features dimension is not present.
4. Top-Page Decay Detection
For each of your top 100 pages by impressions over the trailing 90 days, compare the most recent 30-day impressions to the 90-day baseline. Flag pages where impressions have dropped more than a threshold you set. Output ordered by absolute impression loss.
Why it matters: decay is silent. A page that used to drive 5,000 impressions a month and now drives 2,000 is not visible from a top-pages list because it is still on the list. The decay report is what surfaces it. Pair with server-log analysis to differentiate organic-traffic decay from crawl-frequency decay.
5. URL-Cluster Performance
Group URLs by path prefix (e.g., /blog/seo/, /services/, /locations/) and aggregate impressions, clicks, and CTR by cluster. Compare cluster-level performance week over week.
Why it matters: individual-URL metrics are noisy. Cluster-level metrics are where you see whether a topic cluster is gaining or losing authority. This is the report that tells you whether the SEO work you have been doing in a section is paying off.
6. Freshness-Refresh Audit
For URLs you have recently refreshed (defined by your own list, or by reading your sitemap's dateModified field), compare impressions in the 30 days after the refresh against the 30 days before. Output an ordered list of refreshed pages with the post-refresh delta.
Why it matters: refreshing content is one of the highest-leverage SEO activities, but most teams do not measure whether refreshes actually moved metrics. This report closes the loop.

What Does the 5-Step Setup Actually Look Like?
Per Search Engine Land's tutorial, the setup is straightforward but takes “a couple of hours” the first time. Here is the sequence, with the honest gotchas.
Step 1: Account and Node.js
Create a Claude.ai account (free or paid tier; Claude Code itself bills against API credits or your subscription). Install Node.js LTS, then verify with node -v and npm -v in your terminal. If node -v returns “command not found,” the Node install did not add the binary to your PATH — fix that before proceeding.
Step 2: Install Claude Code
Install Claude Code globally with npm install -g @anthropic-ai/claude-code, then launch with claude from any project folder. The first launch will prompt you to authenticate; follow the on-screen flow.
Step 3: Create Your Project Folder and Establish the Reporting Framework
Create an actual code directory on your local machine — not inside a cloud-synced folder like iCloud Drive or Google Drive, because the file-locking behavior of cloud sync interferes with the agent's write operations. Inside the folder, write a README that describes the reports you want to build, the data you are working with, and any constraints (output format, frequency, audience). Claude Code reads the README to orient itself.
Step 4: Enable the GSC API and Generate Credentials
Open the Google Cloud authentication documentation, create a project, enable the Search Console API for that project, and generate credentials. For a single-user workflow, OAuth credentials are usually simpler; for a server-side workflow that runs on a schedule, a service account is cleaner. Download the credentials JSON file and place it in your project folder; reference its path in a local .env file rather than hardcoding it.
The credentials gotcha: a service account does not automatically have access to your Search Console properties. You must explicitly add the service account email as a user on each property you want to query. Skip this step and the API returns empty responses with no obvious error.
Step 5: Ask Claude Code to Build One of the Six Patterns
Start with the simplest of the six patterns — usually URL-cluster performance, because it has fewer joins than cannibalization or intent-gap. Describe the report you want in the README and ask Claude Code to build it. Iterate by chat: when the output is not right, say so specifically (“the CTR column is showing decimals; convert to percentages”), and iterate until it is.
A practical tip: ask Claude Code to write each report as a discrete script that takes parameters (date range, threshold) rather than a single monolithic dashboard. Scripts are easier to debug, version, and rerun than dashboards.
We will not publish full working code here. The Search Engine Land article does not either, for the same reason: code rots fast, the Search Console API and Claude Code itself are both in active development, and the workflow framing is what is durable. The implementation is the part Claude Code is supposed to handle.

What Are the Honest Limits of This Workflow?
Six caveats worth understanding before you commit a Saturday to the setup.
Claude Code is not free. It bills against your Anthropic API credits or your Claude subscription. For a single practitioner running the six reports monthly, the cost is usually small — but if you ask Claude Code to do exploratory work, leave it running unattended, or have it iterate on large datasets, the cost can climb. Set up usage monitoring early.
The GSC API has its own quotas and freshness windows. Per the Search Console API reference, there are query quotas per property per day, and data has a freshness lag of 2–3 days for most dimensions. Plan your report cadence around the freshness lag, not the calendar.
Scripts need re-testing when the underlying APIs change. Google updates the GSC API periodically. Anthropic updates Claude Code. A report that works in May 2026 may need a small adjustment by October. Plan a quarterly check-and-fix cycle rather than expecting the scripts to run untouched forever.
This workflow is for AI-augmented practitioners, not first-time programmers. Claude Code lowers the bar materially, but it does not erase it. You still need to read the output well enough to spot when the report is wrong, debug authentication failures, and decide when an answer that looks right is actually wrong. Search Engine Land's tutorial is candid about this: there is “a learning curve” for non-technical users, and enterprise environments may need IT or developer assistance.
Local-only workflows have a sharing problem. A custom report that lives on your laptop is invisible to the rest of the team. If you want to share the output, plan for export to Notion, Google Sheets, or a static markdown file in a shared repo. If you want the reports to run on a schedule for the whole team, you are back to a developer task (set up a small server, schedule the script, send the output) — which is doable but not the same effort profile as the local-only workflow.
Claude Code is in active development. Specific commands, flag names, and behaviors will drift over the next 6 months. The framing of this workflow — agent + API + describable reports — is durable. The exact claude subcommand to do step 5 may not be the same in a year. Treat Anthropic's Claude Code documentation as the authoritative source for current syntax; treat this post as the framing.
For practitioners already comfortable with the broader AI-agent ecosystem, this workflow is one piece of a bigger pattern. The SEO agent skills architecture guide covers the packaged-workflow layer, this post covers the data-fetch-and-shape layer, and the broader Model Context Protocol specification covers the connector layer. Together they are the building blocks of an AI-augmented SEO practice.

Ready to Build the Reports — or Have Us Build Them For You?
If you run SEO for a small or mid-sized business and you want the custom reports without the Saturday-afternoon setup, we can build them for you. We specialize in AI-augmented workflows — agent-paired GSC reporting, MCP-connected automations, Claude Skills packages for repeatable team work — without the agency overhead of a national firm.
Want a custom GSC reporting workflow built for your team?
Learn more about our AI solutions services or our SEO services, or contact us to scope a conversation.
Frequently Asked Questions
- Do I need a paid Claude subscription to use Claude Code?
- Per Anthropic’s documentation, Claude Code is available across plan tiers, with usage billed against API credits or against your subscription. For a single practitioner running occasional reports, the cost is usually small — but for sustained or exploratory usage, the cost can rise meaningfully. We recommend setting up usage monitoring early and reviewing weekly for the first month.
- How is this workflow different from using the GSC API with ChatGPT or another agent?
- The underlying API calls would be similar, but Claude Code has direct file-system access from the terminal, which makes it materially easier to iterate on scripts, save outputs, and run scheduled jobs locally. Browser-based agents work for one-off questions but get awkward for the write-a-script-run-it-save-the-CSV-iterate loop that is the core of the workflow. Per Search Engine Land’s tutorial, the terminal-native setup is the recommended path.
- What if I do not know how to use the terminal at all?
- Then this workflow probably is not the right starting point. The minimum skill is comfort opening a terminal, running a command, and reading the output. If that is outside your current zone, your alternatives are: (1) pair with a colleague who has the comfort, (2) hire a contractor for the one-time setup and run the reports yourself afterward, or (3) work with an agency that operates the workflow as a service. The honest framing is that Claude Code lowers the bar significantly but does not erase it.
- Will my custom reports replace my paid SEO platform?
- No, and we would not recommend trying. Paid SEO platforms are good at backlink analysis, keyword research, competitive intelligence, and site audits using their own crawl data. Custom GSC reports built with Claude Code are good at questions where the answer lives in your own Search Console data. The two are complementary. The replacement framing is the wrong one; the augmentation framing is the right one.
- How often should I rerun these reports?
- It depends on the report. Cluster-performance and decay reports are usually monthly. Cannibalization and intent-gap analysis are typically quarterly because the queries are slower-moving. AI-features impression-vs-click delta is useful weekly or biweekly during periods of AI-surface change. Freshness-refresh audit runs whenever you ship a meaningful refresh and want to measure impact at the 30-day mark.
- Can I use service-account authentication instead of OAuth for unattended runs?
- Yes, and for scheduled or unattended runs it is the recommended path. Per Google Cloud’s service account documentation, service accounts authenticate without an interactive flow, which is what you want for a cron-driven script. The gotcha worth repeating: a service account does not automatically have access to your Search Console properties — you must explicitly add the service account email as a user on each property in Search Console settings. We have seen otherwise-correct setups return empty responses for hours before someone notices the missing user permission.
- Will Claude Code’s commands change in 6 months?
- Probably some of them, yes. Claude Code is in active development, and specific subcommand names, flag conventions, and default behaviors are likely to evolve. The workflow framing — agent paired with the Search Console API to generate practitioner-defined reports — is durable for the foreseeable future. The exact syntax for any one step is not promised stable. Anthropic’s Claude Code documentation is the authoritative source for current syntax.
Sources & Further Reading
- Search Engine Land: How to build custom SEO reports with Claude Code and Google Search Console — primary tutorial, May 19, 2026.
- Anthropic: Claude Code documentation — canonical reference for the terminal agent.
- Anthropic: Agent Skills documentation — companion documentation for reusable workflow packages.
- Anthropic: Model Context Protocol specification — open standard for agent-to-tool connectors.
- Google: Search Console API reference — canonical API documentation for the GSC data layer.
- Google: Search Console help — Performance report — documentation for the report dimensions exposed in the UI.
- Google Cloud: Service account authentication getting started — reference for unattended credentials.
- web.dev: Measure performance with web.dev — companion measurement reference for site-performance reporting.
