Category: Discovery use cases

How to research the sources AI assistants cite

Record which pages assistants cite for a topic, one query, one model and one date at a time, then study those pages like any candidate. No citation is promised.

By AgentLinkOps editorial team · · 9 min read

How to research the sources AI assistants cite: radar rings locating a candidate source.

An AI-citation source is a page an assistant links to when it answers a question in your subject. The research job is to record which pages get cited, for which query, by which model, on which date, and then to study those pages with the same checks you would run on any backlink candidate. The job does not include making an assistant cite you. Nobody can promise that, and this guide does not.

This guide is one of the discovery use cases. The evidence class is new: an observation of an answer, which no one can reproduce exactly. That is why every rule below is about keeping the query, the model and the date beside the URL.

What the platforms say about their own citations

These are the vendors' statements on the dates fetched, not tests we ran.

OpenAI's crawler documentation, fetched September 15, 2026, says "OAI-SearchBot is used to surface websites in search results in ChatGPT's search features", that a site excluded from it "will not be shown in ChatGPT search answers, though can still appear as navigational links", and that "when users ask ChatGPT or a CustomGPT a question, it may visit a web page with a ChatGPT-User agent". Anthropic's support article, updated April 7, 2026, says "when individuals ask questions to Claude, it may access websites using a Claude-User agent", and names Claude-SearchBot as the crawler that "analyzes online content specifically to enhance the relevance and accuracy of search responses". Anthropic's API documentation for its web search tool, fetched the same day, says "citations are always enabled for web search" and that each citation carries a URL, a title and "up to 150 characters of the cited content". Perplexity's Agent API quickstart describes "answers grounded in real-time web search, with inline citations in a single call".

Google's documentation on AI features, dated December 10, 2025, says "there are no additional requirements to appear in AI Overviews or AI Mode, nor other special optimizations necessary", and that traffic from those features "are included in the overall search traffic in Search Console". Its crawler documentation says the Google-Extended token controls training use only and "does not impact a site's inclusion in Google Search".

Three things follow. Citation fetches identify themselves, so your server logs are evidence. Being cited means being a page a search-backed answer chose, and there is no separate program to enter. And Search Console folds AI-feature traffic into overall web search traffic, so an observation log is the only record of which answers cited you.

Find candidates with the files you already have

Your Search Console query rows. The queries where your pages already earn impressions are the questions to put to an assistant first. You are asking which pages it cites for questions you already answer. The local context host can import a Search Console handoff into your repository and keep the date window and aggregation beside the rows; a missing row in a truncated result never means zero impressions. See repository context.

Your server logs. Requests from ChatGPT-User, OAI-SearchBot, Claude-User and Claude-SearchBot show which of your pages assistants already fetch. A fetch is not a citation, and a page fetched every day may never be cited. Log the pages anyway; they are the ones an answer had the chance to use.

A competitor export, read at page level. The pages that cite your competitors are often the pages assistants cite too, because both are choosing sources for the same subject. Import the export and keep the page URL. AgentLinkOps imports seven supplier layouts and a generic CSV through presets, and any other layout through an explicit column map.

Your own queries. This is the direct method and it is browser or API work your agent does with its own tools. Ask the same question of each assistant you care about and save the answer with its sources. The product's planned first-party search connector is not built, and no assistant connector exists in it; the observations live in your own log.

Record every observation with five fields

A citation observed once is a dated observation, nothing more. Keep a table in your repository with these columns and nothing computed:

FieldWhy it has to be there
Query, verbatimRephrasing changes the sources
Client and modelA chat product, an API model and a CLI with search each choose differently
Date and time, UTCAnswers change day to day; an old observation is evidence of the past
Cited URLs, in the order shownPage level, never host level, because assistants cite pages
Fetch state of each URLWhether a plain fetch can read the page today, with the reason when it cannot

The fifth column is where the rest of this site's method takes over. A cited page is a page other publishers might also cite, which makes it a link insertion candidate if it covers your subject and lacks a source. It is also a page whose current state you can check with the same verifier that checks placements.

One observation, made on the day this was written

On September 15, 2026 at 16:59 UTC we asked one assistant one question and kept the record. Client: Claude Code in print mode with web search, model claude-fable-5-1. Query, verbatim: "What should I check before concluding that a backlink was removed from a web page?" The answer listed eight sources, in this order:

  1. help.ahrefs.com/en/articles/920461-understanding-link-lost-reasons
  2. help.ahrefs.com/en/articles/816350-why-does-ahrefs-report-a-backlink-as-lost-if-i-still-see-it-on-a-page
  3. linkguard.ai/blog/backlink-monitor-false-lost-alerts
  4. pagecrawl.io/blog/backlink-monitoring-link-tamper-alerts
  5. brandmentions.link/ahrefs-lost-links/
  6. contenidopatrocinado.com/en/blog/how-to-detect-lost-backlinks-and-act-before-they-have-an-impact/
  7. clickdo.io/backlinks-not-showing-up-in-ahrefs/
  8. seoptimer.com/blog/javascript-backlinks/

Read that list as data. Two of the eight are a supplier's help articles on its own lost-link reasons. One is a competitor's article on false lost alerts, which our monitor comparison already quotes as a dated statement. Five are third-party blog posts. None is a page of ours, and the query was chosen because it is one this site answers. That is the honest starting point for this kind of research: a dated list of what one model chose once.

Two more attempts the same day produced no observation. A Gemini CLI run stopped at an interactive consent prompt, and a Codex CLI run stopped at a usage limit. Both are recorded as null observations with their reasons. A run that could not complete is not zero citations, in the same way an unreadable page is not an absent link.

What your agent does and what you decide

Agent work, with your tools: run the queries; save each answer with its sources and timestamp; normalize URLs to the page; check each cited page's fetch state; read the cited pages and note what they do that your page does not; repeat the queries on a schedule you choose and diff the lists.

Your decisions: which queries matter; which assistants matter; whether a cited page is a source worth studying or an insertion candidate worth pursuing; and what to change on your own page. Nothing in this lane sends anything.

The backlink MCP workflow shows how an agent keeps this kind of research in the same ledger as its placement checks.

How AgentLinkOps records the result

The product has no assistant connector and makes no citation claim. What it does is check pages. Register a cited page and your destination as a source-and-target pair when you want to know whether that page links to you, or begins to. The candidate starts not_checked; one explicit selection creates a paused watch and a single metered check. The observation carries a hash of the fetched bytes, the robots posture, the redirect chain, the HTTP status and the standing note that JavaScript execution and visual visibility were not checked. The ledger is plain JSONL in your repository, and cloud sync never writes back into it, so your citation log and your placement observations can live side by side. The recall, verify and monitor pipeline carries a whole shortlist through that check in one bounded batch and converts a present result into a watch that keeps its candidate lineage.

What can go wrong

The cited page is rendered by JavaScript. Google's JavaScript documentation says it queues pages with a 200 status for rendering and that rendering "can take longer" than a few seconds. A plain fetch sees the shell. The verifier returns unknown with possible_render_required, and your agent's browser is the next step.

The cited page blocks fetches. A 403, a challenge or a robots refusal is unknown with a reason. It says nothing about why the assistant chose the page.

Treating an answer as reproducible. Ask the same question twice and the list changes. Keep every observation; never overwrite one with the next.

Confusing hosts with pages. Two citations of one host are two pages. Assistants cite pages, and so does this log. The referring domains guide explains the count you would be getting wrong.

Mistaking disagreement for error. Assistants disagree with each other, and with backlink tools, for the same reason backlink tools show different results: different indexes, different dates, different rules. Record the model beside the URL and the disagreement becomes data.

Vendor claims about visibility. Products that promise "AI visibility" describe their own features. Some are labelled as coming soon on their own sites. Quote them with the date if you must; test nothing you cannot observe.

Where this sits in the product today

Selected candidate checks and placement monitoring run in the invitation-only pilot. Live supplier discovery is disabled in this build and stops with PROVIDER_NOT_CONFIGURED. The customer Search Console connector is planned and not built. There is no assistant connector, no citation tracker and no promise of a citation. Your queries, your logs and your judgement do this job. AgentLinkOps sends nothing.

Sources

  1. Overview of OpenAI crawlers · OpenAI · 2026-09-15
  2. Does Anthropic crawl data from the web, and how can site owners block the crawler? · Anthropic · 2026-04-07
  3. Web search tool · Anthropic · 2026-09-15
  4. AI features and your website · Google Search Central · 2025-12-10
  5. Overview of Google crawlers and fetchers · Google Search Central · 2026-07-14
  6. Agent API quickstart · Perplexity · 2026-09-15
  7. JavaScript SEO basics · Google Search Central · 2026-03-04