Open source AI visibility tracking and optimization.
Learn more »
Elmo is an open-source, self-hosted platform for optimizing your AI visibility, which is also known as:
- Answer Engine Optimization (AEO)
- Generative Engine Optimization (GEO)
- LLM Optimization (LLMO, which is where the name Elmo is from)
Elmo tracks how AI answer engines like ChatGPT, Claude, Perplexity, Gemini, and Google AI Overviews mention, cite, and describe your brand, so you can benchmark competitors and grow your visibility in AI answers.
It's a free alternative to tools like Profound, Peec, and Otterly. You can run it on your own infrastructure, own your data, and audit exactly how every metric is calculated.
Try the live demo at demo.elmohq.com to see how Elmo tracks prompts and analyzes citations.
| Dashboard overview | Visibility tracking |
|---|---|
| Share of voice | Citation analysis |
| Query fan-out | Opportunities |
- Visibility scoring — For every tracked prompt, Elmo measures how often each AI answer engine mentions your brand and trends the score over time, per prompt and per model.
- Brand mention tracking — Each answer is checked for your brand name, aliases, and domains, so mentions are counted the same way every time, across every engine.
- Citation analysis — Every URL an engine cites is stored with its domain and position, then categorized: your own domains, competitor domains, social media, Google properties, and institutional sources. You see which pages AI models actually trust for your industry.
- Competitor benchmarking and share of voice — A leaderboard of competitor mention rates next to your own, with your overall share of voice and how it moves over time.
- Query fan-out analysis — When an answer engine grounds a response, it often runs several web searches first. Elmo records those searches, shows how engines rewrite your wording (which words they add, drop, or keep), and which searches your content wins or misses.
- Prompt management — An onboarding wizard analyzes your website, then suggests keywords, competitors, buyer personas, and tracking prompts. You can also add prompts manually, tag them, and enable or disable them individually.
- Opportunities — Elmo turns your tracked visibility and citation data into a prioritized, regularly refreshed list of what to create, pitch, and seed to earn more AI citations.
- Reports — Shareable AI visibility reports (visibility summary, per-prompt breakdown, citation analysis, competitor comparison) viewable by stakeholders without an Elmo account.
- REST API — Manage brands, prompts, and competitors and pull analytics snapshots and reports programmatically. See the API reference.
Elmo's methodology is simple and fully inspectable in this repository:
- Prompts are defined per brand — either generated by the onboarding wizard from your website or written by hand. Each prompt is a question a potential customer might ask an AI assistant.
- A background worker runs each prompt on a schedule (several times a day by default) against every engine you configure. Scraping providers capture the real consumer surfaces — ChatGPT, Google AI Mode, Google AI Overviews, Gemini, Perplexity, and Microsoft Copilot — while direct model APIs (OpenAI, Anthropic, Mistral, OpenRouter) add coverage for Claude, Grok, and other models with web search enabled. The providers guide compares both approaches and their costs.
- Every answer is normalized and parsed. Each run produces the answer text, the list of cited URLs, the web searches the engine ran while grounding (its query fan-out), and the model version. The text is scanned for your brand's name, aliases, and domains, and for each competitor's.
- Everything is stored in PostgreSQL, including the raw engine output, so any metric can be re-derived and audited later. Nothing is a black box: the mention detection, scoring, and aggregation code is all in this repo.
- Metrics are aggregated into trends. Visibility is the share of runs that mention your brand; share of voice compares your mention rate against competitors; citation counts roll up by URL, domain, and category — each filterable by prompt, tag, engine, and time range.
Because Elmo is open source, this loop is the part you never have to take on faith. Answer Engine Optimization (AEO) tooling lives or dies on measurement quality, and Elmo's measurements are ones you can read, run, and verify.
Most AI visibility platforms are closed SaaS. Here is how Elmo compares to the widely used ones:
| Tool | Open source | Self-hostable | Auditable metrics | Data ownership | Pricing model | Engine coverage |
|---|---|---|---|---|---|---|
| Elmo | Yes (MIT) | Yes (Docker Compose) | Yes — scoring code is public | Yours — your own PostgreSQL | Free self-hosted; cloud from $29/mo | ChatGPT, Google AI Mode, Google AI Overviews, Gemini, Perplexity, Copilot, Claude, Grok, Mistral, and more |
| Profound | No | No | No — proprietary scoring | Vendor-hosted | Enterprise, custom pricing | Multiple engines, plus AI crawler analytics |
| Peec AI | No | No | No | Vendor-hosted | Paid subscription, custom pricing | Multiple engines |
| Otterly AI | No | No | No | Vendor-hosted | Paid subscription, custom pricing | Multiple engines, plus on-page GEO audits |
| Scrunch | No | No | No | Vendor-hosted | Enterprise, custom pricing | Multiple engines; content-optimization focus |
| Ahrefs Brand Radar | No | No | No | Vendor-hosted | From $129/mo | Multiple engines, tied to Ahrefs' SEO dataset |
| Semrush AI Toolkit | No | No | No | Vendor-hosted | From $139.95/mo | Multiple engines, tied to Semrush's SEO platform |
| HubSpot AEO Grader | No | No | No | Vendor-hosted | Free | One-time website audit, not continuous tracking |
To be fair about where the closed tools are genuinely ahead: Profound, Peec AI, Ahrefs, and Semrush offer prompt volume estimates; Peec AI, Ahrefs, and Semrush include sentiment analysis; Profound, Otterly, and Scrunch analyze AI crawler behavior; Otterly, Scrunch, and HubSpot audit and optimize on-page content; and Ahrefs and Semrush integrate AI tracking with established SEO datasets. Elmo doesn't do those things today — see the roadmap for what's planned. What none of them offer is the ability to read the code behind every number, run it on your own infrastructure, and keep the data.
Elmo also maintains a directory of 100+ Answer Engine Optimization and Generative Engine Optimization tools with feature matrices and head-to-head comparisons: AI Visibility Tool Directory.
- Self-hosting teams who want AI visibility data inside their own infrastructure — your prompts, your competitors, and every raw engine response stay in a PostgreSQL database you control.
- Agencies offering Answer Engine Optimization to clients: the white-label deployment adds custom branding, a custom domain, and SSO on top of multi-brand tracking.
- Developers and analysts who want auditable metrics — a REST API, a documented methodology, and a database you can query directly instead of a dashboard-only black box.
- Anyone priced out of enterprise AEO platforms who still needs credible measurement of how ChatGPT, Perplexity, Gemini, and Google AI Overviews talk about their brand.
Tip
Would rather not self-host? Elmo Cloud runs the same open-source platform for you, with managed hosting and automatic updates, from $29/mo. Start with Cloud →
For local deployments, use Docker Compose as configured with the @elmohq/cli package:
# Install the CLI globally
npm install -g @elmohq/cli
# Initialize configuration (interactive wizard)
elmo init
# Start the stack
elmo compose up -dOnce the services report healthy, open http://localhost:1515 and create your account. The full walkthrough is in the getting started guide.
Tip
Watch this repo's releases to get notified of major updates.
| Option | What you get | Price |
|---|---|---|
| Self-hosted | The full platform on your own infrastructure via Docker Compose, unlimited prompts, every supported engine and provider | Free (MIT) |
| Elmo Cloud | Managed hosting with automatic updates, unlimited seats, and API access on every plan | From $29/mo |
| White-label | Everything in Cloud plus custom branding, a custom domain, and SSO — built for agencies serving multiple clients | Custom |
Details and plan limits are on the pricing page.
A web app serves the dashboard and REST API, a worker schedules and executes prompt runs against the AI engines, and PostgreSQL stores both the data and the job queue. The developer guide covers the monorepo layout and how to contribute.
- Getting started — self-host Elmo in under five minutes
- User guide — brand setup, prompts, visibility, citations, and reports
- Providers — choosing scrapers and model APIs for each answer engine
- Developer guide — architecture, configuration, and contributing
- API reference — the REST API for brands, prompts, competitors, snapshots, and reports
- AI Visibility Tool Directory — 100+ AEO/GEO tools compared
Elmo is open source under the MIT License.