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
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 · Reads the logattensira.com workspace, read over the Attensira MCP · Who does the work
Analyst · Reads the log
How do I install the edge middleware?
# 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.
- 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.
- 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.
- 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.
- 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.
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.
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 · 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.
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
- 1swetrix.com
- 2aeogodmode.io
- 3deepsmith.ai
- 4seoptimer.com
- 5centium.ai
- 6indexly.ai
- +4 more
Not namedAttensira is missing from this Perplexity answer.
Analyst · Read the answerattensira.com stored Perplexity answer, read over the Attensira MCP · · 10 linksQuestions about measuring AI crawlers at the edge
Why does this need edge middleware instead of a script tag?
Which plans include AI traffic?
Can I get the install from my assistant?
Is the signing secret like an API key?
How long is crawler data kept?
Does Attensira see my visitors' personal data?
Where do these facts come from?
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”
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”
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.”
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.”
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
Tell it where you want to be cited.
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%