Building a no-code SEO analysis agent with Claude Code and Semrush

Executive overview

Most SEO workflows require switching between tools, manually exporting data, and building reports by hand. Claude Code lets you connect Google Search Console, GA4, and Semrush into a single agent that you can query conversationally.

The result: an interactive dashboard, automated reports, and on-demand keyword analysis — built with prompts, not code.

You can talk directly to your SEO data without writing a single line of code.

Setting up the project structure

  • Open Claude Code via the desktop app or terminal
  • Create a new folder and ask Claude to scaffold a specific file structure: fetchers/, data/gsc/, data/ga4/, dashboard/, reports/
  • Create a CLAUDE.md file with your domain, site type, goals, competitors, and data sources — Claude references this throughout the project

Connecting Google data via API

  • In Google Cloud Console, create a new project and enable the Search Console API and GA4 Data API
  • Under IAM & Admin, create a service account with Viewer access and download a JSON key
  • Add the service account email to GSC (read access) and GA4 (user access)
  • Upload the JSON key to Claude Code and paste in the installation snippet so Claude can access both platforms
  • Create a config file with your GSC property, GA4 property ID, and any competitor domains
  • Generate fetcher scripts (copy from the linked doc or ask Claude to write them) and save to the fetchers/ folder
  • Verify data access by asking Claude to summarise what it can see before proceeding

Connecting Semrush via MCP

  • MCP (Model Context Protocol) enables Claude Code to pull live Semrush data
  • Available on all Semrush SEO Classic and Semrush One subscriptions
  • Desktop app: go to Connectors → Manage Connectors → add custom connector with the MCP remote server URL
  • Terminal: run the MCP install command and authenticate via the workflow
  • Confirm access by asking Claude to return the top 10 organic keywords — check that position, volume, keyword difficulty, and ranking URLs are all present
  • For AI Visibility data, export from the Semrush Visibility Overview report and upload the CSV manually

Caching data and building the dashboard

  • Before building the dashboard, cache Semrush data so Claude has a baseline to populate charts
  • Keep cached data requests reasonable — every API call consumes units and context window
  • Paste a single dashboard prompt; Claude builds a full multi-tab web app covering: traffic overview, striking-distance keywords, competitive gap, content performance, backlink profile
  • Run the app on localhost to view it in a browser; deploy to Vercel or Netlify to share with clients
  • If Claude gets stuck (token count climbing, no output after 4–5 minutes), stop and restart the prompt

Generating reports

  • Paste a report prompt to produce a structured Word doc covering executive summary, quick wins, competitive benchmarking, and backlink opportunities
  • Recommended format: .docx → open in Google Docs for editing before client delivery
  • If Claude requests unnecessary permissions mid-generation, stop, ask it what it actually needs, then proceed

Talking to your data

  • The most powerful use: conversational queries against the combined GSC, GA4, and Semrush dataset
  • Example: find queries with solid impressions but weak rankings, cross-reference with Semrush keyword difficulty to surface the easiest wins
  • Focus queries on analyses that would take a long time to do manually — that is where the time saving is highest
  • Always validate outputs before acting or sharing; hallucinated or misattributed data is a real risk

More like this — when you're ready for early access.

Join the waitlist for a personal account and content recommendations based on what you're working on.

No spam. Unsubscribe at any time.

You're on the list. We'll be in touch before launch.

Get early access to the full library.

Join the waitlist for a personal account and content recommendations based on what you're working on.

No spam. Unsubscribe at any time.

You're on the list. We'll be in touch before launch.

Be among the first to get personalised recommendations tailored to your stage in business.

No spam.

You're on the list. We'll be in touch before launch.

Be among the first to get personalised recommendations tailored to your stage in business.

No spam.

You're on the list. We'll be in touch before launch.