DEV Community

Cover image for The LLM Visibility Tools Cost $79/Month. Mine is Open Source.
Daniel Nwaneri
Daniel Nwaneri Subscriber

Posted on

The LLM Visibility Tools Cost $79/Month. Mine is Open Source.

A speaker at a Search Engine Journal webinar last week said something that should bother every SEO:

"There's no Search Console equivalent for LLMs."

He was right. Google tells you where you rank. It tells you how many people saw your result. It tells you your CTR, your impressions, your average position.

It tells you nothing about whether Claude, ChatGPT, or Perplexity mentions your domain when someone asks a question you should own.

That gap has spawned an entire category of paid tools. I tested most of them. The cheapest starts at $39/month. The serious ones run $79 and up.

I built mine for free. It's open source. And it found something I'd missed for months.


What These Tools Actually Do

The paid tools — AIclicks, LLMrefs, Cairrot, Slate — all do roughly the same thing: query AI models with your target keywords, check whether your brand appears in the response, and track that over time.

That's it. The variance is in coverage (how many LLMs they check), reporting quality, and whether the UI is worth the monthly fee.

None of them are doing anything technically exotic. They're calling APIs and parsing text.

So I added it to seo-agent as a standalone module: llm-visibility.


How It Works

Point it at your domain and a list of target queries — or a Google Search Console export:

python main.py llm-visibility --domain dannwaneri.com --queries gsc-export.csv --project dannwaneri-com
Enter fullscreen mode Exit fullscreen mode

It takes your top 20 queries by impressions. Sends each one to Claude Haiku. Checks whether your domain appears in the response. Writes everything to llm-visibility.md — visibility score, per-query results, gaps to address.

Cost: negligible. Haiku is cheap. A 20-query run costs less than a cent.


What I Found

I ran it on two of my own domains.

One had a visibility score of 0%. Every query. Claude answered correctly — sometimes well — and never mentioned my site once.

The other scored 15%. Three out of twenty queries returned a mention. The other seventeen? Nothing.

Both domains have published content on these exact topics. Both rank in Google for these queries. Neither is getting cited by Claude.

The same run that surfaced the LLM gap also caught a position 9.5 query — does twitch pay nigerians — sitting at 29 impressions and 0% CTR. The page was ranking. The title was answering the wrong question. That's the audit surface the llm-visibility module sits on top of, not separate from it.

That's the gap the SEJ speaker was describing. Your Google rank tells you nothing about your LLM presence. They're different surfaces with different citation logic.


The Limitation Worth Naming

Claude has a training data cutoff. Content published after that cutoff won't appear regardless of quality. A score of 0% on a site less than a year old is expected — it reflects data availability, not content quality.

This is a baseline measurement. Run it quarterly. Watch the score move as training data updates.

The paid tools have the same limitation. They just don't always say so clearly.


What the Pixel Data Adds

While I was building this, the SEJ piece also surfaced something from a rank-tracking analyst: position 1 now sits 635 pixels down the page on desktop. On mobile, the top organic result is invisible — below the fold — nearly 60% of the time.

AI Overviews consume roughly a third of above-the-fold space on informational queries. Paid and shopping units take over 60% on commercial ones. Organic gets what's left.

Your rank matters less than your presence. And presence now splits across two surfaces: the SERP and the LLM response.

seo-agent covers both. The serp-features module hits SerpApi for each of your target queries and maps which features are present — AI Overview, featured snippet, PAA, image pack, local pack. llm-visibility checks the other surface.

Neither module requires a paid subscription. SerpApi has a free tier: 100 searches/month, no credit card.


What's Still Missing

I'll say it directly: this doesn't check ChatGPT, Perplexity, Gemini, or any other LLM. It only tests Claude.

The paid tools cover 6–10 models. That's a real gap if your audience lives in ChatGPT or Perplexity.

I'm one person. Multi-model support is on the list.

What I have is a free, open-source starting point that covers the most important signal most developers aren't measuring at all. If your LLM visibility score in Claude is 0%, adding Perplexity won't change the underlying problem.

Fix the content first. Then track across more models.


The Tool

Everything is open source: github.com/dannwaneri/seo-agent

Full breakdown of what it does and what it found on a real site — a Nigerian creator site that went from 0.4% to 44% pass rate in one afternoon — at dannwaneri.com/seo-automation.

The full module list:

  • llm-visibility — LLM citation tracking
  • serp-features — SERP feature detection via SerpApi
  • gsc-insights — GSC export parser, quick wins, cannibalization
  • qualify-backlinks — referring domain scoring
  • relevance-score — internal link opportunity scoring
  • cluster-audit — topic clustering, orphan detection

Core audit runs in a real Chromium browser via Browser Use and Playwright. Extracts title, meta description, H1s, canonical. Checks broken links. Writes resumable JSON state.

The speaker said there's no Search Console for LLMs.

There is now. And it doesn't cost $79/month.

Top comments (0)