Ran a Shopify price-monitor for a client. Scraper logs: all 200s, no errors, ~10k rows/day piling into the database. Looked healthy. Looked great.
Client flagged it in week 2: "these prices are all stale."
The fix is the one reason 90% of AI web scraping fails in 2026, and it's not the reason everyone writes about (it's not IP bans, not CAPTCHAs, not JS rendering).
The real reason: modern anti-bot systems don't block you. They serve you cloaked content.
You get a 200. You get HTML. You get something that looks like the product page. What you get is last-week's prices, fake stock numbers, placeholder reviews. The scraper can't tell — it's valid HTML that matches the selector. The database fills up with garbage that looks right.
Detection stack that shipped it silently: Cloudflare Bot Management on-ramp flagged the fingerprint, routed traffic through "challenge mode," and cached responses upstream. From the scraper's view, 200 OK.
What actually fixes it:
Wrote up the full debugging story with the specific Cloudflare flags that gave it away: https://www.browseract.com/blog/ai-agent-web-scraping-not-working-heres-the-1-reason-and-fix