Most of my SEO work now runs through agents and APIs instead of exports and copy-paste. That's true in two places: at Bonsai Media Group, where I lead SEO, and on my own portfolio of sites.
This is the stack, organized by what each piece does. I've left prices out except where I've actually measured them, because a stack post full of guessed subscription prices isn't useful to anyone.
Agents
Kai (my personal agent, on OpenClaw)
Kai is the agent I talk to day to day, over Telegram. It runs a nightly memory consolidation so context carries from one day to the next instead of resetting every session. From February to June 2026 that nightly review also published a journal: 22 entries from its own logs, with client names redacted.
Codex and Claude Code
These do the heavy building and analysis. They're good at different things, so I route work between them on purpose instead of picking a favorite. I published that routing as an open-source skill, codex-claude-tandem. I also published reading-discipline, a skill that stops agents from judging a file by pattern-matching on it instead of actually reading it.
I design the workflows, direct the agents, and decide what goes out.
Data sources
Google Search Console API
Clicks, impressions and queries. This is the ground truth for organic performance and the first thing any report should be checked against.
DataForSEO
Keyword data, SERPs and trends. It's metered per call, which makes cost visible. Verification scans on my rank tracker cost $0.37 to $1.67 each. My personal content pipeline's only metered spend is DataForSEO, under $3 a month at full cadence.
Semrush
Competitor analysis and keyword gaps.
Rank tracker (built)
Combines Search Console, Semrush and DataForSEO, with cost caps. It runs on demand, not on a schedule, which matches how often the data actually changes a decision.
The AI engines themselves
For AI visibility work, the engines are the data source. A September 2026 pilot asked 60 buyer questions, 4 times each, across 6 AI engines: 1,440 answers for about $8 in API cost.
Stores
Plain files over SaaS databases
Agents work best on data they can read directly. At the agency, I migrated our Notion workspace (8,311 pages) to Obsidian, and verified all 66,010 table cells against the export. Plain Markdown files are something every agent can read and write without an integration.
SQLite
My personal content pipeline keeps its memory in a SQLite file: what's been researched, briefed, drafted, gated and published.
Publishing
Cloudflare Pages
Hosts my six Astro sites (aimarketingpicks, remoteworkpicks, soflotimes, anonark, quicksummit, blacktiewhiteglove). This site, mikekhaytman.com, is plain hand-written HTML on the same platform.
The content pipeline
Built in July 2026 and autonomous since: research, brief, draft, quality gate, publish, deploy. It uses codex exec as the LLM engine and DataForSEO for data, and has published about 70 articles across the six sites. Its pre-publish gate rejected all 68 articles in the old pre-written backlog for unsourced claims, derivative content and stale facts. That gate is the most valuable part of the system.
Tools I built
Claim ledger for content
Every factual claim in a draft is traced to a source before a human sees it. On one measured batch, first-pass accuracy was 97.78% (14 errors in 633 claims), reported as an upper bound. Review packets carry planted defects so a skimming reviewer gets caught.
FactLayer
An app where each factual claim carries its source one click away, checked by a 20-rule validator.
Reporting checks
Checks that run before a client deck goes out. One caught a bot-impression burst that would have shown an RV brand's +8.4% impressions as −15.1%, a 24-point error.
Gmail Mission Control
An in-house Gmail tool that replaced the agency's shared-inbox subscription. It went from idea to v0.8 in six days.
How I sort tools
Every tool is either: 1. Data source (pulls information in) 2. Store (holds information) 3. Agent (processes and acts on information) 4. Communication (tells humans what happened)
If a tool doesn't fit one of those categories, I don't use it.
Anything an agent can't read or write, through an API or a plain file, is a dead end for automation. That one test rules out a lot of software.
Tools that try to be everything (store plus communication plus some analysis) are hard to automate around. Pieces that each do one thing well are easier to wire together and easier to replace.
What breaks first
Usually not the tools. These run out first:
- Review capacity. Agents scale output, but a human still has to decide what's true.
- Cost control. Metered APIs are cheap until a loop runs away. Every scheduled job needs a cap and an exit condition.
- Trust in the numbers. A stack that produces reports faster also produces wrong reports faster, unless checks are built in.
What you actually need
Serious SEO work doesn't need an expensive stack. It needs:
- One store agents can read (plain files, SQLite, Postgres, whatever)
- APIs for your data sources (Search Console, analytics, competitor data)
- AI models to process data, ideally more than one
- A way to schedule jobs, with cost caps
- Communication tools so humans hear what happened
- Checks that catch the stack being confidently wrong
Most stack posts leave out that last one, and it matters most.