For the complete documentation index, see llms.txt. Every page on this site is also served as Markdown: append `.md` to any URL, or send `Accept: text/markdown`.
Skip to content
Attensira LogoAttensira
Start free

AI traffic edge middleware: see which AI crawlers read your site

Attensira counts AI crawler visits with a small edge middleware you deploy in front of your site, signed with your workspace's HMAC secret. It records the GPTBot, PerplexityBot and ClaudeBot fetches a browser script never sees, per page and per agent, with why each came. AI traffic is on the Growth and Business plans.

7 days free · card requiredHow the trial works

AI trafficattensira.com · AI traffic log

Asked: Which AI crawlers fetched our site in the last 30 days?

called get_analytics area=bot days=30

Of the crawlers that feed search indexes and live answers, OpenAI's read the most pages: 429. Meta's training crawler read more, 881 pages, and is counted below. No request carried a Gemini or Google-Extended user agent; Google's fetches showed up as Googlebot.

OpenAI (GPTBot, OAI-SearchBot, ChatGPT-User)
7,873 visits
429 pages · 86% for the search index
Perplexity (PerplexityBot)
622 visits
331 pages · all for the search index
Anthropic (ClaudeBot, Claude-User)
105 visits
48 pages · 34% fetched live for an answer
Google (Googlebot)
199 visits
81 pages · for Google's index; no request carried a Gemini user agent

Our own site, counted by the same middleware this page describes: one read at 02:30 UTC on 5 Oct, the 30 days to that date, 158,396 requests in all.

Analyst agentAnalyst · Reads the logattensira.com workspace, read over the Attensira MCP ·

Who does the work

  • Analyst agentAnalyst · Reads the log

How do I install the edge middleware?

The configuration to paste
# the generated install for your workspace
# over the REST API, with an API key
GET https://api.attensira.com/v1/ai-traffic/install
# over MCP, with an API key only
tool get_ai_traffic_install

# returns: the ingest endpoint, the signature header,
# your workspace's signing secret, the replay window,
# the daily cap and a copy-paste edge worker

What can't the count tell you?

  • It cannot verify who visited. User agents are self-reported and easy to spoof, and Attensira does not publish a verified-bot claim it cannot stand behind. Read it as directional evidence about coverage.
  • It says nothing about whether answers name you. Crawlers fetch pages and models answer prompts; they run on different schedules, and a rise in one does not predict the other.
  • A client-side script cannot replace it. AI crawlers do not run JavaScript, so a browser beacon only ever sees people. Analytics that shows zero AI crawler traffic is describing its method, not the crawlers.
  1. Step 01

    Get the install generated for your workspace

    Open AI traffic in Settings, or call GET /v1/ai-traffic/install or the MCP tool get_ai_traffic_install with an API key. Use the generated copy. A snippet without your workspace's values sends data nowhere.

  2. Step 02

    Deploy it at your edge

    The worker runs in the edge layer in front of the tracked domain, on every request, including the ones that never become a rendered page. That is the only layer where a crawler fetch exists to be counted.

  3. Step 03

    Wait for a crawler to arrive

    Nothing appears until a crawler fetches a page. On a low-traffic site that can take days, so an empty view in the first hours is expected rather than a failed install.

  4. Step 04

    Read it per page and per agent

    Visits show in AI traffic and in get_analytics area=bot, with pages reached, why each agent came (training, search index or a live answer) and when it was last seen.

What does the generated install hand you?

One call with an API key returns everything the edge worker needs, already filled in for your workspace. Paste the worker as it comes: a snippet without these values sends data nowhere.

APIGET /v1/ai-traffic/install · API key only

Asked: Give me the AI traffic install for this workspace.

called get_ai_traffic_install

No parameters. A signed-in OAuth connection is refused here, because the answer carries a secret.

Ingest endpoint
POST /v1/visits
Signature header
X-Attensira-Signature
Signing secret
HMAC, per workspace
Derived from the workspace id, so it can be shown again.
Replay window
300 seconds
Daily cap
100,000 visits
Edge worker
copy and paste

The response as the API reference publishes it, with the secret left out.

Example · the response as docs.attensira.com/api/endpoints publishes it

What does the edge middleware count?

  • Count AI crawler fetches that browser analytics cannot see, per page and per agent, with the purpose of each visit.
  • Separate an access problem from a content problem. A page no crawler has fetched cannot become a fresh citation, whatever is written on it.
  • Count visits referred by an AI assistant, and keep a daily rollup beyond 90 days so a before-and-after can reach back months.
  • Check whether crawlers read a page more after a change shipped, as one of the signals Attensira measures after the work.

How does the crew tell an access problem from a content problem?

  • Fetched, never cited: a content problem. The fix is on the page: a clearer passage, a table the answer can lift, a comparison the model is missing.
  • Never fetched: an access problem. The fix is robots rules, an auth wall or a redirect chain. Rewriting the copy would waste credits.

Without edge data the two look identical, so the crew reads AI traffic before it decides what a losing prompt needs. After a change ships, fetches of the changed pages are shown around it as counts, never as a verdict on the answers.

What else did it count on our own site?

The hero's four rows are a small share of the read. Volume says nothing about citations; purpose does. Google-Extended is a robots.txt control with no user agent of its own, so Google's fetches arrive as Googlebot and a zero for it is expected.

AI and search crawler requests, from 7 operators
158,396
one read, 30 days to 5 Oct
Meta-ExternalAgent, across 881 pages, all for training
145,331
n=158,396 requests
Bytespider, across 147 pages, all for training
3,710
n=158,396 requests
Bingbot, across 208 pages, for Bing's index
556
n=158,396 requests
Analyst agentAnalyst · Reads the logattensira.com AI traffic log, one read over the Attensira MCP at 02:30 UTC on 5 Oct 2026 · labelled by the user agent each request claimed · to

What do engines tell people to do instead?

Perplexity on 4 Oct sends people to their server logs to match user-agent strings by hand. The middleware records each request's claimed agent at your edge, on every request, with no log export. It does not verify IP ranges.

Answer · Perplexityasked

Question: how to see which AI bots crawl my website

Perplexity answered: Check your server access logs for AI crawler user-agent tokens (e.g., GPTBot, ClaudeBot, PerplexityBot), and verify each hit against robots.txt and the crawler’s published IP ranges. Use a log-analytic approach to identify which bots hit which pages, how often, and with what status, then flag or block unwanted crawlers as needed.

Sources cited

  1. 1swetrix.com
  2. 2aeogodmode.io
  3. 3deepsmith.ai
  4. 4seoptimer.com
  5. 5centium.ai
  6. 6indexly.ai
  7. +4 more

Not namedAttensira is missing from this Perplexity answer.

Analyst agentAnalyst · Read the answerattensira.com stored Perplexity answer, read over the Attensira MCP · · 10 links

Questions about measuring AI crawlers at the edge

Why does this need edge middleware instead of a script tag?
AI crawlers do not execute JavaScript. A browser beacon never runs for them, so by the time a script loads the only visitors left are people. Edge middleware runs on every request, before any page renders.
Which plans include AI traffic?
Growth and Business. Starter workspaces track answers but do not read AI traffic. Accounts still on the retired Agency plan keep it.
Can I get the install from my assistant?
Yes, with an API key. get_ai_traffic_install returns the endpoint, signing secret and worker. A signed-in OAuth connection is refused there, because the response carries a secret.
Is the signing secret like an API key?
No. It is derived from the workspace id, so it is stable and can be shown again. An API key is displayed exactly once.
How long is crawler data kept?
Raw requests for 90 days. A daily rollup per page and agent, with no field that identifies a person, is kept indefinitely, so windows up to 365 days can be read.
Does Attensira see my visitors' personal data?
Requests are measured at your own edge, on your own traffic. The rollup kept beyond 90 days holds counts only, with no user agent string, referrer or IP-derived value.

Where do these facts come from?

  1. Attensira's AI traffic documentation states that AI crawlers do not execute JavaScript, that a client-side beacon has never seen one, and that edge middleware is the only layer where a crawler fetch exists to be counted.

    docs.attensira.com · retrieved

    “AI crawlers do not execute JavaScript. A client-side beacon, no matter how it is written, has never seen one and never will”
  2. Attensira's documentation states that the install instructions are generated for the workspace and carry its own values, and that a snippet without them sends data nowhere.

    docs.attensira.com · retrieved

    “use the generated copy rather than an example you found elsewhere — a snippet without your workspace's values sends data nowhere”
  3. Attensira's documentation states that it does not claim to prove a request came from a specific named crawler, because user agents are self-reported and trivially spoofed.

    docs.attensira.com · retrieved

    “Attensira does not claim to prove that a given request came from a specific named crawler.”
  4. Attensira's AI traffic documentation states that AI traffic is available on Growth and Business, and on the Agency plan that existing accounts keep.

    docs.attensira.com · retrieved

    “AI traffic is available on Growth and Business.”
  5. Attensira's tool reference states that the AI traffic signing secret is derived from the workspace id and can be shown again, and that a signed-in OAuth connection is refused because the response carries a secret.

    docs.attensira.com · retrieved

    “Because the response carries a secret, a signed-in OAuth connection is refused here with a message saying so; use an API key.”

Find out which pages AI crawlers never reach, before you rewrite them.

7 days free · card requiredHow the trial works

Start free

7 days free · card requiredHow the trial works

attensira.com's own workspace · read 4 Oct 2026 · n=4,518

197/ 4,518 answers4.4%

Answers on ChatGPT and Perplexity that named attensira.com. Our own reading, published with its n.Sites we own · not customers · 24 of 31 days sampled