Which Claude Code SEO Skills Need an API Key? We Read 9 SKILL.md Files
Last updated: November 8, 2026
Short answer: of the nine SEO skills in our Claude Code guide, four need no account or key: seo-audit, ai-seo, programmatic-seo and the web-quality seo skill. Two run local scripts (seo-geo, claude-seo). Three depend on an outside account: firecrawl-seo-audit declares a required FIRECRAWL_API_KEY, and the OpenSEO and iannuttall/seo skills need a connected data source for most of their work.
We run Skillselion, an independent directory of skills and MCP servers ranked by real installs. It is not affiliated with Anthropic. Adapted from our Skillselion guide to SEO skills for Claude Code, with every quote below checked against the current upstream SKILL.md on GitHub and every install count taken from the live listing on November 8, 2026.
A skill description tells Claude when to load the skill. The body tells it what to do. Those two often promise different things, so we read the bodies.
Which SEO skills work with no API key at all?
seo-audit (248,636 installs). seo-audit skill listing, source on GitHub. It is a checklist with a fixed order: crawlability and indexation, technical foundations, on-page, content quality, then authority and links. It checks Core Web Vitals against fixed targets: LCP under 2.5s, INP under 200ms, CLS under 0.1. No script runs. Claude does the inspection with whatever tools your session already has.
npx skills add https://github.com/coreyhaines31/marketingskills --skill seo-auditai-seo (160,148 installs). ai-seo skill listing, source on GitHub. This is content and strategy advice for citations in ChatGPT, Perplexity, Claude, Gemini and Google AI Overviews. The body is mostly a routing table that sends Claude to reference files on agent readiness, answer accuracy, prompt portfolios and platform ranking factors. It does not crawl anything by itself.
programmatic-seo (157,754 installs). programmatic-seo skill listing, source on GitHub. It covers 12 playbooks and ranks your data by how hard it is to copy, from “Proprietary (you created it)” at the top down to public data, which it calls the weakest. Its blunt line: “Better to have 100 great pages than 10,000 thin ones.”
All three come from one repo, coreyhaines31/marketingskills, with 59,115 GitHub stars on November 8, 2026. The star count is for the whole repo.
web-quality seo (54,386 installs). web-quality-skills seo listing, source on GitHub. This is the most technical of the free group. It tells Claude to “Run live Lighthouse SEO and Agentic Browsing checks when that capability is available”, then inspect what Lighthouse cannot see: response headers, redirects, robots.txt and sitemap coverage. With Chrome DevTools MCP connected it calls lighthouse_audit. Without it, the skill falls back to the Lighthouse CLI and plain HTTP inspection.
Which ones need a local setup step?
seo-geo (55,939 installs). seo-geo skill listing, source on GitHub. It ships scripts/seo_audit.py for a "Quick technical SEO check (title, meta, H1, robots, sitemap, load time)" and adds "No API needed." You need Python 3. It also lists the bots robots.txt should allow, including PerplexityBot, ChatGPT-User, ClaudeBot and GPTBot. Keyword research here is Claude running WebSearch queries, so there is no keyword volume data from a paid tool.
One thing to know before you trust its numbers. seo-geo prints a table of “9 Princeton GEO Methods” with a percentage next to each one, for example “Cite Sources” at “+40%”. Treat those as research findings, not a forecast for your site. ai-seo, from the other repo, says exactly that: “Never turn a study’s percentage into a client forecast without matching engine, industry, language, market, and date.”
claude-seo (9,867 installs). claude-seo skill listing, source on GitHub. The SKILL.md says it “Orchestrates 25 sub-skills” and “19 sub-agents”. A /seo audit <url> run detects the business type and spawns subagents such as seo-technical, seo-schema and seo-geo. It runs bundled Python through a launcher, and /seo setup creates "the isolated Python runtime and Chromium". The core runs without a key. The paid edge shows up in the command list: backlinks are "free: Moz, Bing, CC; premium: DataForSEO".
Which ones need an account or a paid key?
firecrawl-seo-audit (32,286 installs). firecrawl-seo-audit skill listing, source on GitHub. This is the only skill of the nine that declares a required input in its frontmatter. The inputs block names FIRECRAWL_API_KEY and sets required: true. Without the key, the skill cannot scrape a page. The body also says plainly what scraping cannot tell you: "Do not infer search volume, traffic, indexing status, Core Web Vitals or ranking causes from scrape output or search-result order".
The skill now lives in the firecrawl/firecrawl-workflows repo, so older links to it may be stale.
Get Skillselion.com’s stories in your inbox
Join Medium for free to get updates from this writer.
iannuttall/seo (24,550 installs). iannuttall seo skill listing, source on GitHub. It reads Search Console, Google Analytics, Bing Webmaster Tools and Clicky. The free part is clear: “seo crawl --url <url> needs no sign-in and works on any site, local and staging too." Everything else needs seo login, and keyword and backlink data come from DataForSEO or Ahrefs.
OpenSEO keyword-research (7,372 installs). OpenSEO keyword-research skill listing, source on GitHub. It needs the OpenSEO MCP server and a projectId. The workflow mentions credits directly: "Before spending credits, check the research log. If the same research ran within the last 30 days, reuse that result and say so instead of re-buying it." When Search Console is connected, it starts from your striking-distance queries at positions 5 to 20 with at least 50 impressions.
Which rules are worth stealing for your own CLAUDE.md?
The best lines in these files are guardrails against confident, wrong output. They work in any project, SEO or not. Here are the ones we would copy, verbatim from upstream:
- From seo-audit: “Reporting ‘no schema found’ based solely on
web_fetchorcurlleads to false audit findings". The skill's own reason:web_fetchstrips<script>tags, JSON-LD included, and plaincurlcannot see schema that JavaScript adds after page load. - From OpenSEO keyword-research: “Do not invent metrics. If OpenSEO does not return a value, write
unknown." - From firecrawl-seo-audit: “API success does not prove the target returned a healthy page.”
- Also from firecrawl-seo-audit: “Do not invent an overall score or forecast traffic gains.”
- From web-quality seo: “Do not invent ranking-factor weights or promise ranking changes.”
- From iannuttall/seo, on Google updates: “Report it as timing, never as the cause.”
- From OpenSEO again: “Do not call
save_keywordswithout explicit confirmation."
Rules 2, 4 and 5 make the same point three ways. When the data source returns nothing, the agent should say so instead of filling the gap. Rule 3 is the subtle one: a 200 from your scraping API can still wrap a 404 page or a bot block.
So which should you install first?
If you have no keys and want results today, start with seo-audit. Add web-quality seo if you have Chrome DevTools MCP for Lighthouse runs. Add ai-seo when AI citations matter more than blue links. Pay for a data source only when you need real keyword volume. That is where OpenSEO, iannuttall/seo or the Firecrawl key earn their cost.
Don’t install all nine at once. Their descriptions overlap, so Claude may load the wrong one. For the rest of the category, see our ranked shortlist of marketing and SEO skills.
FAQ
Does any Claude Code SEO skill require an API key? Yes. firecrawl-seo-audit lists FIRECRAWL_API_KEY as a required input. OpenSEO keyword-research needs the OpenSEO MCP server, and iannuttall/seo needs a sign-in for everything except its crawl command.
What is the most installed SEO skill for Claude Code? Among the SEO skills in our guide, seo-audit from coreyhaines31/marketingskills, with 248,636 installs on its live listing as of November 8, 2026.
Can Claude Code check structured data with curl? Only for schema that is already in the server HTML. curl cannot see JSON-LD that JavaScript adds after load, and Claude’s web fetch strips script tags, so seo-audit tells Claude to render the page in a browser or use Google’s Rich Results Test before it reports missing schema.
Install counts come from our live catalog, refreshed daily from skills.sh, GitHub and MCP registries, ranked by real installs. More data on skill adoption is on our Skillselion research hub.







