AI Visibility
How to Find Which Listicles ChatGPT Cites in Your Category
Every GEO post tells you to get into the best-of lists. None of them tell you which lists. Here is the manual method, what it costs you in time, and the tool we built because we got tired of doing it by hand.
Open any guide to getting recommended by AI and you will hit the same instruction: get yourself into the best-of lists, because that is what the engines quote. It is decent advice. It is also where every one of those posts stops, which is unfortunate, because deciding which lists is the entire job. There are maybe forty "best project management tools" articles indexed. Four of them matter to an answer engine and the other thirty-six are traffic-starved affiliate pages nobody retrieves.
Nobody tells you how to tell them apart. So here is how, including the boring manual version, because you should know what the tool is doing before you trust one.
First, the check that decides whether your data is real
There is one distinction that separates a useful source list from a fabricated one, and most people collecting this by hand miss it.
A model with web grounding searches, retrieves pages, and reports the URLs it read. A model without grounding answers from memory, and if you ask it for sources it will produce URLs it half-remembers from training. We have seen what that output looks like at volume, and the tell is unmistakable: bare homepages with no paths. later.com, hootsuite.com, ads.reddit.com. Not articles it read. Brand names it could recall.
So if you go looking for your citation sources by opening ChatGPT and asking "what sources do you use when recommending tools like mine", what comes back will be confident, plausible, and made up. It is recall dressed as retrieval, and the URLs frequently do not resolve.
So rule one: only count citations from an engine that visibly searched. Perplexity shows you its sources. ChatGPT with search enabled shows a citation strip. Google's AI Mode links out. If there is no link panel, there is no citation, whatever the text claims.
The manual method
I have done this by hand for about a dozen categories now. It takes an afternoon and it works.
1. Write the questions your buyers type, not the ones you wish they typed. Not "best AI visibility platform for enterprise teams", which is how you talk. "how do i see if chatgpt recommends my product", which is how they talk. Ten to fifteen questions, mixed shapes: best-of, comparison, problem-first ("chatgpt keeps recommending my competitor"), and the alternative queries for the two biggest names in your space.
2. Run every question through at least two grounded engines. They disagree more than you would think, and a host that shows up in both is a stronger signal than one that dominates a single engine.
3. Record the URL, not the brand. Two rows in a spreadsheet, host and full path. The path tells you the page type, and the page type decides what you can do about it.
4. Group by host and count. You are looking for concentration. If five hosts account for half of everything cited across fifteen questions, that is a short and knowable target list. If the citations are evenly spread across forty hosts, your category has no gatekeepers and the whole strategy changes: writing your own pages becomes a better use of the week than pitching anybody.
5. Label each cited page. Ranked list, review directory, competitor blog, forum thread, documentation, news. Each label implies a different action, and mixing them up is how people waste a quarter. A best-of list can be pitched with one email. G2 cannot be pitched at all; you need a profile and reviews and a couple of months. A competitor's blog post is not a target, it is a scoreboard telling you to write the better version.
That is the whole method. Nothing clever in it. The reason people don't do it is that step 2 through 4 is forty-five minutes of copy-paste per category and it goes stale, because the engines re-retrieve every time and the corpus shifts across weeks.
What the spreadsheet looks like when it's working
Concretely, six columns: question, engine, run date, host, full path, page type. One row per cited URL, so a single question that returns seven sources becomes seven rows. Fifteen questions across two engines gets you somewhere between 150 and 250 rows, which sounds like a lot and is about forty-five minutes of paste.
Then a pivot on host. What you are reading is the shape of the distribution, and there are three shapes:
Concentrated, where five to eight hosts carry half the citations. You have gatekeepers and a finite target list, which is the best case because you can finish the work.
Flat, where forty hosts each appear once or twice. There is nothing to pitch. Writing your own answer pages is the better use of the quarter and outreach will disappoint you.
Self-heavy, where your own domain already shows up. Note exactly which of your pages, because it is rarely the ones you expected and it tells you what shape of page your category rewards.
The column people skip is run date, and it is the one that makes the sheet worth keeping. A host cited in three consecutive weekly runs is a real target. A host cited once is noise, and pitching it is how a quarter disappears.
Two things that will corrupt your data
Phrasing the questions like a marketer. If you write the questions the way your positioning document does, you will retrieve the pages that are written the way your positioning document is, which is a closed loop that tells you nothing. Pull the wording from sales calls, support tickets, and the actual threads in your category. The questions should read slightly awkwardly and contain constraints, because that is how people type at assistants.
Running each question once. Retrieval moves between runs, sometimes a lot. I have watched the same question return a substantially different source mix on consecutive days. A single pass produces a target list that is partly an artefact of the day you ran it. Two runs minimum, spread a few days apart, and treat anything that appears in only one as unconfirmed.
What we found when we did it properly
The one clean sample I have published: 23 URLs cited by Perplexity across six buying questions in our own database, collected 17 June to 9 July 2026. Small. I have written before about what was actually in those 23 URLs, but the two numbers relevant here:
- 7 of 23 were ranked list pages. Roughly a third of everything cited, for a page format that makes up a tiny fraction of the web.
- 14 of 23 sat on the domain of a vendor selling something in the category being asked about. Including small vendors with no meaningful backlink profile.
Zero G2. Zero Capterra. Zero Wikipedia. In a sample that small I would not bet a strategy on the absence, but it is the opposite of what the standard advice predicts, and it is the reason I stopped telling anyone to go chase review-site profiles first.
The tool
We built the citation source radar because I did not want to do the spreadsheet again. You give it a brand and a category, it puts three buying questions to a grounded engine, and it returns a leaderboard of the hosts that supplied the answers, each with its share of citations and the kind of page it contributed, plus whether your own domain appears anywhere in that set.
Three questions is not fifteen. The concentration number it gives you is directional, and the page says as much on the page rather than in a footnote. What it is good for is the first look: seeing whether your category has four gatekeepers or forty, which most people have genuinely never checked. Results are cached per brand for a day, so running it twice in an afternoon gives you the same answer.
The version that runs the full question library on five answer surfaces at least weekly is the paid product. I am not going to pretend three questions once is a substitute for that, because the whole point of this post is that a single run of anything is a snapshot of a moving thing.
What each page type is actually worth
Grouping by host tells you where the citations are. Labelling by page type tells you what you can do about it, and the honest answer for several types is nothing.
Ranked lists are the best target and the reason this post exists. One email can land you in one, they get retrieved for multiple questions at once, and the format is dense with exactly what an answer needs: several named options with a description and a use case each.
Competitor blog posts are not targets, they are scoreboards. When a competitor's page is answering a question in your category, that is a question you should have a better page for. Occasionally a competitor will add you to their own roundup, which happens more than people expect and is worth an email if the page is a genuine list rather than a sales page.
Review directories (G2, Capterra, and the rest) are a slow product-marketing project, not an outreach one. You need a profile, then reviews, then months. Worth starting if they appear in your data, and worth ignoring entirely if they don't. In our sample they never appeared at all, which is the single biggest reason I stopped recommending them as a first move.
Forum and community threads are not a target. See the warning at the end of this post.
Documentation and integration pages are the underrated one. If a platform you integrate with lists its integrations, that page gets retrieved for "tools that work with X" questions, which are high-intent and lightly contested. It is usually a form submission rather than a pitch.
News and press is mostly noise for this purpose. It gets cited for questions about events, not for questions about which tool to buy.
How often to redo this
The corpus moves, but not fast enough to justify a weekly afternoon.
Do the full manual pass once per category to establish the map. After that, re-run the question set monthly and watch for two things only: a host entering the top group that was not there before, and one of your landed placements disappearing from the citations. Both are actionable and neither needs the full spreadsheet rebuilt.
Redo the whole thing from scratch when your positioning changes, when a major competitor enters or exits, or when an engine visibly changes behaviour. The map you built in January describes a category that no longer exists by roughly the middle of the year.
Then what
Once you have the list, the work splits cleanly by page type, and I have written the operational half separately: how to get added to a best-tools listicle covers what happens after you know which list to go after, and how to pitch a roundup post inclusion is the email itself.
One warning before you start pitching. The temptation, once you can see the corpus, is to go manufacture citations in the easiest-looking places, which usually means forum threads. Don't. We ran a Reddit-native product for a year and collected four permanent bans doing exactly that (the write-up), which is a large part of why the product works the way it does now. Threads get cited because people found them useful, and the durable move is being the thing those threads link to.
Frequently asked questions
How do I find out which listicles ChatGPT cites for my category?
Ask a search-grounded engine (Perplexity, ChatGPT with search on, Google AI Mode) the questions your buyers actually type, then read the citation panel rather than the answer text. Collect every cited URL across ten or more questions, group them by host, and count. The hosts that keep reappearing are your category's citation corpus. The ranked-list pages inside it are your listicle targets.
Why can't I just ask ChatGPT which listicles it cites?
Because without web search on, it generates plausible URLs from memory rather than reporting retrieval. Ungrounded output is easy to spot once you know the tell: bare homepages with no paths, brand names the model recalled rather than articles it read, and links that often do not resolve. Only count citations from an engine that visibly searched and showed you a source panel.
How many questions do I need to ask before the list is reliable?
Six gave us a direction and not much else. Thirty to fifty questions per category, repeated over several weeks, is where the host counts stop swinging on a single answer. Engines re-retrieve on every run and results move between them.
Is there a free tool that does this?
Ours is at /tools/ai-citation-source-radar. It runs three buying questions through a grounded engine and returns a domain leaderboard with each host's share of citations and the kind of page it contributed. Three questions is directional, not definitive, and the page says so.
Related cluster
Keep reading
AI citation strategy
The pillar guide for finding the pages that supply your category and getting your name into them.
ToolAI Citation Source Radar
See which pages AI engines actually cite when they answer buying questions in your category.
GuideHow to get added to a best-tools listicle
Qualifying lists, the four kinds of list owner, and what gets you added.
GuideHow to pitch a roundup post inclusion
The outreach email itself, with templates for agency blogs, affiliate publishers, and independent writers.
GuideWhat Perplexity actually cites for buying questions
A teardown of 23 cited URLs across six buyer questions. Most belonged to a vendor.
GuideListicle link building for AI search
Why targeting pages by retrieval beats targeting them by domain rating.
Find the questions worth writing about
CueScout scans Reddit, Hacker News, and Quora for the buyer questions AI answers are built from, explains why each one matched, and turns the ones that keep repeating into pages to publish on your own site. Nothing gets posted anywhere else.
Start your first scan