agentspeed.
← all tools
Tool

AI Crawler Access Matrix

Fetch any URL in parallel as ten AI crawlers and a default browser. See exactly which agents your site allows, blocks, redirects, challenges, or serves a different body to. Real HTTP fetches, real verdicts.

Tool
https://openai.com10 crawlers tested3 allowed7 blocked
agentverdictstatusbyteslatencysimilaritynote
GPTBotblocked4039,97893ms0.00OpenAI training crawler
ChatGPT-Userblocked40310,08594ms0.00ChatGPT browsing for a user
ClaudeBotblocked4039,97895ms0.00Anthropic crawler
Claude-Userblocked40310,000100ms0.00Claude browsing for a user
PerplexityBotblocked40310,00099ms0.00Perplexity citation crawler
Google-Extendedblocked4039,93694ms0.00Google AI training opt-out crawler
Googlebotallowed2001,951,263183ms1.00Google search index crawler
Bingbotallowed2001,950,984325ms1.00Bing search index crawler
CCBotblocked4039,93693ms0.00Common Crawl, feeds many AI training datasets
Browserallowed2001,951,275300ms1.00Vanilla desktop Chrome, control row

What each row means

  • GPTBotblockedHTTP 403. The host is refusing this user-agent.
  • ChatGPT-UserblockedHTTP 403. The host is refusing this user-agent.
  • ClaudeBotblockedHTTP 403. The host is refusing this user-agent.
  • Claude-UserblockedHTTP 403. The host is refusing this user-agent.
  • PerplexityBotblockedHTTP 403. The host is refusing this user-agent.
  • Google-ExtendedblockedHTTP 403. The host is refusing this user-agent.
  • GooglebotallowedAllowed (2xx) and the body matches the browser baseline.
  • BingbotallowedAllowed (2xx) and the body matches the browser baseline.
  • CCBotblockedHTTP 403. The host is refusing this user-agent.
  • BrowserallowedBaseline browser response, used as the comparison anchor.
Result summary

Copyable summary for sharing with infra owners or filing an issue with your CDN.

AgentSpeed AI Crawler Access Matrix
Target: https://openai.com
Run: 2026-07-21T05:28:25.107Z

Per-agent verdict:
  - GPTBot           blocked        status=403 sim=0.00 bytes=9978
  - ChatGPT-User     blocked        status=403 sim=0.00 bytes=10085
  - ClaudeBot        blocked        status=403 sim=0.00 bytes=9978
  - Claude-User      blocked        status=403 sim=0.00 bytes=10000
  - PerplexityBot    blocked        status=403 sim=0.00 bytes=10000
  - Google-Extended  blocked        status=403 sim=0.00 bytes=9936
  - Googlebot        allowed        status=200 sim=1.00 bytes=1951263
  - Bingbot          allowed        status=200 sim=1.00 bytes=1950984
  - CCBot            blocked        status=403 sim=0.00 bytes=9936
  - Browser          allowed        status=200 sim=1.00 bytes=1951275

Run again at: https://agentspeed.com/tools/ai-crawler-access-matrix
Watch this URL — get alerted when this changes

Turn this one-off check into a scheduled watch. We re-run it, diff the result, and alert you on a regression through the same channels as your agent alerts. Watches are a paid feature.

Manage watches at /watches. You’ll be asked to sign in if you haven’t already.

Examples

Click an example to run the tool with pre-filled inputs.

Why this matters for AI agents

Most agent-readiness problems show up here first. A site that blocks GPTBot at the WAF, redirects ChatGPT-User to /login, or serves a different body to PerplexityBot than to a browser will never show up in agent answers, and the only way to find out is to actually fetch as those agents.

This is the live equivalent of the journey.primary_probe check on a public scan, run on demand against any URL.

Common fixes
WAF blocks GPTBot
In Cloudflare bot management, allow GPTBot, ClaudeBot, and PerplexityBot explicitly. Their UA strings are documented and IPs are fixed.
Different body for bots than browser
If similarity drops below 0.80 between an agent and the Browser baseline, your CMS or edge layer is likely rendering a different variant. Audit any UA-conditional rendering rules, since agents often get the worst one.
Redirected to /login
Render server-side preview content for unauthenticated requests on landing pages. Agents cannot authenticate; they cite the auth wall.
Cloudflare challenge fires
Add the bot to Cloudflare’s allowed-bots list, or whitelist the published IP ranges for OpenAI, Anthropic, Perplexity.
Different canonical per UA
Canonical drift confuses agent dedupe. Audit any UA-conditional canonical rules; the canonical should be identical across all UAs.
Linked rubric checks
FAQ
Is this the same as the Agent UA tester?
Same backend pipeline, broader UA list. The UA tester runs 6 UAs to focus on cloaking detection. The Crawler Access Matrix runs 10, adding Claude-User, Google-Extended, Googlebot, Bingbot, and Common Crawl, to give a full picture of who can and cannot reach your site.
Why include Googlebot and Bingbot?
Because misconfigured WAFs frequently block them too. If your search visibility tanks, the matrix tells you whether the cause is your robots.txt, your bot manager, or your CDN, without you having to spelunk through logs.
What does "allowed-different" mean?
The agent got a 200 OK but the body content differs from the browser baseline by more than 20% (Jaccard similarity < 0.80). This is usually cloaking, paywall variants, or "render lite for bots" rules. Agents see worse content than humans.
Do you store the responses?
No. Each run is fetched live and discarded. The result page is rendered server-side; nothing persists.
How do redirects show up?
fetchWithHostPolicy follows up to 5 hops. The "redirected" column shows whether any redirect happened; the final URL column shows where it ended up. SSRF-protected, so every redirect is re-validated against the host policy.
Run a full agent-readiness scan
Full scan

Score the entire site against 30 agent-readiness checks across discoverability, readability, structured data, actionability, and performance.

Get the full report for openai.com →