Your site's complete AI visibility: crawled, fetched, visited.
What AI bots crawl, what an AI fetches live to answer a request, and the visitors ChatGPT, Perplexity or Claude send you. All of it measured passively on your real traffic — no synthetic prompts, no extrapolated visibility.
The funnel's three stages: Crawled = AI bot passes over your pages · Fetched live = pages retrieved by an AI while handling a request · Visited = humans arriving from an AI chat. Each stage stays separate, aggregated, with no analytics cookie.
It's AI observability applied to content and acquisition: observing what AIs actually do with your pages, rather than extrapolating visibility.
Measured, not guessed.
Most AI visibility tools estimate your visibility by querying AIs with thousands of synthetic prompts. Snorklee reads your site's real AI traffic.
Typical AI visibility tools ℹ
- Source: simulated prompts sent to AIs
- Metric: estimated “share of voice”
- Data: synthetic, outside your site
Snorklee
- Source: real AI traffic on your site
- Metric: observed crawls, live fetches and visits
- Data: first-party, cookieless, hosted in Europe
Snorklee doesn't claim to know the exact question behind a fetch or a visit (that data isn't in the referrer) — it shows the AI traffic actually received.
AIs already read your site. Now you can see it.
Three dashboard cards, exactly as they appear: who crawls you, how many visits arrive from ChatGPT or Perplexity, and which pages AIs fetch to answer.
The detection base behind the AI funnel.
Each AI crawler is detected server-side, then aggregated into the dashboard tiles: detected AI agents, AI activity over time and AI distribution. Human visits from AI chats are read separately from the referrer.
We keep this list current, and every night we re-download the IP ranges published by OpenAI, Perplexity and Anthropic. That is what lets us say a hit is verified rather than merely declared.
OpenAI
3 user-agents-
GPTBot— associated with model training -
ChatGPT-User— on-demand browsing -
OAI-SearchBot— SearchGPT engine
Anthropic
3 user-agents-
ClaudeBot— Claude indexing crawler -
anthropic-ai— legacy Anthropic agent -
Claude-Web— on-demand browsing
-
Google-Extended— associated with Gemini / Vertex AI
Perplexity
2 user-agents-
PerplexityBot— indexing crawler -
Perplexity-User— on-demand browsing
Mistral
1 family-
MistralAI/Mistralbot— Mistral crawler (Le Chat)
Meta
2 user-agents-
FacebookBot— associated with Llama / Meta AI -
Meta-ExternalAgent— Meta AI external agent
ByteDance
1 user-agent-
Bytespider— ByteDance AI crawler (Doubao)
xAI
2 user-agents-
Grokbot— indexing crawler -
Grok-User— on-demand browsing
Other LLMs & archives
9 user-agents-
Applebot-Extended— Apple Intelligence -
cohere-ai— associated with Cohere -
CCBot— Common Crawl archive (base dataset for many LLMs) -
YouBot— You.com engine -
DuckAssistBot— DuckDuckGo Assist -
Amazonbot— Amazon training (Alexa+) -
PetalBot— Huawei AI engine -
DeepSeekBot— DeepSeek crawler (China) -
Diffbot— structured extraction (used by multiple LLMs)
AI traffic is no longer marginal.
In 2025-2026, ChatGPT, Perplexity, Gemini and their peers are becoming important access points to information. Users ask questions and often get answers built from web pages — sometimes with an outbound link, sometimes without a direct visit.
Your current tools can't see it. GA4 files 60 to 70% of traffic coming from AI assistants under “Direct”, and AI crawlers often represent 20 times the human traffic they send back — invisible to a classic JavaScript tracker, which never sees a bot go by.
Snorklee gives you a readable view: which bots come by, which pages they read, which get fetched live to answer — and the pages “crawled but never visited”, your best candidates for optimization. An editorial signal alongside search, social and direct.
Honest note: we measure AI visibility (who crawls, how often). We don't promise placement in ChatGPT or Perplexity answers — that depends on the LLM's own algorithm and nobody controls it.
Check my AI visibility — free →Everything the tab shows you.
Nine cards, all fed by your real traffic: the funnel and its curves, the standout moments, the sources, the crawlers, the pages — and an actionable AI summary. The probable stays separate from the certain.
Funnel Crawled → Fetched → Visited
3 stages + curvesThe three counters with their change vs the previous period and a daily curve per stage — never added together: each stage keeps its own unit.
AI moments
timelineFirst visit from an AI, first live fetch, weekly AI-share record, crawl spike: the standout moments, detected automatically and dated — with the AI's logo.
AI share of traffic
daily %The share of your human visits coming from an AI assistant, day by day — to see whether the AI era already weighs on your acquisition.
Sources
assistant logosChatGPT, Perplexity, Claude, Gemini & co: who sends you humans, how many visits, and the trend — recognised server-side, never estimated.
AI crawlers
family + purposeEvery bot by family, with its observed purpose: training collection, search indexing, or live fetch while answering.
Pages as AIs see them
the leverPage by page: crawled, fetched, visited. Pages “read, never visited” rise to the top — AIs consume your content without sending anything back: your first traffic reserve.
Pages visited from an AI answer
top visitsWhere the humans sent by assistants land — ranked by real visits, with the change vs the previous period.
Snorklee Assistant summary
on click · 1 creditA verdict, the numbers that matter, concrete actions and charts drawn from your real data. Nothing generates without your click — 30 to 120 generations included per month depending on your tier.
Invisible AI traffic (estimated)
separate tierText-fragment arrivals and the estimate of direct traffic closely following assistant fetches (temporal correlation, page by page). Always labelled “Estimated” — never blended with the measured.
All these cards are available as soon as your 14-day free trial starts.
Server-side detection, in two parts.
-
Human visits from AI chats: the snippet is enough.
When a visitor clicks a link in ChatGPT, Claude or Perplexity, their browser loads your page with an identifiable referrer. The server classifies the visit as
channel='ai'with the assistant name — zero friction here, nothing else to install. - AI bot crawls: server-side capture required. GPTBot, ClaudeBot or PerplexityBot read your HTML without running any JavaScript: no tracker can see them. To count them, enable the server beacon Snorklee provides (Express middleware, Cloudflare worker, Vercel/Netlify edge, PHP, WordPress plugin) — step-by-step guide in the dashboard Integration tab.
- Aggregation in the AI traffic tab. No analytics cookies for either measurement. The AI traffic tab shows the Crawled → Fetched live → Visited funnel, the AI share of traffic, the moments, the sources, the crawlers by family and the pages involved.
- Privacy documentation available. The stack is documented: Clever Cloud for the app, PostgreSQL and Cellar/S3; Scaleway Paris for the audit generator and domains; Brevo for email; DB-IP / Eris Networks for IP geolocation.
Who these bots actually are.
People often ask us whether GPTBot and ChatGPT-User are the same bot. They are not. The first collects pages to train a model; the second opens your page while an AI answers someone. Blocking both under one policy means cutting off traffic you meant to keep. So here, bot by bot, is what each one does — and which ones publish their IP addresses, which is what lets you check they really are who they claim to be.
| Bot | Vendor | What it does | Identity verifiable |
|---|---|---|---|
GPTBot |
OpenAI | Collects to train a model | Yes — published IP ranges |
OAI-SearchBot |
OpenAI | Indexes for search | Yes — published IP ranges |
ChatGPT-User |
OpenAI | Reads the page live to answer | Yes — published IP ranges |
ClaudeBot |
Anthropic | Collects to train a model | Yes — published IP ranges |
Claude-User |
Anthropic | Reads the page live to answer | Yes — published IP ranges |
PerplexityBot |
Perplexity | Indexes for search | Yes — published IP ranges |
Perplexity-User |
Perplexity | Reads the page live to answer | Yes — published IP ranges |
Google-Extended |
Collects to train a model | No — no ranges published | |
Applebot-Extended |
Apple | Collects to train a model | No — no ranges published |
Meta-ExternalAgent |
Meta | Collects to train a model | No — no ranges published |
Bytespider |
ByteDance | Collects to train a model | No — no ranges published |
CCBot |
Common Crawl | Collects to train a model | No — no ranges published |
Amazonbot |
Amazon | Undetermined purpose | No — no ranges published |
mistralai-User |
Mistral | Reads the page live to answer | No — no ranges published |
DuckAssistBot |
DuckDuckGo | Reads the page live to answer | No — no ranges published |
PetalBot |
Huawei | Collects to train a model | No — no ranges published |
A number is worthless if you do not know what it proves. Our three stages do not measure the same thing and do not count the same unit: we never add them up. Here is what each one establishes — and, more importantly, what it does not.
| Stage | How it is captured | What it proves | What it does not prove |
|---|---|---|---|
| Crawled | Bot user-agent, read server-side | A bot fetched this page | Does not prove the page will be cited |
| Fetched live | Bot whose stated purpose is “assistant” | An AI opened the page during a conversation | Does not say what the AI did with it |
| Visited | Visit referrer (chat.openai.com, perplexity.ai…) | A human came from an AI answer | Misses arrivals with no referrer |
Frequently asked questions.
Does Snorklee guarantee placement in ChatGPT answers?
How are AI bots counted?
Which assistants are detected?
Do you send prompts to the AIs?
Do I need a cookie or a consent banner?
How is this different from a typical AI visibility tool?
How much does it cost?
Start measuring your AI traffic today.
14-day free trial, cancel online anytime. Or run a free GDPR audit of your site (instant result, no signup).