Key takeaways
- Open-source GEO tools are free to self-host, but you still pay for LLM API keys and the infrastructure. Free is not zero.
- Elmo, Canonry, Ansvisor, and OneGlanse are the most active projects on GitHub as of mid-October 2026. Single-maintainer repos are riskier bets.
- A DIY script can answer "did the AI mention us?" in about 50 lines, but the hard parts are sampling, model versioning, and citation parsing.
- Check the license first. MIT and Apache-2.0 are permissive; AGPL and GPL add conditions on modified versions.
- Open source measures. It rarely fixes anything. If you need crawler logs, traffic attribution, or content production, a hosted platform covers that gap.
Why people go open source for AI mention tracking
Most AI visibility tools are closed. You hand over your prompts, and you trust the score that comes back. That is fine until a number lands in a board deck and someone asks how it was calculated.
Open source answers that. You can read how a metric is built, run it on your own infrastructure, and keep your prompt history. The tradeoff is upkeep. Engines change their interfaces, models get swapped, and your scripts break on a Tuesday.
I think the honest framing is this: open source is great for learning how GEO measurement works and for teams with engineers to spare. It is a poor fit if you want a dashboard that just works and somebody to call when it doesn't.
The open-source landscape in 2026
The numbers below come from the Elmo directory's GitHub snapshot dated October 17, 2026. One caveat: Elmo is itself a vendor of one of the listed tools, so treat its rankings with some salt. I've cross-checked the shape of the list against Ansvisor's own roundup, which is also vendor-written. Neither is neutral.
| Tool | License | Stars | Contributors | Releases | First commit | Commits, last 90 days |
|---|---|---|---|---|---|---|
| Elmo | MIT | 462 | 14 | 36 | Jul 2025 | 374 |
| GEO/AEO Tracker | MIT | 295 | 1 | 9 | Feb 2026 | 10 |
| OneGlanse | MIT | 220 | 2 | 0 | Apr 2026 | 27 |
| Limelit | Apache-2.0 | 192 | 2 | 13 | Sep 2026 | 79 |
| Canonry | MIT | 186 | 8 | 12 | Mar 2026 | 472 |
| Ansvisor | MIT | 141 | 65 | 10 | Mar 2026 | 503 |
| Cited | AGPL-3.0 | 126 | 1 | 1 | Sep 2026 | 21 |
| Gego | GPL-3.0 | 106 | 2 | 12 | Oct 2025 | 9 |
| Lettertrace | MIT | 75 | 5 | 1 | Jul 2026 | 323 |

Stars are a weak signal. Contributors and recent commits tell you more about whether the project will still be alive in six months. Ansvisor has 65 contributors and 503 commits in 90 days. GEO/AEO Tracker has one contributor and 10 commits.
Elmo
Elmo is the longest-running of the group. It covers ChatGPT, Google AI Mode, AI Overviews, Gemini, Perplexity, Copilot, Claude, and any model available through OpenRouter. It reports visibility, share of voice, sentiment, position, and query fan-out analytics, and ships a REST API, TypeScript and Python SDKs, an MCP server, and an agent skill.
Self-hosting means Docker and PostgreSQL, with your own API keys. A managed cloud starts at $29/month if you'd rather not run it. What it doesn't do: prompt-volume estimates, content generation, shopping tracking, or geographic breakdowns.
OneGlanse
OneGlanse takes a different route. Instead of calling APIs, it drives the actual web interfaces of ChatGPT, Gemini, Perplexity, Claude, and AI Overviews using real accounts, and stores results in ClickHouse. No API bills. That matters, because the web UI answer can differ from what the API returns. The catch is that scrapers need constant repair, and running automated logins against consumer products may break the terms of service for those products. Read them before you commit.
GEO/AEO Tracker
A local-first, single-user dashboard that tracks ChatGPT, Perplexity, Gemini, Copilot, Google AI Overview, and Grok with your own keys. It's MIT-licensed and good for a quick check from one browser. One contributor, though, so don't build a reporting process on it.
Canonry, Ansvisor, and Limelit
Canonry and Ansvisor are the most actively developed, each with hundreds of commits in the last 90 days. Ansvisor, which also has a hosted tier from $49/month, calls itself the most complete self-hostable option, which is a claim from its own blog. Limelit is newer (September 2026), Apache-2.0 licensed, and sells a $19.99 credit pack for those who don't want to bring keys.
Cited, Gego, and Lettertrace
Cited is AGPL-3.0 and Gego is GPL-3.0. Both add conditions if you modify and distribute them, which can matter for agencies that want to rebrand a tool. Gego is a bare-bones CLI for scheduled checks. Lettertrace is MIT, free, and bring-your-own-key.
A note on GetCito
GetCito appears in several roundups, including Ansvisor's, and shows 161 stars in one snapshot. Elmo says it is a fork of Elmo that has fallen behind, and that its fork count jumped in September 2026 mostly from new accounts with no other activity. I couldn't verify either side. Look at the repo's commit history yourself before depending on it.
Developer-side tools: AEOrank, geo-optimizer-skill, aeo.js
Ansvisor's list also names AEOrank (CI/CD audits), geo-optimizer-skill (citation tests), and aeo.js (markup). These improve technical execution on your site. They don't measure whether anyone is mentioning you, so you still need a measurement layer next to them.

How to pick one
Start with the license, then contributor count, then which engines it actually covers.
- Want the fewest moving parts? Elmo or Canonry, with more than one active maintainer.
- Want to avoid API costs and can tolerate breakage? OneGlanse.
- Want a throwaway check? GEO/AEO Tracker or Lettertrace.
- Building something commercial on top? Stay on MIT or Apache-2.0.
Open source also doesn't protect you from a project going closed. Notra took its AGPL repository private in October 2026. Permissive licenses and several active contributors are the best insurance.
Build your own script
If you want to understand the mechanics, write a minimal tracker. The loop is simple:
- Define 20 to 50 prompts your buyers would ask.
- Send each to one or more engines on a schedule.
- Store the raw answer, cited URLs, model name, and timestamp.
- Parse for your brand and competitors.
- Aggregate into mention rate, position, and citation rate.
A bare-bones version looks like this:
import re, json, datetime
from openai import OpenAI
client = OpenAI()
BRANDS = ["YourBrand", "Competitor A", "Competitor B"]
PROMPTS = ["best project management tool for agencies"]
RUNS = 5
rows = []
for p in PROMPTS:
for i in range(RUNS):
r = client.responses.create(
model="gpt-5",
tools=[{"type": "web_search"}],
input=p,
)
text = r.output_text
rows.append({
"ts": datetime.datetime.utcnow().isoformat(),
"model": r.model,
"prompt": p,
"mentions": {b: bool(re.search(re.escape(b), text, re.I)) for b in BRANDS},
"raw": text,
})
json.dump(rows, open("runs.json", "w"))
Treat that as a sketch. Check the current SDK and model names before running it, and I haven't priced a run for you, since I couldn't find reliable current API pricing. Do the math on your own prompt count times runs times engines before you schedule anything.
Things that trip up DIY trackers
Answers vary run to run. Sample each prompt several times and report rates, not single results.
Engines cite differently. Promptwatch Data's sources per response report (published September 2025) found ChatGPT cites about 5 sources per web-search answer, while Google AI Overviews and Perplexity sit around 10. Copilot swung from under 2 to nearly 17 within a few weeks. So normalize per engine, use Perplexity as a stable test bench, and judge Copilot on monthly trends.
Log the model version. Citation behavior shifts abruptly after updates. Promptwatch's ChatGPT citation drop data shows average citations per response falling across GPT-5.3, GPT-5.4, and GPT-5-Mini around the March 4, 2026 rollout. If your trend line dips on that date and you didn't record the model, you'll blame your content.
Capture the fan-out queries. A single prompt can trigger 3 to 8 or more searches. Per Promptwatch's query fanout data, the average was 2.15 per response in early December 2025 and roughly 1.84 by early March 2026, with average query length shrinking over the same period. On August 8, 2026, ChatGPT also began using the site: operator at scale, jumping from about 0.4% to 17% of fanout queries. Storing those queries tells you what the engine actually searched for.
API is not UI. The consumer interface can show different answers and citations than the API. If you track via API only, you're measuring what a model believes, not necessarily what your customers see.
Citation sources move. Reddit's share of ChatGPT citations fell from about 4% to 0.5% on August 14, 2026. A script that assumes stable source mix will mislead you.
Orchestration without writing everything
If you'd rather schedule runs visually, open-source-friendly workflow tools can do the plumbing: n8n for self-hosted flows, or Zapier and Make if you're fine with hosted. Pair them with Airtable or a Postgres table for storage.
For logging and evaluating your own LLM calls, Helicone and LangSmith are built for that, though they're developer observability tools, not brand trackers.
What open source doesn't cover
Even the best open-source tracker tells you whether you were mentioned. It rarely tells you why, what AI crawlers did on your site, how much traffic AI actually sent, or what to write next. Ansvisor's own roundup says as much: these tools improve technical execution, but you need a separate measurement layer.
That's where a hosted platform earns its fee. Promptwatch tracks the real interfaces of ChatGPT, AI Overviews, Gemini, Perplexity, Copilot, and others, adds IP-verified AI crawler logs and visitor analytics, and has agents that write and publish content against the gaps it finds. For a team without spare engineers, that's a lot of maintenance you don't take on.

Other hosted trackers in the cheaper tier include Otterly.AI and Peec AI, and Cloro offers a mention-rate API if you want to keep your own scripts but skip the scraping.

Open source vs hosted at a glance
| Factor | Open source / DIY | Hosted platform |
|---|---|---|
| License cost | Free | Monthly subscription |
| Real running cost | LLM keys, servers, engineer time | Included in plan |
| Metric transparency | Full, auditable | Vendor-defined |
| Data ownership | Yours, on your infrastructure | Exportable, vendor-held |
| UI-level answers | Only if you maintain scrapers | Usually included |
| Crawler logs and traffic attribution | Build it yourself | Often included |
| Content fixes | None | Varies; some automate it |
| Maintenance | Yours | Vendor's |
For more options, the GEO software directory at bestgeosoftware.com lists hosted tools side by side.
A sensible starting plan
- Spend an afternoon with the script above and 10 prompts. You'll learn more about variance than any article can teach.
- Self-host Elmo or Canonry for a month if you have an engineer who wants it.
- Record model versions and fan-out queries from day one.
- Decide at the end of the month whether the maintenance is worth it. If you spent more hours fixing scrapers than reading results, move to a hosted tool.
The cheapest option isn't the one with the free license. It's the one your team will still be running in March.




