Skip to content
elmohqPublic

About

Open-source Answer Engine Optimization (AEO) and Generative Engine Optimization (GEO) platform. Track how ChatGPT, Claude, Perplexity, Gemini, Copilot, Grok, and Google AI Overviews mention and cite your brand in AI search. MIT-licensed, self-hostable, every metric auditable in code.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

562 stars

Watchers

2 watching

Forks

Latest commit

 

History

1,263 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elmo

Open source AI visibility tracking and optimization.

Learn more »


Docs  Demo  Issues  Roadmap  Discord


Tip

Don't want to self-host? Elmo Cloud runs the same open-source platform for you, with managed hosting and automatic updates, from $29/mo. Start with Cloud →

About

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)

Buyers increasingly ask AI before they search or visit a website. 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, uncover citation gaps, and win more recommendations 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.

Demo

Try the live demo at demo.elmohq.com to see how Elmo tracks prompts and analyzes citations.

Screenshots

Dashboard Overview Visibility Tracking
Elmo overview with visibility, share of voice, sentiment, and position cards above a competitive landscape Per-prompt AI visibility scores and trends across answer engines
Share of Voice Citation Analysis
Competitor share of voice leaderboard and trend over time Domains and URLs cited by AI answer engines, grouped by category
Query Fan-Out Opportunities
Web searches AI engines ran while grounding answers to tracked prompts Generated recommendations for earning more AI citations
Sentiment Responses
Sentiment score, trends against competitors, sentiment by model, and the passages behind it Every AI answer for a brand, with each company's position and sentiment

What Elmo Tracks

  • Visibility — how often each AI engine mentions your brand for every tracked prompt, per prompt and per model, trended over time. Mentions are matched on your name, aliases, and domains, then confirmed by a judge model.
  • Share of voice — a competitor leaderboard and how your share of mentions moves over time.
  • Sentiment and position — whether each answer is positive, neutral, mixed, or negative toward you and each competitor, where you rank among the companies named, and the exact passage behind every judgment.
  • Citations — every URL an engine cites, grouped by domain and category (yours, competitors', social, Google, institutional), so you know which pages AI trusts in your category.
  • Query fan-out — the web searches engines run before answering, how they rewrite your prompts, and which searches your content wins or misses.
  • Prompt tracking — an onboarding wizard that suggests prompts, competitors, and personas from your website, plus manual prompts and tags.
  • Opportunities — a prioritized list of what to create, pitch, and seed to earn more AI citations.
  • Reports — shareable visibility reports stakeholders can open without an Elmo account.
  • API, SDKs, and MCP — a REST API with TypeScript and Python SDKs, and an MCP server for Claude Code, Cursor, Codex, and VS Code.

How Elmo Measures AI Visibility

  1. Prompts — the questions your buyers ask AI, generated from your website or written by hand.
  2. Runs — a worker runs every prompt several times a day on each engine you track. Multi-engine tracking scrapes the real consumer apps (ChatGPT, Google AI Mode, Google AI Overviews, Gemini, Perplexity, Copilot) and calls model APIs for Claude, Grok, and others; the providers guide compares the options.
  3. Analysis — each answer is stored raw in PostgreSQL with its citations and fan-out searches, then Jev judges which companies it really mentions, the sentiment toward each, and the passage that shows it.
  4. Metrics — visibility is the share of runs that mention you; sentiment scores positive 100, neutral and mixed 50, negative 0; position averages your rank among companies named. Everything filters by prompt, tag, engine, and date.

Every step is code in this repo, and every number can be re-derived from the raw answers it came from.

Elmo vs. Closed-Source Alternatives

Most AI visibility platforms are closed SaaS. Here is how Elmo compares to the widely used ones:

Tool Open Source Auditable Metrics Self-Hosted Cloud
Elmo Yes (MIT) Yes Free From $29/mo
Profound No No No Enterprise, custom pricing
Peec AI No No No From $95/mo
Otterly AI No No No From $29/mo
Tool ChatGPT Google AI Mode Google AI Overviews Gemini Copilot Claude
Elmo ✅ ✅ ✅ ✅ ✅ ✅
Profound ✅ ✅ ✅ ✅ ✅ ✅
Peec AI ✅ ✅ ✅ ✅ ✅ Enterprise
Otterly AI ✅ Add-on ✅ Add-on ✅ Add-on

Who Elmo Is For

  • Marketing, SEO, and content teams extending their search strategy to AI search — see which prompts your brand wins or misses, which competitors AI recommends instead, and which cited pages to target next.
  • Agencies offering Answer Engine Optimization to clients: track every client brand in one place, and use the white-label deployment for custom branding, a custom domain, and SSO.
  • B2B SaaS and e-commerce brands that need to show up when buyers ask AI for "best [category]" shortlists, comparisons, and product recommendations.
  • Software companies embedding AI visibility tracking into their own products instead of building and maintaining the scraping and analysis pipeline themselves.
  • Developers and analysts who want auditable metrics — a REST API with TypeScript and Python SDKs, an MCP server for AI assistants, a documented methodology, and a database you can query directly instead of a dashboard-only black box.
  • Self-hosting and regulated teams who need AI visibility data inside their own infrastructure — your prompts, your competitors, and every raw engine response stay in a PostgreSQL database you control.
  • 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.

See how teams in specific industries use Elmo: AEO by industry.

Quick Start

The recommended setup uses two API keys:

  • Cloro scrapes the real ChatGPT, Google AI Mode, Google AI Overviews, Gemini, Perplexity, and Copilot apps.
  • OpenRouter runs onboarding, opportunities, and Jev, the model that judges mentions and sentiment.

Then install the CLI, which walks you through configuration, and start the stack with Docker Compose:

npm install -g @elmohq/cli
elmo init
elmo compose up -d

See the getting started guide for the full walkthrough and the providers guide for other scrapers and model APIs.

Skill

The aeo skill teaches Claude Code, Cursor, Codex, and other coding agents an evidence-based answer engine optimization workflow: measure, diagnose, fix, then measure again. It works with or without Elmo, and it can read Elmo's data over MCP.

npx skills add elmohq/elmo

Or copy skills/aeo into your agent's skills directory (for Claude Code, ~/.claude/skills/aeo). On claude.ai, zip the aeo folder and upload it in the Skills settings.

Deployment Options

  • Self-Hosted — Run Elmo for free on your own infrastructure using Docker Compose. Get started →
  • Elmo Cloud — Managed hosting with automatic updates, unlimited seats, and API and MCP access on every plan. See plans →
  • White-Label — Elmo Cloud with your own branding, domain, and SSO, built for agencies and software companies. Book a call →

Architecture and Tech Stack

Elmo system architecture

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.

Documentation

Sponsors

SearchApi Llumo Scavio

Become a sponsor →

Contact

Contributing

See CONTRIBUTING.md, the developer guide, and good first issues.

License

Elmo is open source under the MIT License.

Repo Activity

Repository activity

About

Open-source Answer Engine Optimization (AEO) and Generative Engine Optimization (GEO) platform. Track how ChatGPT, Claude, Perplexity, Gemini, Copilot, Grok, and Google AI Overviews mention and cite your brand in AI search. MIT-licensed, self-hostable, every metric auditable in code.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

562 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages