Summary
auto-geo is an open-source, MIT-licensed CLI from media research lab Shadow that audits and generates web pages against a strict generative-engine-optimization schema. It then queries grounded AI search APIs to record whether those pages are actually cited, storing every run 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
- YesWhole tool is MIT-licensed and free; the only cost is your own engine API spend, e.g. Perplexity billed at "$1/M in · $1/M out · $0.005/req" per the docs' engine table.
What it does
- Monitors AI answers
- Yes`auto-geo check` queries real grounded-search APIs per tracked prompt and reports whether your domain is cited.
For each prompt, ask a real AI search engine and report whether your domain is among the citations.
github.com/shadowresearch/auto-geo - Optimises your content
- Yes`doctor` audits any live URL against 8 citation-readiness checks and ranks fixes; `fix` rewrites the page.
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 - Generates content
- Yes`write` generates validated page payloads from target queries via OpenAI or Anthropic models.
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
- NoIt emits renderer-agnostic JSON payloads; pushing them to a CMS is left to you.
`auto-geo` generates _page payloads_, not live pages. Rendering and hosting — your CMS, your framework, your pipeline — stay yours.
github.com/shadowresearch/auto-geo/blob… - Technical AEO
- PartlySchema.org JSON-LD is audited and derived from the payload; no llms.txt generation or crawler-directive handling is documented.
Derived mechanically from the typed payload by the host renderer — the agent never writes JSON-LD by hand. Five schema types map directly from…
github.com/shadowresearch/auto-geo/blob… - Done-for-you service
- PartlyThe vendor states it runs the tool as a service for teams, but the listed product is the MIT CLI itself.
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
- Yes`--engine openai` uses the Responses API web-search tool; also a generation provider for write/fix.
Uses the [Responses API](https://developers.openai.com/api/docs/guides/tools-web-search) with the `web_search_preview` tool.
github.com/shadowresearch/auto-geo/blob… - Perplexity
- YesDefault engine, via Perplexity's Sonar grounded chat completions.
Uses Perplexity's [Chat Completions API](https://docs.perplexity.ai/api-reference/chat-completions) with `sonar` (or `sonar-pro`). Sonar performs…
github.com/shadowresearch/auto-geo/blob… - Gemini
- Yes`--engine gemini` uses Google's generateContent API with the google_search grounding tool.
Uses Google's [generateContent API](https://ai.google.dev/gemini-api/docs/grounding) with the `google_search` grounding tool
github.com/shadowresearch/auto-geo/blob… - Google AI Overviews
- NoNot an engine option: the `--engine` list is closed at perplexity, openai, anthropic, gemini and xai. AI Overviews appears only as a page-metadata tag and in prose about GEO.
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… - Google AI Mode
- NoAbsent from the closed `--engine` list; Google AI Mode is only a `targetPlatforms` label on generated pages.
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… - Claude
- Yes`--engine anthropic` uses the Messages API server-side web_search tool.
Uses the [Messages API](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) with the server-side `web_search_20250305`…
github.com/shadowresearch/auto-geo/blob… - Microsoft Copilot
- NoNo Copilot adapter: the engine key table enumerates exactly five engines with their models and env vars.
| `gemini` | `gemini-2.5-flash` | `GOOGLE_API_KEY` (or `GEMINI_API_KEY`) |
github.com/shadowresearch/auto-geo/blob… - Grok
- Yes`--engine xai` (alias `grok`) uses xAI Live Search with return_citations.
Uses xAI's OpenAI-compatible [chat completions endpoint](https://docs.x.ai/docs/guides/live-search) with the `search_parameters` extension (`mode:…
github.com/shadowresearch/auto-geo/blob… - DeepSeek
- NoNot among the five documented engine adapters.
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
- NoNot among the five documented engine adapters.
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, each behind your own API key; `--engine all` runs every credentialed engine and unions coverage.
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
- YesPer query it lists the citing URLs with their rank and the total source count.
· https://www.shadow.inc/resources/get-cited-by-ai-search (rank 1 of 6)
github.com/shadowresearch/auto-geo/blob… - Competitor tracking
- Partly`doctor` audits any URL including a competitor's, but `check` measures one `--domain` per run.
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
- NoThe engine's raw answer text is captured and can be printed, but nothing extracts sentiment or brand attributes; the report's fields are citations, fan-out queries, tokens and cost.
Render the engine's natural-language answer under each query in human output.
github.com/shadowresearch/auto-geo/blob… - Recommendations
- Yes`doctor` returns up to three ranked fixes ordered by citation impact, not just a score.
Top 3 fixes (ranked by citation lift): 1. Add a FAQPage JSON-LD block. Each Q is a citable extraction target.
github.com/shadowresearch/auto-geo - AI crawler analytics
- NoIt never sits in your traffic path: there is no server, agent or log ingestion, and `doctor` only fetches pages itself.
Everything is file-based and committable — tracked prompts, check history, config. No server, no account, no database.
github.com/shadowresearch/auto-geo - Wrong answers about you
- NoMeasurement is citation presence only; nothing scores whether an engine's statement about the brand is true, though the raw answer text is stored for you to read.
doctor measures readiness (is this page shaped for citation?). check measures outcome (is it actually being cited?).
github.com/shadowresearch/auto-geo
Plans and signing up
- Prompt or credit allowance
- PartlyNo plan or quota: prompts are unbounded lines in a text file, and you pay your own engine API spend per query.
`.auto-geo/prompts.txt` | Your tracked prompts — one per line, `#` comments allowed.
github.com/shadowresearch/auto-geo - Projects or brands
- PartlyOne domain per config file; a second brand means a second directory, since config resolution walks up from cwd.
`auto-geo.config.json` (walks up from cwd — monorepo-friendly)
github.com/shadowresearch/auto-geo - How often it checks
- PartlyOn demand: you invoke `check` yourself or from CI; no scheduler is included.
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
- NoMIT package installed from npm; no account or payment path exists.
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
- YesOne global npm install, or a one-shot `npx` run; also Homebrew and mise.
Install once (or run any command one-shot via `npx auto-geo@latest`)
github.com/shadowresearch/auto-geo
Not established: Countries
Access and integrations
- API
- YesEvery layer is an importable TypeScript export, and both commands emit stable JSON/NDJSON.
Every layer is exported.
github.com/shadowresearch/auto-geo/blob… - MCP server
- NoNo MCP server ships; the package is the CLI binary alone, and an agent drives it by shelling out and reading --json or --ndjson.
The package now ships exactly one thing: the auto-geo binary.
github.com/shadowresearch/auto-geo/blob… - BI export
- PartlyIt writes JSON/NDJSON files you pipe onward; no warehouse, Looker or Power BI connector is documented.
Also write the full JSON report to `<path>` (alongside whatever else gets printed).
github.com/shadowresearch/auto-geo/blob…
31 sourced claims on this page. Checked 2026-09-01. 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 read8
1 of 8 independent of the vendor.
- github.com/shadowresearch/auto-geo/blob/main/docs/check.md16 fields
- github.com/shadowresearch/auto-geo15 fields
- github.com/shadowresearch/auto-geo/blob/main/docs/doctor.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/CHANGELOG.md1 field
- github.com/shadowresearch/auto-geo/blob/main/docs/concept.md1 field
- github.com/shadowresearch/auto-geo/blob/main/docs/prompts.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
Updates2
- Capabilities · Free tier
- Capabilities · Free tier
