Unsourced
Research › Technical guide
Research · Technical Guide

How to check if AI cites your website

To check whether ChatGPT, Perplexity, Gemini or Grok cite your website, do two things: ask each assistant the questions your buyers actually ask and record which sources it links, then read your server logs for the AI crawler user-agents that fetched those pages — and verify each crawler is genuine, not a spoof. Below are the exact log lines, the user-agent strings to grep for, and how to prove a crawl is real.

Written by the Unsourced team · updated 16 July 2026 · every figure here comes from our own field data, cited inline.

The short version

Why your Google ranking won't answer this

Generative engines don't rank ten blue links; they assemble an answer and cite a handful of sources. Which sources they pick overlaps surprisingly little with classic search — and little with each other. In our own monitoring, the sources ChatGPT, Perplexity, Gemini and Bing cite for the same question overlap only about 16% of the time. So a top Google position is neither necessary nor sufficient for an AI citation. You have to check the assistants directly, and check whether their crawlers actually reached your pages.

Step 1 — Ask the assistants directly

Start with intent, not vanity. Write down the ten to twenty questions a real buyer would type when they're looking for what you do — not your brand name, the problem. Put each one to ChatGPT, Perplexity, Gemini and Grok, and record every source the answer links, plus whether your domain is among them.

Expect volatility. Rephrase the same question three ways and the cited sources often change, because these systems sample. That's exactly why a single "AI visibility score" is misleading: it blends four engines that mostly disagree, on a given day. Track the actual answers, per engine, over time — not one number.

Step 2 — Read your server logs for AI crawlers

When an assistant is able to cite you, it's usually because one of its crawlers fetched your page. Those fetches don't execute JavaScript, so Google Analytics and most tag-based tools never register them. The evidence lives in your raw server access logs. A real AI-crawler line looks like this:

34.211.7.42 - - [16/Jul/2026:14:02:11 +0000] "GET /pricing HTTP/1.1" 200 8241
  "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.2; +https://openai.com/gptbot"
52.34.169.11 - - [16/Jul/2026:14:03:44 +0000] "GET /guide HTTP/1.1" 200 15320
  "-" "Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)"
185.62.9.10 - - [16/Jul/2026:14:07:02 +0000] "GET /guide HTTP/1.1" 200 15320
  "-" "Mozilla/5.0 (compatible; GPTBot/1.1; +https://openai.com/gptbot)"   <- IP not in OpenAI's published range

On nginx or Apache, a one-line filter surfaces every AI hit:

grep -Ei "GPTBot|OAI-SearchBot|ChatGPT-User|PerplexityBot|ClaudeBot|Google-Extended|Bytespider|CCBot|Amazonbot|Applebot" /var/log/nginx/access.log

The AI crawler user-agents to grep for

OperatorUser-agentWhat it means if you see it
OpenAIGPTBotFetches content to train OpenAI models
OpenAIOAI-SearchBotIndexes for ChatGPT Search — you can be cited
OpenAIChatGPT-UserLive fetch triggered by a user's prompt
PerplexityPerplexityBotIndexes pages for Perplexity answers
PerplexityPerplexity-UserLive fetch for a specific user query
AnthropicClaudeBotFetches content to train Claude
AnthropicClaude-UserLive fetch when Claude browses for a user
GoogleGooglebotFeeds Search and AI Overviews / AI Mode
GoogleGoogle-ExtendedA robots.txt token, not a separate crawler — controls Gemini training use
MicrosoftBingbotFeeds Bing and Copilot
AmazonAmazonbotFetches for Amazon's AI
ByteDanceBytespiderFetches for ByteDance / TikTok AI
Common CrawlCCBotOpen crawl reused by many model trainers
AppleApplebotFeeds Siri and Apple Intelligence

Seeing OAI-SearchBot, PerplexityBot or ChatGPT-User is a stronger "you can be cited now" signal than a training crawler like GPTBot or CCBot, which feeds a model months before it answers anything.

Step 3 — Verify the crawler is real, not a spoof

A user-agent is just text, and anyone can type it. In our own field research across the sites we monitor, 5.4% of AI-crawler traffic was an impostor — a request wearing an AI brand's name from an address that brand never published. So treat every log line as a claim until you prove it two ways:

Either proof verifies a crawler; a contradiction marks an impostor; no published footprint means "unverifiable" — flagged honestly, never accused. You can run this on a single IP with our free AI crawler verifier, or see the full picture in our field report on 9,543 verified crawler visits.

Live crawl versus training memory

One more distinction the logs settle: a citation can come from months-old training data, not a fresh read. If an assistant names you but your logs show no recent fetch from that operator, you're being cited from memory — which can go stale the moment you change the page. A verified crawl close to the citation is the fresher, more durable signal, and only your server logs can tell the two apart.

From a one-off check to standing evidence

Everything above is a snapshot you can take by hand today. The limitation is that AI answers move constantly, so a snapshot is out of date quickly. Doing it continuously — running your buyer questions on a schedule, capturing every answer and citation, and tying each one to a verified crawl in your logs — is exactly what Unsourced automates. It's the difference between checking once and holding a running record you can act on.

Comparing tools for this?

See how Unsourced's server-side telemetry stacks up against the estimate-based approaches:

FAQ

Does ChatGPT cite my website?
It might, and you can check rather than guess. Ask ChatGPT the questions your buyers ask and read which sources it links, then check your server logs for OpenAI crawler user-agents (GPTBot, OAI-SearchBot, ChatGPT-User) fetching those pages. A citation you can see plus a verified crawl in your logs is proof; a ranking is not.
How do I track AI bots on my website?
AI crawlers usually don't run JavaScript, so tools like Google Analytics never see them. Read your raw server access logs instead and filter for AI user-agents such as GPTBot, PerplexityBot, ClaudeBot and Bytespider. Then verify each hit against the operator's published IP ranges and forward-confirmed reverse DNS, because a user-agent alone is only a claim.
Can Google Search Console show whether AI cites me?
Partly. Since June 2026 Search Console reports Gen-AI impressions for Google's own AI surfaces, but it shows impressions only, covers only Google, and can't tell you whether ChatGPT, Perplexity or Claude cited you, nor prove a crawler fetched your page. For that you need the assistants' answers and your own server logs.
What's the difference between GPTBot and OAI-SearchBot?
Both are OpenAI crawlers. GPTBot fetches content to train OpenAI's models. OAI-SearchBot indexes content so it can be surfaced and cited in ChatGPT Search. A third agent, ChatGPT-User, fetches a page live when a prompt triggers browsing. Seeing OAI-SearchBot or ChatGPT-User is the stronger signal that you can be cited now.

Stop checking by hand

Unsourced runs your buyer questions across every major assistant, captures each answer and citation, and proves which crawler really fetched your page — Verified, Impostor or Unverifiable.

© Unsourced — the evidence layer for AI search. Figures cited here come from our own monitoring network; methodology available on request.