Hermes can run SEO workflows for free by driving your browser directly. It clicks through Google Search Console, extracts data from SEO tools, and fills in CMS fields. Adding a search API lets Hermes verify data against live SERPs without opening a browser tab for every query.
One note before the setup. Hermes ships every one to three days -- it is on the 0.20 line as of this writing -- so bundled tools, flag names and skill behaviour move faster than any blog post can track. Nothing below depends on a specific release: the browser-driving half is a property of the agent, and the data half is a plain HTTP contract that does not change when you bump Hermes.
What Hermes Does
Hermes drives mouse and keyboard input to interact with applications on your screen. For SEO tasks, it can navigate to Google Search Console, export performance reports, open competitor pages, and update content in your CMS. Unlike API-only automation, this works with any tool that has a UI, including tools that never shipped an API.
That is also its cost. Every UI step is a screen render, a wait, and a chance to break when a vendor ships a redesign. So the useful split is: drive the UI only where there is no API, and take structured data over HTTP everywhere else.
Adding a Search API for Data Verification
Google SERP data comes back as one JSON object -- organic results, ads, knowledge graph, AI overview, related questions -- from a single POST. Every request is a POST with a JSON body, authenticated with a bearer token.
import requests, os
API_KEY = os.environ["SCAVIO_API_KEY"]
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
def verify_ranking(keyword, target_domain, pages=3):
"""Find target_domain's position for keyword, checking the first `pages` pages."""
for page in range(pages):
resp = requests.post(
"https://api.scavio.dev/api/v2/google",
headers=HEADERS,
json={"query": keyword, "gl": "us", "hl": "en", "start": page * 10},
timeout=30,
)
resp.raise_for_status()
for r in resp.json().get("organic_results", []):
if target_domain in r.get("link", ""):
return {
"keyword": keyword,
"position": r.get("position"),
"title": r.get("title", ""),
"url": r.get("link", ""),
}
return {"keyword": keyword, "position": None}
# Hermes calls this instead of opening a browser tab
result = verify_ranking("best serp api", "example.com")
print(result)position is Google's own result order, so you do not have to count rows yourself. Pass location (for example New York,New York,United States) or gl/hl when rank depends on geography, and device: "mobile" when you are tracking the mobile SERP -- both are common sources of "the tool says 4, I see 9" disagreements.
The same base URL covers the rest of the Google surface that SEO work actually touches: News, Maps, Shopping, Trends, Flights, Hotels, and AI Mode. AI Overview is the one worth wiring up first if you have not: resolve_ai_overview defaults to true, so the SERP response inlines the full overview when Google defers it, which is how you find out whether your page is being cited or replaced.
Installing It Inside Hermes
Two ways in, depending on how much surface you want the agent to carry.
Skills, installed from ClawHub straight into Hermes:
hermes skills install @scavio-ai/scavio-googleThere are 50 skills covering 50 platforms, including a generic Extract endpoint (any URL to markdown, text or HTML). One skill carries the trigger conditions, parameter table and failure handling for one platform, which is the right weight for an SEO agent that mostly needs Google.
Or the hosted MCP server at https://mcp.scavio.dev/mcp, streamable HTTP, authenticated on the x-api-key header. The default surface registers 106 tools across 11 platforms; widen it with the x-scavio-platforms header when a workflow needs more.
Hermes vs Paid SEO Tools
Semrush (from $129/month) and Ahrefs (from $99/month) give you dashboards for rank tracking, keyword research and site audits, plus their own index and historical data. Hermes plus a search API gives you the raw current SERP and nothing else -- you build the tracking yourself.
The arithmetic, using real Scavio pricing rather than a round number: a Google SERP call is 1 credit. Credit cost varies by platform, so check the endpoint you are calling, but the whole Google family is 1 credit per request. 200 keywords checked weekly is about 870 calls a month. On pay-as-you-go at $0.01 per credit that is roughly $9 of credits, though PAYG has a 5,000-credit minimum purchase; on the $30/month plan (7,000 credits) it uses about an eighth of your allowance and leaves room for competitor checks and AI Overview monitoring on the same budget.
New accounts get 50 credits on signup, one time, no card required -- enough to rank-check 50 keywords and see whether the JSON is shaped the way your workflow needs before paying anything. Get a key.
The honest tradeoff: you are trading a dashboard and a backfilled index for a data feed you own. If you need three-year historical rank graphs and backlink discovery, the suites still win. If you need current positions in a database you control, the API is several times cheaper and the data lands in your schema.
The Hybrid Approach
Use Hermes for tasks that genuinely require browser interaction -- submitting sitemaps in Search Console, updating meta tags in WordPress, reading Core Web Vitals in PageSpeed Insights -- and the API for everything that is really a data pull: rank checking, SERP feature monitoring, competitor tracking, AI Overview citation checks. Hermes orchestrates; the API is the data layer.
A practical failure mode worth naming: agents that scrape their answers out of a rendered browser page produce results that silently change shape when Google reshuffles the SERP layout, and the agent has no way to tell a layout change from a ranking change. A structured response either has organic_results or returns an error you can act on. For anything that writes to a database, prefer the path that fails loudly.
When Hermes Is Not Enough
Desktop automation is limited to one machine and one browser session. It cannot run headless, cannot parallelise across machines, and is slower than an HTTP call by orders of magnitude. For high-volume monitoring -- 1,000+ keywords checked daily -- go API-only or use a dedicated SEO tool. Hermes earns its place on the workflows that chain several UI-only tools together, which is exactly the work no API can do for you.