A competitor analysis report template is mostly a list of lookups: the same handful of questions asked about four or five domains. That makes it a good job for a coding agent. Give Claude Code, Cursor or Codex the template, connect it to a tool that runs the lookups, cap the spend, and review what comes back. This guide sets that up with seogeoaeo.ai and keeps the cost predictable.
The template the agent fills
Use a CSV with one row per site and your own domain first. The header below comes from the seogeoaeo.ai competitor analysis template:
site,role,organic_visits_month,ranking_keywords,top10_keywords,top_pages,shared_keywords,gap_keywords,referring_domains,link_rank,content_types,google_ads,social_ads,ai_citation_share,decision_notes
Put this file in your repo, add the domains in the first column, and tell the agent which tool fills which column. That last part is what keeps the report comparable: each column must come from one source for every row.
Connect the agent
seogeoaeo.ai exposes every tool over MCP at https://seogeoaeo.ai/api/mcp and over REST at https://seogeoaeo.ai/api/v1. Create an API key in your account, add the MCP server to your client, and the tools appear by slug. GET /tools lists every tool with its price and input schema without a key, which is handy for writing the prompt.
Two arguments matter for agents:
maxCreditsmakes a call refuse to run if its price is above the number you set.idempotencyKeylets a retry go through without paying twice.
Agent runs cost the same credits as runs in the browser.
Map columns to tool calls
| Columns | Tool slug | Input | Credits |
|---|---|---|---|
| role, shared_keywords | competitor-finder | your url, market | 38, once |
| organic_visits_month, ranking_keywords, top10_keywords, referring_domains, link_rank | domain-overview | url, market | 50 per site |
| top_pages | competitor-keywords | url, market | 35 per rival |
| gap_keywords | keyword-gap | url, competitor, market | 85 per rival |
| google_ads | competitor-google-ads | url, market | 15 per rival |
| social_ads | meta-ad-finder, linkedin-ad-finder | query or company | 5 each |
| ai_citation_share | ai-citation-finder | mode topic, query | 160, once |
content_types stays human work. The agent can list the top pages, but someone should open each one and label it as a guide, template, calculator, comparison page, category page or documentation.
Budget the run
Each rival row costs 195 credits across the six per-rival tools. For four rivals, plus a Domain Overview on your own site, Competitor Finder and one AI Citation Finder topic run, the total is about 1,030 credits. Put that number in the prompt and pass maxCredits per call at the tool's listed price, so a changed price stops the run instead of surprising you. The Indie plan is $29 a month for 2,000 credits; top-ups need an active plan and never expire.
A short prompt that works:
Fill competitors.csv. Use competitor-finder once on my domain (market us) to confirm the rows. For each domain, run domain-overview; for each rival, run competitor-keywords, keyword-gap against my domain, competitor-google-ads, meta-ad-finder and linkedin-ad-finder. Run ai-citation-finder once in topic mode for "[my topic]". Set maxCredits to each tool's listed price. Leave content_types and decision_notes empty. Stop and report if the total passes 1,100 credits.
Things the agent should know
- Numbers are provider estimates. They compare across rows but won't match your Search Console clicks; keep those in a note.
- Competitor Finder can return few close competitors for a small site. The agent should fall back to Competitor Keywords on rivals you name.
- Keyword Gap only lists keywords where the rival is in Google's top 20 and you don't rank at all.
- The ad tools show what is running and for how long, not spend.
- AI Citation Finder covers Google AI Overviews and ChatGPT only. A site that never appears gets "Not cited".
- Failed runs that return nothing are refunded, but a lookup that finds the domain with no data can still be charged; each tool page says which.
Turn the CSV into the report
Once the numbers are in, the human part starts. Write three or four decisions, each with the row and column behind it, an owner and a recheck date. Rerun the same prompt each quarter into a new file and diff the two. seogeoaeo.ai has no rank tracker, so for daily positions between those runs, a suite like Semrush is the better tool.