Agent Ready Crawlers

The field guide to every AI crawler and agent at the door, and the vendors who decide who gets in.

401 and 403 by edge and bot-product header

In short

10,565 home pages were fetched; 12.9 percent answered 401 or 403. Pages with a Cloudflare challenge header answered 401 or 403 99.8 percent of the time, pages with a DataDome header 70.3 percent and pages with a Vercel header 0.1 percent. The challenge header sits on the refusal itself.

The crawl records response headers on every home page it fetched. Some name a CDN or host, a few name a bot product, and one says the request was challenged. Setting each beside the status the page answered shows where the refusals sit, with a caution: a header says what the response carried, and Cloudflare's challenge header is set on the refusal itself.

The share that refused, by header

Share of home pages that answered 401 or 403, for pages carrying each edge or bot-product header10 groups from Cloudflare challenge at 99.8 percent to Netlify at 0.0 percent; all home pages 12.9 percent.0%20%40%60%80%100%Cloudflare challenge99.8%DataDome70.3%Akamai36.9%Cloudflare22.3%All home pages12.9%Imperva10.6%Fastly6.0%AWS4.1%Vercel0.1%Netlify0.0%Share of home pages that answered 401 or 403, for pages carrying each edge or bot-product header10 groups from Cloudflare challenge at 99.8 percent to Netlify at 0.0 percent; all home pages 12.9 percent.0%40%80%Cloudflare challenge99.8%DataDome70.3%Akamai36.9%Cloudflare22.3%All home pages12.9%Imperva10.6%Fastly6.0%AWS4.1%Vercel0.1%Netlify0.0%
Home pages that answered the crawl user agent with 401 or 403, among those carrying each header; headers seen on at least 60 pages. Crawl of 2026-11-04.
Every header the crawl recorded, with the 401 and 403 share among pages that carried it and among pages that did not. Of 10,565 home pages, 139 (1.3 percent) carried a bot-product header or cookie.
HeaderWhat it tells usPagesShare of pages401 or 403, with itWithout it
Cloudflare (cf-ray header)A CDN or host header only; it does not say whether bot rules are on4,06238.4%22.3%7.0%
AWS (CloudFront or WAF header)A CDN or host header only; it does not say whether bot rules are on1,20211.4%4.1%14.0%
Vercel (x-vercel-id header)A CDN or host header only; it does not say whether bot rules are on1,06410.1%0.1%14.3%
Cloudflare challenge (cf-mitigated header)The response says the request was challenged or mitigated6446.1%99.8%7.2%
Fastly (server or x-served-by header)A CDN or host header only; it does not say whether bot rules are on5134.9%6.0%13.2%
Akamai (server header or cookie)A CDN or host header only; it does not say whether bot rules are on4964.7%36.9%11.7%
Netlify (x-nf-request-id header)A CDN or host header only; it does not say whether bot rules are on1561.5%0.0%13.1%
Imperva (header or cookie)A bot product header or cookie is present, which is not proof of enforcement660.6%10.6%12.9%
DataDome (header or cookie)A bot product header or cookie is present, which is not proof of enforcement640.6%70.3%12.5%
Vercel mitigation (x-vercel-mitigated header)The response says the request was challenged or mitigated320.3%3.1%12.9%
HUMAN (cookie)A bot product header or cookie is present, which is not proof of enforcement60.1%50.0%12.8%
Kasada (header)A bot product header or cookie is present, which is not proof of enforcement30.0%0.0%12.9%

How to read it

Challenge header
643 of the 644 pages with Cloudflare's challenge header answered 401 or 403. The header is set on the challenge itself, so this is the crawl being challenged and not a rate across a population.
Edge or host header
4,062 pages, 38.4 percent, carried a Cloudflare header, and 22.3 percent of them refused against 7.0 percent of the rest. The header shows the site is behind Cloudflare, not that bot rules are on; the challenge pages above are part of the difference.
Bot-product header
64 pages carried a DataDome header or cookie, and 70.3 percent refused. A bot-product header is not proof of enforcement, and the share describes this crawl's requests only.
Hosts that refused almost nothing
1,064 pages carried a Vercel header and 1 refused; the Netlify header was on 156 pages and none refused. The crawl does not show why.

What the crawl cannot say

A status is what one labelled user agent got on one day from one network, and a header is a presence test. Neither says which agents a site admits. To find out what your own site answers to ChatGPT-User, OAI-SearchBot, Claude-User and PerplexityBot, run the test in the guide, and read what a 403 does to an agent first.

Sources

Last reviewed 2026-11-05