Crawler evidence
What 90 days of request observations show on this website
49,152 accepted events, three observation classes and no independently verified crawler identities.

The observer accepted 49,152 events during this 90-day window: 26,083 looked like self-identified bots, 4,265 looked like other automation and 18,804 carried the ordinary-browser classification. Those are counts of recorded requests. They do not identify 49,152 visitors, or establish that the clients received the pages they requested.
The most useful result is the separation between what a client claims and what the evidence verifies. Every row in this snapshot is marked unverified. I can report a request classified as ClaudeBot; I cannot turn that label into proof that Anthropic fetched, understood or used the document.
Method & limits
Production observations for sulayman-bowles.dev only, July 23, 2026 at 20:48:00.901287 UTC inclusive to October 21 at the same time exclusive: exactly 90 elapsed days. Queried October 21 at 20:50:26 UTC. The observer is selective and best effort. Every event is unverified; no response status, delivered content, indexing, training or citation outcome is measured. Boundary calendar days are partial; this is not a continuous-delivery audit.
What the observer actually recorded
The three classes sum to the same 49,152-row denominator. Ordinary-browser is a classifier result, not proof that a person was present. Likewise, an unmatched automation record has no established company behind it. Keep that uncertainty when comparing totals.
| Observed class | Events | Meaning |
|---|---|---|
| Self-identified bot | 26,083 | User-agent pattern looked like a bot |
| Suspected automation | 4,265 | Automation indication without a named provider claim |
| Ordinary browser | 18,804 | Ordinary-browser classifier result |
| All classes | 49,152 | Accepted events; not unique clients |
Which familiar names appeared?
These selected registry labels describe claims inferred from User-Agent patterns. The stored registry was version 2026-07-11 and the classifier was 2026-07-11.1 throughout the snapshot. A label can be copied by another client, and a later registry could classify an old string differently.
Another 15,923 self-identified-bot events had no named agent match. Leaving those unmatched is more informative than assigning them to a company from a weak hint. The full grouped table is in the snapshot bundle.
| Claimed agent | Recorded events |
|---|---|
| ClaudeBot | 1,563 |
| ChatGPT-User | 1,177 |
| PerplexityBot | 997 |
| OAI-SearchBot | 716 |
| GPTBot | 366 |
| Perplexity-User | 317 |
| Claude-User | 97 |
| Claude-SearchBot | 5 |
Ninety elapsed days do not prove ninety days of complete capture
The fixed interval intersects 91 UTC dates because it begins and ends partway through a day. At least one event appears on every intersecting date. That checks for whole missing date bins; it cannot rule out shorter outages, dropped deliveries or requests excluded before ingestion.
The middleware selects public GET and HEAD documents plus certain machine-readable resources. It excludes APIs, health checks, most static assets and other methods. Its delivery is best effort and fails open, so a logging problem should not interrupt a visitor. The saved rows are the successful observation deliveries, not an external traffic census.
The window can include the owner’s browsing, synthetic checks and diagnostic clients. No complete organic-versus-test label was available in this extraction. Dividing these counts by days produces an accepted-event average, not a provider’s true crawl rate or a measure of audience size.
What decisions can these records support?
They identify names and routes worth investigating. A surge in a claimed agent can lead to an edge-log check; an unmatched class can lead to classifier review. Before changing a provider-specific rule, follow the identity-verification method and inspect what the request actually received.
They do not establish whether a provider respected robots.txt. That requires the delivered policy at the time, the applicable token and path, a defensible client identity, and a controlled interpretation of caching and user-triggered fetches. The robots-compliance evidence guide explains the missing joins.
Nor does requesting a document establish reading, training or answer citation. The narrower llms.txt study shows how that distinction changes even a simple-sounding question.
Reproduce the arithmetic without exporting private request records
The download includes daily class totals, claimed-agent aggregates, llms path/method counts, version counts, the aggregate SQL and a method note. Sum the daily table by observed class to reproduce the headline. Sum the claimed-agent groups to reconcile the 30,348 non-browser-classified events.
The public projection omits raw events, full user agents, IP-related fields, geography, query names, referrers and deployment identifiers. A later database query can change as ingestion and retention continue; use the frozen files for this edition’s arithmetic. No other website is included.
Sources
- Frozen .dev observer aggregates, SQL and method
Sulayman Bowles
Verified Oct 21, 2026
- Observer window, privacy projection and measurement limits
Sulayman Bowles
Verified Oct 21, 2026