When 200 OK Is Not an Answer: Silent Fetch Failures in Agentic Web Content Acquisition
Organizations: The Hong Kong Polytechnic University
Abstract
Web agents and answer engines fetch pages at question time, and liveness checks of cited sources treat an HTTP 200 response as success. We measure how often that assumption fails and what it does to measurements built on fetched pages. We fetched 10,307 URLs in three days with a polite static client and a rendered browser client: pages from 1,507 sites in five strata, random non-existent paths on every site, and the 4,795 URLs cited by expert-verified claims in ExpertQA. We define a taxonomy of what a 200 response contains, label the static 200 responses automatically, and check the labels against 300 items reviewed by an LLM-based assistant; a human check of 60 of them retained every reviewed usability label after discussion. By the automatic labels, 20.9% of the pages that a static client receives with status 200 do not contain the page's main content: app shells, bot challenges, block pages, error and placeholder pages, and partial content. On the held-out test split, the reviewed sample lowers this estimate from 25.5% to 20.0%. 13.1% of the sites whose random-path probe was answered returned 200. The error propagates: for the cited sources, treating 200 as content overstates the share of claim-source pairs that can be checked against live content by 12.2 points and inflates the apparent silent citation-drift rate from 5.8% to 21.9%. Cheap heuristics catch most of it. Text length, probe comparison and redirect-to-root, combined and tuned on held-out sites, recover 86% of unusable reviewed responses at a false-alarm rate near 5%. Content-reading detectors perform comparably: the best, the text classifier, gains five to seven points of recall at more than twice the false-alarm rate. We argue that agents and their evaluations should report fetch outcomes explicitly instead of inferring them from the status line and will release the labelled data and code.
Figures & tables
| Type | Example | Auto | Rev. | |
|---|---|---|---|---|
| A | Content | article, product, documentation or listing text | 3,575 | 199 |
| B | Block | geo-block (“location not supported”); WAF “request unsuccessful” | 83 | 3 |
| C | Challenge | Cloudflare Turnstile; publisher “Client Challenge”; image captcha | 159 | 12 |
| D | Shell | product grid that only says “Loading…”; live scores missing; empty body | 354 | 48 |
| E | Error or substitute | random path redirected to the homepage; unrelated page served at a random path | 341 | 31 |
| F | Parked | hosting placeholder; parked domain redirecting to a lander | 27 | 6 |
| ID | Population | Sites | Pages |
|---|---|---|---|
| S1 | Links listed in llms.txt files ( Gerrish, 2026 ) | 300 | 595 |
| S2 | Tranco ( Le Pochat et al., 2019 ) top 10k | 400 | 631 |
| S3 | Markdown-serving sites in the top 10k | 107 | 186 |
| S4 | Tranco ranks 10,001–100,000 | 400 | 622 |
| S5 | Tranco ranks 100,001–1,000,000 | 300 | 464 |
| P | URLs cited in ExpertQA ( Malaviya et al., 2024 ) | 3,383 | 4,795 |
| Pages | 200 | Unus. | CI | Reviewed | Probe | Blocked | Agree | |
|---|---|---|---|---|---|---|---|---|
| S1 | 595 | 90.6 | 9.8 | 7–13 | 5.4 | 10.5 | 5.9 | 96 |
| S2 | 631 | 69.4 | 26.3 | 22–31 | 23.1 | 13.3 | 17.1 | 79 |
| S3 | 186 | 91.4 | 17.1 | 11–24 | 7.0 | 17.3 | 3.8 | 87 |
| S4 | 622 | 66.1 | 20.9 | 17–25 | 19.0 | 13.7 | 18.6 | 88 |
| S5 | 464 | 71.1 | 16.4 | 12–21 | 12.5 | 13.1 | 14.7 | 89 |
| P | 4,795 | 52.1 | 23.2 | 19–28 | 25.3 | – | 25.7 | 91 |
| Reviewed sample | Automatic | Oracle | |||||
| Detector | Recall | CI | Pages | FA | Recall | FA | Recall |
| H0 | 0.00 | 0.00–0.00 | 0.00 | 0.00 | 0.00 | 0.00 | – |
| H1 | 0.25 | 0.14–0.37 | 0.25 | 0.02 | 0.26 | 0.03 | – |
| H2 | 0.76 | 0.66–0.85 | 0.81 | 0.07 | 0.65 | 0.04 | 0.66 |
| H3 | 0.35 | 0.26–0.46 | 0.07 | 0.03 | 0.15 | 0.02 | 0.35 |
| H4 | 0.10 | 0.05–0.16 | 0.06 | 0.00 | 0.08 | 0.00 | – |
| Policy | Usable % | Missed % | Rendered % | Time (s) |
|---|---|---|---|---|
| Never render | 74.3 | 25.7 | 0.0 | 2.5 |
| Always render | 80.3 | 0.0 | 100.0 | 20.6 |
| Render if H-best flags | 81.4 | 7.8 | 19.6 | 5.8 |
| Render if M2 flags | 81.6 | 6.4 | 22.9 | 6.6 |
| Render if M3 flags | 81.8 | 6.2 | 23.6 | 6.7 |
| Status only | H-best | M1 | M2 | M3 | Labels | ||
|---|---|---|---|---|---|---|---|
| All cited | Live, usable | 52.6 | 45.1 | 45.4 | – | – | 40.5 |
| Live, unusable | – | 7.5 | 7.2 | – | – | 12.2 | |
| Silent drift | 21.9 | 10.2 | 11.4 | – | – | 5.8 | |
| Test split | Live, usable | 56.1 | 42.7 | 46.8 | 41.0 | 40.4 | 38.3 |
| Live, unusable | – | 13.5 | 9.3 | 15.1 | 15.7 | 17.8 | |
| Silent drift | 31.9 | 12.6 | 18.1 | 11.5 | 9.1 | 6.3 |
| Pairs % | Drift % | ||||
|---|---|---|---|---|---|
| System | Pairs | Live | Usable | Status | Labels |
| Post hoc, Google | 1,888 | 55.5 | 45.3 | 11.5 | 3.8 |
| Retrieve-and-read, Google | 1,553 | 57.2 | 46.9 | 16.5 | 5.3 |
| Post hoc, Sphere | 1,517 | 47.7 | 33.4 | 30.1 | 10.3 |
| Retrieve-and-read, Sphere | 1,198 | 48.4 | 33.4 | 33.3 | 6.2 |
Appendix figures & tables1 asset
Supplementary material from the paper’s appendix.
Appendix
| S1 | S2 | S3 | S4 | S5 | P | |
|---|---|---|---|---|---|---|
| (unus./us.) | 15/30 | 19/37 | 5/33 | 22/30 | 14/32 | 24/33 |
| H-best | 0.93 / 0.03 | 0.79 / 0.05 | 0.80 / 0.03 | 0.95 / 0.10 | 0.86 / 0.03 | 0.79 / 0.09 |
| M1 | 0.60 / 0.00 | 0.37 / 0.08 | 0.60 / 0.09 | 0.59 / 0.10 | 0.50 / 0.06 | 0.71 / 0.00 |
| M2 | 0.93 / 0.10 | 0.84 / 0.16 | 1.00 / 0.03 | 0.95 / 0.13 | 0.93 / 0.09 | 0.88 / 0.27 |
| M3 | 0.80 / 0.00 | 0.68 / 0.27 | 1.00 / 0.03 | 0.86 / 0.13 | 0.79 / 0.16 | 0.88 / 0.18 |
Web Agents
Web agents use language and vision models to navigate websites, gather information, and complete tasks through interactive interfaces.
See all 186 papers