About this tool
Drop your access logs, or a whole folder of them, and this tool tells you which AI crawlers came, how often, and what they fetched. Every bot gets its request count with a per-day trend, its top pages, its status codes, its average response time and the median gap between visits. Add your sitemap and you get the most useful table of all: the pages you submitted that no AI crawler ever requested.
Formats it reads
Cloudflare Logpush http_requests JSON lines, the nginx and Apache combined format (the two are byte-identical, so they share one parser; an optional trailing $request_time or %D gives the response time), Caddy's JSON access log, and the Vercel and Netlify log drains. The format is picked per file from its first 20 non-empty lines, so one folder can mix them. .gz files, rotated ones like access.log.2.gz included, are unpacked in the browser. Up to 2,000 files per run.
How crawlers are recognised
By user-agent, in a fixed order: OAI-SearchBot, ChatGPT-User and GPTBot for OpenAI, Claude-SearchBot, Claude-User and ClaudeBot for Anthropic, then Perplexity, DuckDuckGo, Mistral, Meta, Amazon, ByteDance, Common Crawl, Cohere, Diffbot and You.com, plus Googlebot, Bingbot, Applebot, Yandex, Baidu and Petal as search engines. AI crawlers are split into training, search and user-triggered, because blocking one is not the same decision as blocking another. Anything that looks like a bot but matches none of them is listed under other bots with its raw user-agent, so you can see what else is out there.
What it cannot tell you
A user-agent is a claim, not proof: anyone can send GPTBot in a header. This is traffic observation, not identity verification; checking that a crawler is genuine takes a reverse DNS lookup of its IP, which this tool does not do. It also does not stream live logs, which would need a server; export a file and drop it in. Log files never leave your browser. The parser reads only time, method, path, host, status, user-agent and response time, never IP addresses, referers or cookies. Only a sitemap URL, if you paste one, goes to our Worker to be fetched.