Summary
auto-geo is an MIT-licensed command-line GEO engine from research lab Shadow that audits pages for citation readiness, generates and rewrites them to a strict structure, then measures whether AI search engines cite the domain. It runs locally, storing prompts and results as committable files.
- Best for
- developer-led teams or solo marketers
- Not for
- non-technical marketing teams that want a hosted dashboard, Google AI Overviews monitoring, or a done-for-you managed service
- From
- Free
- Free tier
- YesMIT-licensed and free in full: no account, server or database, and no feature is withheld. Every command that calls an engine or an LLM (check, write, fix, prompts discover) spends against your own OpenAI, Anthropic, Perplexity, Google or xAI key instead.
What it does
- Monitors AI answers
- YesRuns your tracked prompts against real grounded-search APIs and reports whether your domain appears in each answer's citations, saving every run locally.
For each prompt, ask a real AI search engine and report whether your domain is among the citations. This is the ground truth doctor predicts.
github.com/shadowresearch/auto-geo - Optimises your content
- YesThe doctor command audits any live URL against eight citation-readiness checks and returns a ranked fix list, so it grades pages you already have.
Each check returns one of three things: a clear pass, a clear fail, or a fail with a fix suggestion.
github.com/shadowresearch/auto-geo/blob… - Generates content
- YesThe write command turns target queries into validated JSON pages that already conform to the vendor's seven-block GEO architecture, one file per query.
Give it your domain and the queries you want to be cited for; get back validated, publish-ready JSON files — one structured page per query,…
github.com/shadowresearch/auto-geo - Publishes to your site
- NoOutput is JSON files on disk that you must publish yourself; the HTTP publish pipeline and CMS storage adapters were removed when the package became CLI-only.
Files are ready to publish through your own pipeline — CMS import, static-site build, or custom renderer.
github.com/shadowresearch/auto-geo/blob… - Technical AEO
- PartlyCovers schema only: it audits and emits Article and FAQPage JSON-LD, but nothing in the documented commands generates llms.txt, robots rules or other crawler directives for your site.
Schema-derived. Article + FAQPage JSON-LD emitted from structure, not hand-written.
github.com/shadowresearch/auto-geo - Done-for-you service
- PartlyThe tool itself is self-service software, but the publisher states it also runs the whole loop on a schedule for client teams; no engagement terms, scope or rates are published anywhere in the repository.
Shadow runs auto-geo end-to-end on a schedule for media research, PR, and communications teams.
github.com/shadowresearch/auto-geo
Answer engines
- ChatGPT
- YesQueried through OpenAI's Responses API with the web_search tool rather than the ChatGPT consumer app, and relabelled 'chatgpt' in the interop output format.
Uses the Responses API with the web_search_preview tool.
github.com/shadowresearch/auto-geo/blob… - Perplexity
- YesThe default engine: Sonar performs grounded web search server-side and the adapter reads the citation array it returns, with sonar-pro available via a model override.
Uses Perplexity's Chat Completions API with sonar (or sonar-pro). Sonar performs grounded web search server-side and returns citations as a top-level…
github.com/shadowresearch/auto-geo/blob… - Gemini
- YesQueried through Google's generateContent grounding API; the adapter also derives a companion citation because Gemini wraps every grounded source in a redirect URL.
Uses Google's generateContent API with the google_search grounding tool (the newer flow that supersedes google_search_retrieval).
github.com/shadowresearch/auto-geo/blob… - Google AI Overviews
- PartlyOptimisation targets AI Overviews explicitly — the page standard is calibrated to it and pages can be tagged google_aio — but no engine setting can measure whether AI Overviews cite you.
The SOP is calibrated to the public retrieval and citation behavior of major AI search engines (ChatGPT, Perplexity, Google AI Overviews, Google AI…
github.com/shadowresearch/auto-geo/blob… - Google AI Mode
- PartlySame split as AI Overviews: the content standard is calibrated for Google AI Mode and pages carry a google_ai_mode target label, yet the measurement command cannot query that surface.
Non-empty subset of {chatgpt, perplexity, google_aio, google_ai_mode, claude, gemini, copilot}.
github.com/shadowresearch/auto-geo/blob… - Claude
- YesQueried through Anthropic's Messages API with the server-side web search tool, merging raw search results and inline answer attributions into one deduplicated citation list.
Uses the Messages API with the server-side web_search_20250305 tool.
github.com/shadowresearch/auto-geo/blob… - Microsoft Copilot
- NoCopilot is not one of the five engines the measurement command accepts; it appears only as a target-platform label you can tag on generated pages, which is never queried.
One of perplexity (default), openai, anthropic, gemini, xai (alias: grok), or all (run every engine whose API key is present in env).
github.com/shadowresearch/auto-geo/blob… - Grok
- YesGrok is a first-class engine via xAI Live Search, though the vendor notes it returns URLs without titles and exposes no fan-out queries, so those rows come back empty.
Uses xAI's OpenAI-compatible chat completions endpoint with the search_parameters extension (mode: "on", return_citations: true) that enables Live…
github.com/shadowresearch/auto-geo/blob… - DeepSeek
- NoDeepSeek is absent from the closed engine list the check command accepts, and the word does not appear anywhere in the README, the changelog or the bundled documentation.
One of perplexity (default), openai, anthropic, gemini, xai (alias: grok), or all (run every engine whose API key is present in env).
github.com/shadowresearch/auto-geo/blob… - Meta AI
- NoMeta AI is not among the five engines the check command accepts, and no Meta surface is mentioned in the README, the docs bundle or the changelog.
One of perplexity (default), openai, anthropic, gemini, xai (alias: grok), or all (run every engine whose API key is present in env).
github.com/shadowresearch/auto-geo/blob… - Coverage in the vendor’s words
- YesFive engines, all equal and all self-funded: you supply a key per engine, run one or all of them, and get per-engine plus union coverage; there are no plans, so no tier caps exist.
One of perplexity (default), openai, anthropic, gemini, xai (alias: grok), or all (run every engine whose API key is present in env).
github.com/shadowresearch/auto-geo/blob…
What it reports
- Names the cited sources
- YesEvery run lists the cited URLs with their rank and the total citation count for that query, plus the raw source list, so you see which pages and domains the engine actually used.
For each cited URL, rank is its 1-based position in the engine's citation list, and totalCitationsForQuery is the denominator.
github.com/shadowresearch/auto-geo/blob… - Competitor tracking
- PartlyYou can audit a rival's page structure with doctor, but the measurement command takes exactly one required domain per run, so there is no side-by-side rival citation view.
Run it on any URL — yours, a competitor's, every page in your sitemap — and get a structured report on the citation signals AI engines look for.
github.com/shadowresearch/auto-geo - Brand sentiment
- NoNo sentiment or attribute analysis: the run reports coverage, cited URLs and rank, and can print the engine's raw answer text, leaving any reading of tone or attributes to you.
Render the engine's natural-language answer under each query in human output. preview (default, ~3 sentences, ~400 chars), full, or none.
github.com/shadowresearch/auto-geo/blob… - Recommendations
- YesEach failing check carries a fix suggestion ranked by citation impact, and the fix command goes further by regenerating the page so it passes all eight checks.
Where doctor tells you what's wrong, fix produces a GEO-optimized rewrite that passes all 8 checks — fetched, audited, regenerated, and validated…
github.com/shadowresearch/auto-geo - AI crawler analytics
- NoNothing ingests server logs or reports AI bot hits; the tool keeps no server, account or database, and its own fetches are the only crawling it does.
Everything is file-based and committable — tracked prompts, check history, config. No server, no account, no database. One install away:
github.com/shadowresearch/auto-geo - Wrong answers about you
- NoThe run records only whether your domain was cited, which URLs and at which rank; it never evaluates whether the engine's claims about your brand are accurate.
For each prompt, ask a real AI search engine and report whether your domain is among the citations. This is the ground truth doctor predicts.
github.com/shadowresearch/auto-geo
Plans and signing up
- Prompt or credit allowance
- YesNo included allowance and no vendor cap: prompts are lines in a committable text file, and volume is bounded only by your own provider account and spend.
.auto-geo/prompts.txt — plain text, one prompt per line, # comments allowed.
github.com/shadowresearch/auto-geo/blob… - Projects or brands
- PartlyOne tracked domain per workspace: config is discovered by walking up from the working directory, so several brands mean several directories rather than one multi-brand view.
auto-geo.config.json (discovered by walking up from cwd — monorepo-friendly)
github.com/shadowresearch/auto-geo/blob… - Countries
- NoNo country, locale or market flag exists in the documented command surface, and the page audit is explicitly English-only, so queries run wherever each provider defaults.
English-only. The capitalization-based entity heuristic and the hedge-phrase regex assume English prose.
github.com/shadowresearch/auto-geo/blob… - How often it checks
- PartlyOn demand only — there is no scheduler; the vendor positions it as a CI gate or weekly scorecard, so any cadence comes from the cron or pipeline you wire up yourself.
Use it as a CI gate, a weekly scorecard, or a one-shot competitive audit.
github.com/shadowresearch/auto-geo/blob… - Card required to start
- NoNothing to sign up for: it is an MIT-licensed package you install locally, with no account, no server and therefore no payment details at any point.
Everything is file-based and committable — tracked prompts, check history, config. No server, no account, no database. One install away:
github.com/shadowresearch/auto-geo - Self-serve signup
- YesEntirely self-serve: one global install, or a standalone binary, with no sales contact, no account creation and no hosted service in the path.
Everything is file-based and committable — tracked prompts, check history, config. No server, no account, no database. One install away:
github.com/shadowresearch/auto-geo
Access and integrations
- API
- PartlyThere is no hosted or public HTTP API and the library exports were removed; programmatic access means piping the CLI's stable JSON or NDJSON output into your own stack.
The CLI commands, their flags, and their --json / --ndjson output shapes are the public API (as of v0.7.0 — the library exports were removed).
github.com/shadowresearch/auto-geo/blob… - MCP server
- NoNo MCP server ships today — it was deleted when the package became CLI-only, so an agent drives the binary and reads its JSON rather than calling a tool server.
bun install in the release workflow choked on the stale pnpm-workspace.yaml still listing the mcp and examples/* packages removed in v0.7.0.
github.com/shadowresearch/auto-geo/blob… - BI export
- PartlyNo warehouse or BI connector: you get a stable JSON report on stdout or written to a file, which the vendor expects you to wire into your own dashboards.
The shape is the contract — wire it into your own dashboards and CI gates.
github.com/shadowresearch/auto-geo/blob…
32 sourced claims on this page. Checked 2026-09-12. How we check.
Alternatives
Where we would send a reader instead, in that listing's own words.
Filed under
Sources and updates
The pages we read12
1 of 12 independent of the vendor.
- github.com/shadowresearch/auto-geo16 fields
- github.com/shadowresearch/auto-geo/blob/main/docs/check.md16 fields
- github.com/shadowresearch/auto-geo/blob/main/docs/doctor.md5 fields
- github.com/shadowresearch/auto-geo/blob/main/CHANGELOG.md2 fields
- github.com/shadowresearch/auto-geo/blob/main/llms-full.txt2 fields
- api.github.com/repos/shadowresearch/auto-geoPlatform record1 field
- github.com/shadowresearch/auto-geo/blob/main/docs/concept.md1 field
- github.com/shadowresearch/auto-geo/blob/main/docs/init.md1 field
- github.com/shadowresearch/auto-geo/blob/main/docs/prompts.md1 field
- github.com/shadowresearch/auto-geo/blob/main/docs/sop.md1 field
- github.com/shadowresearch/auto-geo/blob/main/docs/validation.md1 field
- github.com/shadowresearch/auto-geo/blob/main/docs/write.md1 field
Platform record2026-08-30
- Licence
- MIT
- Stars
- 23
- Forks
- 0
- Last push
- 2026-08-01
Answer-engine source observations2 of 4
2 of 4 collected answers have source URL/title annotations naming CitedIndex. These are the latest stored observations per engine, not current consumer-UI results. They do not measure product mentions or establish that a source supports a claim.
- GeminiCitedIndex domain found in source annotationsModel: gemini-2.5-flash · Collected on · 30 source annotationsQuery:
auto-geo alternatives
Other source hosts (up to 6): g2.com, ziptie.dev, conductor.com, shadow.inc, meev.ai, llmpulse.ai - PerplexityCitedIndex domain found in source annotationsModel: sonar · Collected on · 20 source annotationsQuery:
auto-geo alternatives
Other source hosts (up to 6): g2.com, capterra.com, seoptimate.com, github.com, airops.com, aiclicks.io - ChatGPTNot assessable — no source annotationsModel: gpt-4o-mini · Collected on · 0 source annotationsQuery:
auto-geo alternatives
- ClaudeNot assessable — no source annotationsModel: claude-haiku-4-5 · Collected on · 0 source annotationsQuery:
auto-geo alternatives
Updates3
- Capabilities · Free tier · Price
- Capabilities · Free tier
- Capabilities · Free tier
