Integrations & API
AI crawler tracking
See which AI crawlers — OAI-SearchBot, ChatGPT-User, PerplexityBot, ClaudeBot, Googlebot and more — fetch your pages, by forwarding bot visits from your server or uploading access logs.
Updated
On this page
Before an engine can quote your page, its crawler has to fetch it. AI crawlers shows which AI bots visit which pages, how often, and which requests fail.
Crawler types
| Type | What it does | Examples |
|---|---|---|
| Search index | Indexes pages for AI search results | OAI-SearchBot, PerplexityBot, Claude-SearchBot, Googlebot, Bingbot |
| Live fetch | Fetches a page because a user asked about it | ChatGPT-User, Claude-User, Perplexity-User |
| Training | Collects data to train models | GPTBot, ClaudeBot, CCBot, Bytespider |
Search and live-fetch bots matter most for visibility today. Whether to allow training bots is your choice.
Option 1: forward bot visits from your server
- Open AI crawlers in your project and click Create key. Copy the ingest key — it's shown once.
- Pick the snippet for your stack and add it to your site:
- Cloudflare Worker — sits in front of any site on Cloudflare; reports the real status code.
- Next.js — add to
middleware.ts(orproxy.tson Next.js 16). - Express / Node.js — middleware that reports after the response is sent.
- Any server — POST events to the ingest endpoint yourself.
- Deploy. Visits appear within minutes.
The ingest endpoint accepts up to 1,000 events per request:
curl -X POST https://api.aeotime.com/v1/ingest/crawlers \
-H "Content-Type: application/json" \
-H "X-Aeotime-Key: YOUR_INGEST_KEY" \
-d '{"events":[{"ts":"2026-09-26T10:00:00Z","user_agent":"OAI-SearchBot/1.0","path":"/pricing","status":200}]}'
Only events from known AI crawlers are stored; everything else is ignored. Rotate key replaces the key immediately — update your snippet afterwards.
Option 2: upload an access log
Click Choose log file and upload a log of up to 20 MB. Supported formats:
- Nginx and Apache combined log format
- JSON lines exports from Cloudflare, Vercel, Netlify and similar (fields such as
ClientRequestUserAgent,ClientRequestURI,EdgeResponseStatus,timestamp)
Uploads add to the same daily counts as forwarded events.
What you'll see
- Requests per day, split by search, live fetch and training
- Every bot with requests, pages crawled, errors and last visit
- Most-crawled pages
- Errors served to AI crawlers (404, 403, 5xx) by path and bot
Turning it into fixes
The action plan adds:
- Fix pages that fail for AI crawlers — when search or live-fetch bots get errors
- "… hasn't visited in 30 days" — when a major AI search bot never shows up, usually a sign of a robots.txt, firewall or CDN block
Questions
Why can't Google Analytics see AI crawlers?
Crawlers don't run JavaScript, and analytics tags are JavaScript. Only your server, CDN or hosting logs see them.
Does this send my visitors' data to aeotime?
No. The snippets only forward requests whose user agent matches an AI crawler, and only the time, path, status code and user agent.
Can bots fake their user agent?
Yes. aeotime identifies crawlers by user agent, so a small share of hits may come from bots pretending to be AI crawlers.
Still stuck? We answer within one business day.
Contact support