User Tools

Site Tools


programming:crawler:llm_agents

Crawling with an LLM Agent

An LLM browser agent is a crawler whose next action is chosen by a model at run time instead of being written down in advance. You give it a goal in prose — find the privacy settings and turn off personalised advertising — and it decides, page by page, what to click. Browser Use, BrowserGym/AgentLab, Skyvern, Stagehand and the Computer-Use APIs are the current instances. The open-source ones still drive Chromium through one of the control channels Crawler already compares, so what is new there is the planner, not the wire — and which channel it is turns out not to be stable, nor always the one the papers say (see the table below). The vendor computer-use APIs are the exception worth noticing: they act on screenshots and coordinates, and the wire underneath is whatever you supply, so a paper naming one has told you even less.

This page exists because a student in 2026 will be asked, in a review or in a group meeting, “why didn't you use an agent for that?” — and because the honest answer is not obvious from the literature, which contains almost none.

As of this corpus, driving a measurement crawl with an LLM agent is not established practice, and this page does not recommend it as a default. Of the 1,120 papers that ran a crawl, 5 (0.4%) drove it with a named agent framework or a vendor computer-use API, and all five are 2026 — inside the provisional slice of the corpus. For scale, in the same population Selenium is 242 papers (21.6%) and even Playwright is 34 (3.0%).

What the five, plus four neighbours that measure agents rather than crawl with them, do give you is something more useful than a trend: measured completion rates, measured per-site costs, and — on benchmark tasks rather than on a site sample — measured run-to-run variance, for an instrument whose failure mode is that it looks like it worked. That is what the rest of this page is. What nobody has measured is in Open Questions.

What Changes When the Planner Is a Model

Four properties of your instrument change, and each one changes something you have to report. Nothing else on this page follows from anything but these.

Property Scripted crawler LLM agent What it costs you
Determinism same input, same actions same input, different actions a single run is no longer a measurement of the site; it is one sample of your instrument
Coverage fails loudly on a selector change improvises around it, and sometimes improvises around the task the denominator of your result stops being “sites visited” and becomes “sites the agent got through”
Success reporting the script threw or it did not the agent reports its own success the framework's success flag is a claim by the thing being measured
Marginal cost fractions of a cent per page cents to tens of cents per site sample size becomes a budget question, not an engineering one

The papers below are, essentially, five different ways of finding this out.

Should You Use One?

The corpus supports a narrow answer, not a general one. Use the question, not the fashion:

  • You need behaviour a script cannot produce, and that is the object of study. Song et al. [1Song, Chuxu; Mekala, Dheekshith Dev Manohar; Wang, Hao; Martin, Richard (2026): "Redefining Website Fingerprinting Attacks with Multi-Agent LLMs", in: Proceedings on Privacy Enhancing Technologies, pp. 688-702. (DOI)] needed website-fingerprinting traffic that looked like a person browsing rather than a robot fetching. Their measurement of why is the strongest argument on this page for the technique: nine state-of-the-art WFP models trained only on scripted-crawler traffic score under 10% accuracy on human traffic, while training on the agent-generated traces “boosts accuracy into the 80% range”. Scripted traffic was not a cheap approximation of human traffic; it was a different distribution. Cost: $35 per GB of authentic human browsing (participant compensation and lab infrastructure) against $10 per GB generated by the agents. This is the case where the agent is not a convenience.
  • The workflow is per-site bespoke, long, and there are hundreds of them. Sun et al. [2Sun, Chen; Vekaria, Yash; Nithyanand, Rishab (2026): "On the Suitability of LLM-Driven Agents for Dark Pattern Audits", Proceedings on Privacy Enhancing Technologies 2026(4):927-946. (DOI)] audited CCPA right-to-access flows on 456 data broker sites — no two the same, every one a multi-step form. A script here is 456 scripts.
  • The agent itself is what you are measuring. Then you are not on this page's first question at all; see Measuring agents is the bigger literature.

Reach for a script instead when:

  • the interaction is uniform across the sample — loading a page, accepting a banner, reading cookies. Interaction and Consent cover instruments built exactly for those, and they are deterministic;
  • your claim is a prevalence over a fixed denominator. An agent that completes 81% of workflows has silently redefined your denominator, and in the only published account of where those losses go, over half of them are infrastructure and anti-bot failure (see Where the missing sites go) — which is not a random slice of the web;
  • you cannot afford to run it three times. See the variance figures below.
  • you need to defend the result in five years. The model behind your agent will not exist. See What to Report.

The Instruments, Dated

Checked against primary sources on 2026-08-29 (GitHub API for repository state and releases, PyPI for the package, IETF Datatracker for the drafts). Star counts are omitted deliberately; they measure attention, not fitness.

Tool What it is State on 2026-08-29 Used in this corpus by
Browser Use Python agent loop; the de-facto default active; v0.13.8, 2026-08-16; MIT. Drives Chromium over CDP directly (cdp-use), not Playwright — at v0.13.8 and at v0.9.5 [2Sun, Chen; Vekaria, Yash; Nithyanand, Rishab (2026): "On the Suitability of LLM-Driven Agents for Dark Pattern Audits", Proceedings on Privacy Enhancing Technologies 2026(4):927-946. (DOI)] (v0.9.5), [3Jannett, Louis; Mayer, Andreas; Westers, Maximilian; Mladenov, Vladislav; Mainka, Christian; Schwenk, Jörg (2026): "The State of Passkeys: Studying the Adoption and Security of Passkeys on the Web", in: Proceedings of the USENIX Security Symposium. (Link)], [4Jeong, Hyejun; Teymoorianfard, Mohammadreza; Kumar, Abhinav; Houmansadr, Amir; Bagdasarian, Eugene (2026): "Network-Level Prompt and Trait Leakage in Local Research Agents", in: Proceedings of the USENIX Security Symposium. (Link)]
BrowserGym + AgentLab a Gym-style environment plus an agent library over it; built for benchmarking, and the reason it hands the agent an accessibility tree rather than pixels active but slower; both last released 2026-01-20 (v0.14.3, v0.4.2), last commit 2026-07-17. Pins playwright==1.44 [5Steiner, Aaron; Peeters, Ralph; Bizer, Christian (2026): "MCP vs RAG vs NLWeb vs HTML: A Comparison of the Effectiveness and Efficiency of Different Agent Interfaces to the Web", in: Proceedings of the ACM Web Conference. (DOI)]
Skyvern commercial agent, open core active; v1.0.51, 2026-08-24; AGPL-3.0. Playwright ≥1.46.0, and now also depends on browser-use-sdk [6Ersoy, Devin; Lee, Brandon; Shreekumar, Ananth; Arunasalam, Arjun; Ibrahim, Muhammad; Bianchi, Antonio; Celik, Z. Berkay (2026): "Investigating the Impact of Dark Patterns on LLM-Based Web Agents", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] (as a subject)
Stagehand Browserbase's SDK; mixes deterministic calls with model-chosen ones active; 4.0.2 on npm (2026-08-20), MIT. v4 dropped Playwright for chrome-launcher plus the Browserbase SDK no paper in this corpus
Playwright MCP exposes Playwright to any MCP client, so your “agent” is whatever model you point at it active; v0.0.79, 2026-08-06; Apache-2.0. Playwright 1.63.0-alpha no paper in this corpus
Anthropic client toolsets not a framework: a tool schema your own code executes. computer_toolset_20260801 works a whole desktop through screenshots and coordinates; browser_toolset_20260801 works inside a browser viewport through the accessibility tree and element references. Nothing runs on the vendor's side — you still supply the browser automation computer_toolset_20260801 left beta 2026-08-19; browser_toolset_20260801 launched the same day [1Song, Chuxu; Mekala, Dheekshith Dev Manohar; Wang, Hao; Martin, Richard (2026): "Redefining Website Fingerprinting Attacks with Multi-Agent LLMs", in: Proceedings on Privacy Enhancing Technologies, pp. 688-702. (DOI)] used the earlier beta Computer Use API
WebVoyager a research prototype, not a maintained tool — last commit 2024-03-04, no releases frozen [7Ramesh, Guruprasad Viswanathan; Nayak, Asmit; Siddique, Basieem; Fawaz, Kassem (2026): "WebSP-Eval: Evaluating Web Agents on Website Security and Privacy Tasks", Proceedings on Privacy Enhancing Technologies 2026(4):666-702. (DOI)] (as a base), [8Teoh, Xiwen; Lin, Yun; Li, Siqi; Liu, Ruofan; Sollomoni, Avi; Harel, Yaniv; Dong, Jin Song (2025): "Are CAPTCHAs Still Bot-hard? Generalized Visual CAPTCHA Solving with Agentic Vision Language Model", in: Proceedings of the USENIX Security Symposium. (Link)] (as a baseline)
WebArena / VisualWebArena a benchmark environment with reference agents, not a crawler v0.2.0 (2023-10-21), last commit 2025-11-26 [6Ersoy, Devin; Lee, Brandon; Shreekumar, Ananth; Arunasalam, Arjun; Ibrahim, Muhammad; Bianchi, Antonio; Celik, Z. Berkay (2026): "Investigating the Impact of Dark Patterns on LLM-Based Web Agents", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] (as subjects)
Mind2Web, SeeAct benchmarks, same caveat SeeAct v0.2.9.0 (2025-01-15), last commit 2025-02-03 no paper in this corpus uses either as an instrument: Mind2Web appears in 12 papers, always as related work, and SeeAct in none at all

Five things that table is for:

  1. Do not mistake a benchmark for an instrument. WebArena, VisualWebArena, Mind2Web and WebVoyager are how the NLP community evaluates agents. They ship an agent implementation, so you can crawl with one — [7Ramesh, Guruprasad Viswanathan; Nayak, Asmit; Siddique, Basieem; Fawaz, Kassem (2026): "WebSP-Eval: Evaluating Web Agents on Website Security and Privacy Tasks", Proceedings on Privacy Enhancing Technologies 2026(4):666-702. (DOI)] builds on WebVoyager's action space — but you are then building on a 2024 research prototype, and you should say so rather than citing it as a tool.
  2. The version gap is already large. The one paper in this corpus that reports a version used browser-use v0.9.5; the current release is v0.13.8. Four minor versions of an agent loop is not a patch level. Neither of the other two Browser Use papers states a version — across the whole family, 1 of 15 agent-tool mentions does. Both release artefacts ([3Jannett, Louis; Mayer, Andreas; Westers, Maximilian; Mladenov, Vladislav; Mainka, Christian; Schwenk, Jörg (2026): "The State of Passkeys: Studying the Adoption and Security of Passkeys on the Web", in: Proceedings of the USENIX Security Symposium. (Link)] on GitHub and Zenodo, [4Jeong, Hyejun; Teymoorianfard, Mohammadreza; Kumar, Abhinav; Houmansadr, Amir; Bagdasarian, Eugene (2026): "Network-Level Prompt and Trait Leakage in Local Research Agents", in: Proceedings of the USENIX Security Symposium. (Link)] on GitHub), so a pin may be recoverable from a lock file by someone who needs it badly enough; it is not in the paper.
  3. Two of the five moved off Playwright, and one paper's description of its own stack does not match the package. Stagehand v4 replaced Playwright with chrome-launcher and the Browserbase SDK, and Browser Use has depended on cdp-use rather than Playwright since at least v0.9.5. Both papers that used Browser Use describe their setup as Playwright-driven — [2Sun, Chen; Vekaria, Yash; Nithyanand, Rishab (2026): "On the Suitability of LLM-Driven Agents for Dark Pattern Audits", Proceedings on Privacy Enhancing Technologies 2026(4):927-946. (DOI)] writes “a headless Chrome browser controlled through Playwright”, [3Jannett, Louis; Mayer, Andreas; Westers, Maximilian; Mladenov, Vladislav; Mainka, Christian; Schwenk, Jörg (2026): "The State of Passkeys: Studying the Adoption and Security of Passkeys on the Web", in: Proceedings of the USENIX Security Symposium. (Link)] “using Playwright and the agentic LLM-based Browser Use framework”. They may well have driven Playwright alongside the agent; the point is that “we used framework X” no longer identifies the control channel, which is the one thing Crawler asks you to report. Read the dependency manifest, not the prose.1)
  4. Read the registry, not the release page. GitHub's /releases/latest for Stagehand returns 3.7.3, published 2026-08-28; npm's latest dist-tag is 4.0.2, published eight days earlier. 3.7.3 is a v3 maintenance release carrying the v3-latest tag. Take a version from the package registry.
  5. MCP is plumbing, not an agent, and so is a vendor toolset. The Model Context Protocol (current protocol version 2026-07-282)) is how a model is handed tools; Playwright MCP makes a browser one of those tools; Anthropic's browser_toolset_20260801 is a tool schema whose calls your own code executes against a browser you host. None of the three decides anything. A paper that says “we used MCP”, or names a vendor toolset, has still not said what drove the browser or what chose the clicks.

A name that looks like it belongs here and does not: “MCP Server Crawler” in Zhao et al. [9Zhao, Shuli; Hou, Qinsheng; Zhan, Zihan; Wang, Yanhao; Xie, Yuchong; Guo, Yu; Chen, Libo; Li, Shenghong; Xue, Zhi (2026): "Parasites in the Toolchain: A Large-Scale Analysis of Attacks on the MCP Ecosystem", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] is an ordinary crawler over MCP directory listings and GitHub links. It contains no agent; the name describes what it crawls. It is excluded from every count on this page, deliberately and by an explicit rule.

Use in Publications

The figures below come from a structured extraction over 5,859 full-text papers from CCS, IMC, NDSS, PETS, USENIX Security, TheWebConf and IEEE S&P, 2010–2026. Each query names its own population. The 2025 and 2026 venue-years are provisional — CCS and IMC 2026 have not been held, and IEEE S&P and WWW 2026 abstracts are not in the selection source — which matters more here than on any other page in this wiki, because everything this page counts is inside those two years. Methodology and limitations are at the end of this section.

Almost nobody crawls with one

Population Papers Share
Papers naming any LLM browser-agent framework, anywhere in the corpus 9 0.2% of 5,859
…of those, published in 2025 1
…of those, published in 2026 8
Crawling papers that drove the crawl with one 5 0.4% of 1,120
…of those, naming it in a tool category the Crawler framework table counts3) 4 0.4% of 1,120

The same population, for scale:

Instrument family Papers Share of the 1,120 crawling papers
Selenium 242 21.6%
Puppeteer 76 6.8%
OpenWPM 58 5.2%
Chrome DevTools Protocol, used directly 42 3.8%
Playwright 34 3.0%
LLM browser agents 44) 0.4%

Dating it: LLMs arrived here as classifiers first

The contrast that makes “not yet current practice” a measurement rather than an opinion. Same corpus, same years, different role for the same technology:

Year Papers classifying something with an LLM Papers naming an agent framework
2023 2 0
2024 27 0
2025 77 1
2026 (provisional) 71 8

177 papers (3.0% of 5,859) classify with an LLM; 9 name a browser agent. LLM classification is an established method with a four-year run-up and a page of its own (Website classification); LLM browsing is one year old in this literature and has produced nine papers, six of which are about the agents rather than about the web. Anyone telling you agentic crawling is how the field works now is describing a future, not the record.

Instrument or subject

This distinction is not in the extraction schema and cannot be derived from it. The nine papers were read by hand and each assignment is recorded with the sentence it rests on (all nine sentences are in the report script and reproduced on llm_agents).

Role Papers Meaning
instrument 3 the agent collected the data the paper reports
both 3 the agent was run as the workload and measured
subject 2 the agent is the object of study; the crawl is incidental
baseline 1 named only as something compared against

Only three of the nine used an agent purely as an instrument. If you are about to write “prior work uses LLM agents for web measurement”, check which of the two you mean; the citation you reach for is probably a paper measuring the agent.

Methodology and limitations of the corpus figures

  • How they were produced. One structured record per paper was extracted from full text, each tuple carrying a verbatim evidence quote and its section. The script that produces every number in this section, with its denominators, is report_llm_agents.mjs; the folding rule is a new family in tool_fold.mjs. Every query, the script's unedited output, the full-text probe and the residue are on llm_agents; corpus-level caveats are on Corpus.
  • The fold is new and it is an explicit list, not a pattern. “LLM browser agents” is an ordered regex family tested before Playwright and Puppeteer, because several of these agents sit on those libraries — Skyvern requires playwright>=1.46.0, BrowserGym pins playwright==1.44 — and a name matched in the wrong order would be counted as the library rather than as the agent. Two names were excluded on purpose: MCP Server Crawler [9Zhao, Shuli; Hou, Qinsheng; Zhan, Zihan; Wang, Yanhao; Xie, Yuchong; Guo, Yu; Chen, Libo; Li, Shenghong; Xue, Zhi (2026): "Parasites in the Toolchain: A Large-Scale Analysis of Attacks on the MCP Ecosystem", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)], an ordinary crawler over MCP directories, which stays in the report's printed residue; and WebAgentDriver, the Appium XCUITest driver on jailbroken iOS, which sits in a mobile category outside that residue table and is written into the fold file as a comment instead. Crawl4AI and Firecrawl are excluded too — they are conventional crawlers that emit Markdown for a model to read afterwards, and nothing in them decides the next action.
  • A full-text probe was run separately, over all 5,869 rendered paper.cols.txt files5) for 22 named agent frameworks. It is the reason the counts above are not larger: the extraction sees a framework only when it lands in tools[], and the probe confirms that everywhere else these names appear they are related work. The probe also shows why a naive one is worthless here — the de-hyphenation that repairs PDF line breaks turns “browser-based” into “browserbased”, so a plain /browserbase/i probe reports 45 papers going back to 2010, none of them about Browserbase. Both the wide and tight forms, and everything the tightening discarded, are printed on the provenance page.
  • Counts are of papers, never tuples, and shares are of the population named in the heading.
  • Everything here rests on the provisional years. Nine papers is a small number and 2026 is an incomplete year. Treat the direction as real and every rate as provisional; the honest claim is “this had not happened yet by 2026”, not “this will not happen”.
  • Quotes were checked. All 15 evidence quotes behind the family were matched against the paper full text: 3 exact, 3 partial after normalising whitespace and hyphenation, 9 below threshold — and all nine were then read by hand and all nine are present in the source, failing only because the extraction dropped bracketed citation markers or because two-column reading order interleaved the sentence. The adjudication is on the provenance page.
  • Venue coverage. Seven venues. Agent research overwhelmingly publishes at NeurIPS, ICML, ICLR, ACL and CHI, none of which are in this corpus. A count of nine is a statement about security, privacy and measurement venues, not about the world. The frameworks in the table above are real and widely used outside it.

What the Instrument Papers Actually Found

Completion is a number, and the framework's own flag over-reports it

Sun et al. [2Sun, Chen; Vekaria, Yash; Nithyanand, Rishab (2026): "On the Suitability of LLM-Driven Agents for Dark Pattern Audits", Proceedings on Privacy Enhancing Technologies 2026(4):927-946. (DOI)] ran a browser-use agent (v0.9.5, GPT-5, headless Chrome on one California-hosted server, “controlled through Playwright” in their own description — see the caveat above) over 456 data broker sites. The framework's internal is_successful flag reported completion rates of 95% and 89% in two phases. After the authors applied their own verification — a six-category failure taxonomy the agent had to fill in, with runs reporting a failure treated as unsuccessful “even if the internal is_successful flag indicates completion” — the real figure was 81% of workflows, reported as 87% and 79% in the two phases the paper breaks out.6)

An agent framework's success flag is a claim by the instrument about itself. It said 95% and 89%; the authors' own verification said 81% overall. That is not a bug in browser-use — it is what happens when the thing that decides “done” is the thing being measured. Verify completion against something the agent does not control, and report both numbers.

Jannett et al. [3Jannett, Louis; Mayer, Andreas; Westers, Maximilian; Mladenov, Vladislav; Mainka, Christian; Schwenk, Jörg (2026): "The State of Passkeys: Studying the Adoption and Security of Passkeys on the Web", in: Proceedings of the USENIX Security Symposium. (Link)] report the other end of the range. Wanting full automation of passkey registration, authentication and deletion, they built a prototype on Playwright and Browser Use and tried it on five randomly selected passkey-enabled sites: it succeeded on one of the five. They fell back to a semi-automated design. The obstacles they list — customised UIs, confirmation prompts, password re-entry, 2FA by email/SMS/OTP, CAPTCHAs, rate limiting — are not exotic; they are what any authenticated-area measurement meets (Registration).

Where the missing sites go

The 19% Sun et al. could not complete is the most transferable thing in the paper: it is the only published account of where an agent crawl's coverage goes. Their six-category breakdown of the incomplete workflows:

Failure category Share of incomplete workflows
Automation instability (browser crashes, network instability, execution timeouts) 26.7%
Security barrier (CAPTCHA, Cloudflare, bot management) 25.8%
Interaction failure (pathway found, fields or conditional steps not exposed) 24.4%
Navigation failure (could not operationalise the protocol) 10.1%
Content-format limitations (the instructions were inside a PDF, say) 7.8%
Agent instability — the agent's own planning state went wrong 5.1%

Read the last row first. Only 5.1% of the losses are the model's own reasoning going wrong; just over half — 52.5% — is infrastructure and anti-bot. The authors draw the conclusion that matters for anyone budgeting a sample: “even a perfectly calibrated dark pattern classifier would remain unable to evaluate these workflows without modifications to the underlying system infrastructure and agent-website interaction mechanics.” A better model will not recover them. A different vantage point, a session-recovery mechanism, or an evasion decision might — and the last of those is where this stops being an engineering question (Being Detected, and the Ethics of Not Being).

This is one taxonomy, from one paper, over one task family (CCPA request portals), on a single run. It is the only one published, so it is the best available guess at where your coverage will go — not a law.

It costs real money, per site

Sun et al. report ≈$0.52 and ≈287k tokens per data broker in their best-performing configuration. Over 456 sites that is roughly $240 for one pass; over a Tranco top-10k sample it would be around $5,200 per pass, and the variance figures below say you need more than one pass.

Steiner et al. [5Steiner, Aaron; Peeters, Ralph; Bizer, Christian (2026): "MCP vs RAG vs NLWeb vs HTML: A Comparison of the Effectiveness and Efficiency of Different Agent Interfaces to the Web", in: Proceedings of the ACM Web Conference. (DOI)] put the same cost in a different unit by comparing four ways of giving an agent access to the same four shops. Driving the HTML — the thing an agent-crawler does — was the worst of the four on every axis: F1 0.67 against 0.75–0.77 for the MCP, NLWeb and RAG interfaces; ≈241k tokens per task against 47k–140k; 291 seconds per task against 50–62. Read as measurement advice: if the site offers you an interface that is not the rendered page, the agent is cheaper and better through it — and if your research question is the rendered page, you are paying five times over for the privilege. (Their testbed is four simulated shops, not the live web; treat the ratios, not the absolutes.)

One run is not a result

Ramesh et al. [7Ramesh, Guruprasad Viswanathan; Nayak, Asmit; Siddique, Basieem; Fawaz, Kassem (2026): "WebSP-Eval: Evaluating Web Agents on Website Security and Privacy Tasks", Proceedings on Privacy Enhancing Technologies 2026(4):666-702. (DOI)] ran eight agent instantiations over 200 task instances across 28 websites, then re-ran a hard subset three times. The strongest model, Gemini-3.1-Pro, solved 90% of that subset at least once in three trials (pass@3) and 51% in all three (pass³). The weakest, Gemma-3-27B, scored 0.27 and 0.02.

Read those two numbers together before you report anything from a single agent run. On a deliberately hard subset, the best available agent succeeded at least once but not every time on roughly two in five of the tasks it could do at all. A prevalence computed from one pass is a sample of your instrument as much as of the web. Sun et al. are explicit that they did not measure this: “because LLM-based agents are inherently non-deterministic, repeated executions of the same workflow may not always produce identical reasoning traces or classifications. We do not evaluate output variability across repeated runs, and our results should be interpreted as a single-run observation.”

Ramesh et al. also report the ordinary sensitivities, and the largest of them is the model. Over the same 200 instances without navigation hints, Gemini-3-Pro succeeded on 165 and the open-weight Gemma-3-27b on 40 — a spread of 62.5 percentage points between two agents that are otherwise the same harness. Removing the navigation hint from the prompt costs Gemini-3-Pro 4 instances (169 → 165, 84.5% → 82.5%) and Gemini-2.5-Flash 21 (127 → 106, “a relative difference of 16.5%”).7) In their benchmark, which model you picked moved the headline number further than any methodological decision on this page. Whether that holds on a live-web prevalence measurement is untested.

The prompt is part of the instrument, and role-play made it worse

Sun et al.'s ablation over four prompt configurations, on the same agent, same model, same sites:

Prompt configuration Classification accuracy Precision Recall F1 Explanation accuracy
L1: zero-shot 70.8% 61.0% 60.1% 60.5% 78.1%
L2: zero-shot + regulator role 63.6% 49.9% 73.3% 59.4% 71.1%
L3: few-shot + role 83.5% 79.9% 74.0% 76.9% 95.8%
L4: few-shot + role + chain-of-thought 86.7% 88.0% 74.4% 80.7% 98.5%

Two readings, both about measurement rather than about prompting. First, the swing from worst to best configuration is 23 points of accuracy on identical data — larger than most effects a web-measurement paper reports, which means an unreported prompt is an unreported instrument. Second, adding a “you are a regulatory auditor” role made it worse: −7.1 points of accuracy and −11.1 of precision against plain zero-shot, because it raised sensitivity and false positives together. The authors flag this as “counter to the common expectation that role framing improves overall task performance”. Publish the prompt, and treat prompt-engineering folklore as a hypothesis about your instrument, not a setting.

For context on the ceiling: their two human annotators building the ground truth reached Cohen's κ = 51.9% on binary present/absent labels before adjudication. Dark-pattern labelling is hard for people too (Interrater agreement).

Measuring Agents Is the Bigger Literature

The three both papers, the two subject papers and the one baseline use all point the instrument at least partly the other way, and this is where the corpus is actually growing. Four of them are worth knowing exist, because they are the reviewer's frame of reference:

  • Ersoy et al. [6Ersoy, Devin; Lee, Brandon; Shreekumar, Ananth; Arunasalam, Arjun; Ibrahim, Muhammad; Bianchi, Antonio; Celik, Z. Berkay (2026): "Investigating the Impact of Dark Patterns on LLM-Based Web Agents", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] built LiteAgent, a harness that runs any of six commercial and academic agents against TrickyArena, four React sites with selectively enabled dark patterns. With a single dark pattern present, agents fell for it 41% of the time on average, higher-performing agents more than weaker ones; prompting them to avoid a specific pattern with step-by-step instructions — the most effective countermeasure they found — cut susceptibility by only about 32%; and turning on vision capabilities lowered task success while raising susceptibility for a majority of agents.
  • Ramesh et al. [7Ramesh, Guruprasad Viswanathan; Nayak, Asmit; Siddique, Basieem; Fawaz, Kassem (2026): "WebSP-Eval: Evaluating Web Agents on Website Security and Privacy Tasks", Proceedings on Privacy Enhancing Technologies 2026(4):666-702. (DOI)] ask whether agents can do the security and privacy tasks a user would delegate — managing cookie preferences, revoking sessions — and find performance collapses on stateful widgets (toggles, radio buttons) that require reading the current state before acting.
  • Jeong et al. [4Jeong, Hyejun; Teymoorianfard, Mohammadreza; Kumar, Abhinav; Houmansadr, Amir; Bagdasarian, Eugene (2026): "Network-Level Prompt and Trait Leakage in Local Research Agents", in: Proceedings of the USENIX Security Symposium. (Link)] show a passive network observer can recover an agent's prompt and infer user traits from the domain-and-timing trace alone, across GPT Researcher, AutoGen and Browser-Use.
  • Steiner et al. [5Steiner, Aaron; Peeters, Ralph; Bizer, Christian (2026): "MCP vs RAG vs NLWeb vs HTML: A Comparison of the Effectiveness and Efficiency of Different Agent Interfaces to the Web", in: Proceedings of the ACM Web Conference. (DOI)] is the interface comparison above, and reads as an argument that the web will grow agent-specific interfaces rather than being browsed as-is.
  • The remaining two are further from web measurement but complete the count: Chang et al. [10Chang, Hongyan; Bao, Ergute; Luo, Xinjian; Yu, Ting (2026): "Overcoming the Retrieval Barrier: Indirect Prompt Injection in the Wild for LLM Systems", in: Proceedings of the USENIX Security Symposium. (Link)] on indirect prompt injection reaching a multi-agent system through retrieved web content, and Teoh et al. [8Teoh, Xiwen; Lin, Yun; Li, Siqi; Liu, Ruofan; Sollomoni, Avi; Harel, Yaniv; Dong, Jin Song (2025): "Are CAPTCHAs Still Bot-hard? Generalized Visual CAPTCHA Solving with Agentic Vision Language Model", in: Proceedings of the USENIX Security Symposium. (Link)], whose agentic CAPTCHA solver treats an off-the-shelf web agent as the baseline to beat.

For the mirror image — an LLM planning a crawl you wrote yourself, rather than an off-the-shelf agent — see Stafeev et al.'s YuraScanner [11Stafeev, Aleksei; Recktenwald, Tim; De Stefano, Gianluca; Khodayari, Soheil; Pellegrino, Giancarlo (2025): "YuraScanner: Leveraging LLMs for Task-driven Web App Scanning", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] (NDSS 2025), which drives Puppeteer with GPT-4 to execute task workflows in web applications. It folds nowhere near the frameworks above, because it is one of the “bespoke crawler with its own name” papers that Crawler counts 181 of. That is currently the more common shape.

Being Detected, and the Ethics of Not Being

An agent-driven browser is a third detection category, after “is this a human” and “is this an AI crawler”. Crawler Detection covers the first two and the 2025–2026 turn in bot management; only what is specific to agents belongs here.

  • Your search engine will notice first. Jeong et al. [4Jeong, Hyejun; Teymoorianfard, Mohammadreza; Kumar, Abhinav; Houmansadr, Amir; Bagdasarian, Eugene (2026): "Network-Level Prompt and Trait Leakage in Local Research Agents", in: Proceedings of the USENIX Security Symposium. (Link)] record that of Browser-Use, “By default, it issues Google queries via search_web, which frequently triggers reCAPTCHA; we therefore configure it to use Bing with automatic fallback.” An agent that navigates by searching hits the most aggressively bot-managed surface on the web before it reaches your sample.
  • Blocking shows up as a failure category, not as an error. Sun et al.'s taxonomy has the agent classify its own blocks, with security_barrier defined as “website actively blocks automation (CAPTCHA, Cloudflare)” — distinct from automation_instability, interaction_failure and navigation_failure. Whatever you build, separate “the site refused” from “the agent gave up”, or your coverage loss is uninterpretable.
  • The field has not agreed on evasion, and the disagreement is inside one year. Three 2026 papers, three positions. Sun et al.: “We deliberately avoided evasive crawling techniques (e.g., disguised user agents or proxy rotation)” and treated CAPTCHA-blocked workflows as execution failures. Jannett et al.: “we did not use automatic CAPTCHA solvers, since this would bypass protections designed to prevent automation.” Ramesh et al. [7Ramesh, Guruprasad Viswanathan; Nayak, Asmit; Siddique, Basieem; Fawaz, Kassem (2026): "WebSP-Eval: Evaluating Web Agents on Website Security and Privacy Tasks", Proceedings on Privacy Enhancing Technologies 2026(4):666-702. (DOI)]: “we use the undetected chromedriver and automatic captcha solvers in the setup to help avoid bot detection when interacting with websites.” Whichever you choose, choose it explicitly and defend it in the paper — see Ethics. Note that the third is an agent-benchmarking study on 28 sites the authors hold accounts on, which is not the same ethical situation as an unannounced crawl of 456 strangers.
  • Your model vendor sees every page you crawl. An API-backed agent ships the page — its text, often its screenshots — to a third party under that vendor's terms, for every site in your sample. That is a data-handling question a scripted crawl does not raise, and it is separate from detection: it applies to authenticated pages, to participant-facing content, and to any site whose own terms you are relying on. Sun et al. ran GPT-5 over 456 data brokers; Ramesh et al. ran eight models over accounts they held themselves. Say which vendor saw your crawl, and settle it against your ethics approval (Ethics) before the crawl, not after.
  • Declaring yourself may become possible. The IETF Web Bot Auth working group is chartered and active, and the current protocol draft — draft-meunier-webbotauth-httpsig-protocol-02, HTTP Message Signatures for automated traffic — was revised on 2026-08-19 and is Active; it replaces the earlier individual draft-meunier-web-bot-auth-architecture.8) Nothing to cite yet, and nothing that helps you today, but “sign your crawler and be let in” is the one development that would change the ethics calculus above rather than restating it.

What to Report

An agent crawl is reproducible only if a reader can rebuild the instrument, and the instrument is now five things instead of one. Of the 15 agent-tool mentions in this corpus, one states a framework version. Do better than the state of the art here; it is cheap.

  1. The framework and its exact version. browser-use 0.13.8, not “an LLM agent”. The one paper that did this is the one whose result can still be interpreted.
  2. The model, its exact identifier, and its date. gpt-5-2026-xx-xx, not “GPT-5”. Model identifiers are retired; Ramesh et al. had to swap Gemini-3-Pro for Gemini-3.1-Pro mid-study because the first “was discontinued”. If the model is gone, an unversioned reference is unreproducible in the strongest sense.
  3. The prompt, in full, in an appendix or artefact. It moved accuracy by 23 points in the only paper that measured it. A prompt is method, not configuration.
  4. Temperature, sampling settings and how many times you ran it. If you ran it once, say so — Sun et al. do, and their paper is better for it.
  5. Two completion numbers: what the framework reported, and what you verified independently. With the verification procedure. This is the single most consequential line on the page.
  6. A failure taxonomy over the sites you did not complete, separating site refusal from agent failure. Otherwise your non-response is uninterpretable and probably not missing at random.
  7. Cost per site, in currency and tokens. It is the sample-size constraint, it is comparable across papers, and one paper reporting it ($0.52 / 287k tokens) is not enough for anyone to plan against.
  8. Everything a scripted crawl already owes you: browser and version, vantage point (Crawling location), statefulness (Stateful Stateless), dates, and the artefact (Artifacts).

Validate against a script, not only against humans. The cheapest defensible design in this literature is Sun et al.'s: hand-annotate a sample (they used 100 of 456 brokers), build the ground truth manually, then measure the agent against it and report where it diverges. That turns “we used an agent” into a claim with an error bar.

Papers to Read First

  1. [2Sun, Chen; Vekaria, Yash; Nithyanand, Rishab (2026): "On the Suitability of LLM-Driven Agents for Dark Pattern Audits", Proceedings on Privacy Enhancing Technologies 2026(4):927-946. (DOI)] — read this one first even if you never use an agent. It is the only paper in the corpus whose research question is whether the instrument works, and its completion, cost, prompt-ablation and failure-taxonomy figures are the numbers every other page here would want.
  2. [1Song, Chuxu; Mekala, Dheekshith Dev Manohar; Wang, Hao; Martin, Richard (2026): "Redefining Website Fingerprinting Attacks with Multi-Agent LLMs", in: Proceedings on Privacy Enhancing Technologies, pp. 688-702. (DOI)] — the strongest case for: a measurement that scripted crawling could not have produced, with the cost comparison.
  3. [3Jannett, Louis; Mayer, Andreas; Westers, Maximilian; Mladenov, Vladislav; Mainka, Christian; Schwenk, Jörg (2026): "The State of Passkeys: Studying the Adoption and Security of Passkeys on the Web", in: Proceedings of the USENIX Security Symposium. (Link)] — one paragraph, one of five sites, and an honest retreat to semi-automation. The counterweight.
  4. [6Ersoy, Devin; Lee, Brandon; Shreekumar, Ananth; Arunasalam, Arjun; Ibrahim, Muhammad; Bianchi, Antonio; Celik, Z. Berkay (2026): "Investigating the Impact of Dark Patterns on LLM-Based Web Agents", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)] — if agents browse for users, dark patterns are aimed at agents. LiteAgent and TrickyArena are released.
  5. [5Steiner, Aaron; Peeters, Ralph; Bizer, Christian (2026): "MCP vs RAG vs NLWeb vs HTML: A Comparison of the Effectiveness and Efficiency of Different Agent Interfaces to the Web", in: Proceedings of the ACM Web Conference. (DOI)] — what driving the HTML costs relative to the alternatives.
  6. [11Stafeev, Aleksei; Recktenwald, Tim; De Stefano, Gianluca; Khodayari, Soheil; Pellegrino, Giancarlo (2025): "YuraScanner: Leveraging LLMs for Task-driven Web App Scanning", in: Proceedings of the Network and Distributed System Security Symposium. (Link)] — the more common shape: your own crawler, with an LLM choosing the workflow.

Open Questions

  • Nobody has published the variance study. Run the same agent over the same sample n times and report the distribution of the headline number. Ramesh et al. do this for a hard subset of their 200 benchmark tasks; nobody has done it for a prevalence measurement over a site sample, and until somebody does, every agent-derived prevalence in this literature is a point estimate with an unknown spread.
  • Does an agent-driven browser see a different web? Zeber et al. [12Zeber, David; Bird, Sarah; Oliveira, Camila; Rudametkin, Walter; Segall, Ilana; Wolls´en, Fredrik; Lopatka, Martin (2020): "The Representativeness of Automated Web Crawls as a Surrogate for Human Browsing", in: Proceedings of The Web Conference 2020, pp. 167–178. Association for Computing Machinery, New York, NY, USA. (DOI) (Link)] established that scripted crawls diverge from human browsing; Song et al. [1Song, Chuxu; Mekala, Dheekshith Dev Manohar; Wang, Hao; Martin, Richard (2026): "Redefining Website Fingerprinting Attacks with Multi-Agent LLMs", in: Proceedings on Privacy Enhancing Technologies, pp. 688-702. (DOI)] show the traffic distributions differ enough to break a classifier. Whether the content served differs — different consent flows, different trackers, different prices — is unmeasured, and it is the question that decides whether agents are a better instrument or merely a different one.
  • No head-to-head against a conventional crawler on the same sample. The same 1,000 sites, the same day, one Playwright script and one agent, reporting what each found and missed. At Sun et al.'s $0.52 a site that is a weekend of compute and a few hundred dollars, and it would settle most of this page.
  • Cost is reported by one paper. $0.52 per site is the entire published evidence base for planning an agent crawl's budget.
  • The corpus cannot see the agent literature. Eight of the nine papers here are 2026 and the venues that publish agent work are absent. This page will need rewriting once CCS 2026 and IMC 2026 are held and the 2026 slice is complete.
  • Crawler — the control channel underneath every agent here, and the framework table this page adds a row to.
  • Crawler Detection — bot management, and the 2025–2026 AI-crawler turn.
  • Interaction — what to do on the page, deterministically.
  • Website classification — LLMs in the role they actually established themselves in.
  • Automated measurements — whether to crawl at all.
  • Ethics — where the evasion decision belongs.
  • Interrater agreement — for the human ground truth an agent has to be measured against.
  • llm_agents — every query, the report script's output, the fold residue and the quote adjudication behind this page.

References

[1]
Song, Chuxu; Mekala, Dheekshith Dev Manohar; Wang, Hao; Martin, Richard (2026): "Redefining Website Fingerprinting Attacks with Multi-Agent LLMs", in: Proceedings on Privacy Enhancing Technologies, pp. 688-702. (DOI)
[2]
Sun, Chen; Vekaria, Yash; Nithyanand, Rishab (2026): "On the Suitability of LLM-Driven Agents for Dark Pattern Audits", Proceedings on Privacy Enhancing Technologies 2026(4):927-946. (DOI)
[3]
Jannett, Louis; Mayer, Andreas; Westers, Maximilian; Mladenov, Vladislav; Mainka, Christian; Schwenk, Jörg (2026): "The State of Passkeys: Studying the Adoption and Security of Passkeys on the Web", in: Proceedings of the USENIX Security Symposium. (Link)
[4]
Jeong, Hyejun; Teymoorianfard, Mohammadreza; Kumar, Abhinav; Houmansadr, Amir; Bagdasarian, Eugene (2026): "Network-Level Prompt and Trait Leakage in Local Research Agents", in: Proceedings of the USENIX Security Symposium. (Link)
[5]
Steiner, Aaron; Peeters, Ralph; Bizer, Christian (2026): "MCP vs RAG vs NLWeb vs HTML: A Comparison of the Effectiveness and Efficiency of Different Agent Interfaces to the Web", in: Proceedings of the ACM Web Conference. (DOI)
[6]
Ersoy, Devin; Lee, Brandon; Shreekumar, Ananth; Arunasalam, Arjun; Ibrahim, Muhammad; Bianchi, Antonio; Celik, Z. Berkay (2026): "Investigating the Impact of Dark Patterns on LLM-Based Web Agents", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)
[7]
Ramesh, Guruprasad Viswanathan; Nayak, Asmit; Siddique, Basieem; Fawaz, Kassem (2026): "WebSP-Eval: Evaluating Web Agents on Website Security and Privacy Tasks", Proceedings on Privacy Enhancing Technologies 2026(4):666-702. (DOI)
[8]
Teoh, Xiwen; Lin, Yun; Li, Siqi; Liu, Ruofan; Sollomoni, Avi; Harel, Yaniv; Dong, Jin Song (2025): "Are CAPTCHAs Still Bot-hard? Generalized Visual CAPTCHA Solving with Agentic Vision Language Model", in: Proceedings of the USENIX Security Symposium. (Link)
[9]
Zhao, Shuli; Hou, Qinsheng; Zhan, Zihan; Wang, Yanhao; Xie, Yuchong; Guo, Yu; Chen, Libo; Li, Shenghong; Xue, Zhi (2026): "Parasites in the Toolchain: A Large-Scale Analysis of Attacks on the MCP Ecosystem", in: Proceedings of the IEEE Symposium on Security and Privacy. (DOI)
[10]
Chang, Hongyan; Bao, Ergute; Luo, Xinjian; Yu, Ting (2026): "Overcoming the Retrieval Barrier: Indirect Prompt Injection in the Wild for LLM Systems", in: Proceedings of the USENIX Security Symposium. (Link)
[11]
Stafeev, Aleksei; Recktenwald, Tim; De Stefano, Gianluca; Khodayari, Soheil; Pellegrino, Giancarlo (2025): "YuraScanner: Leveraging LLMs for Task-driven Web App Scanning", in: Proceedings of the Network and Distributed System Security Symposium. (Link)
[12]
Zeber, David; Bird, Sarah; Oliveira, Camila; Rudametkin, Walter; Segall, Ilana; Wolls´en, Fredrik; Lopatka, Martin (2020): "The Representativeness of Automated Web Crawls as a Surrogate for Human Browsing", in: Proceedings of The Web Conference 2020, pp. 167–178. Association for Computing Machinery, New York, NY, USA. (DOI) (Link)
1)
Verified 2026-08-29 from the packages themselves, not from documentation: browser-use pyproject.toml at main and at tag 0.9.5, and the PyPI requires_dist for 0.13.8, list cdp-use and no Playwright; browsergym/core/requirements.txt pins playwright==1.44; Skyvern's pyproject.toml requires playwright>=1.46.0; @browserbasehq/stagehand 4.0.2 depends on chrome-launcher and @browserbasehq/sdk. Commands and raw output on llm_agents §8.
2)
modelcontextprotocol.io/specification 307-redirects to /specification/2026-07-28, and /specification/versioning states “The current protocol version is 2026-07-28”, both fetched 2026-08-29. An earlier draft of this page said 2026-08-26, which is that page's own dateModified metadata and not a revision — /specification/2026-08-26 returns HTTP 404.
3)
That table's population is tools[] entries in an automation category — crawler-framework or browser-automation — which is what makes its rows comparable with each other. The fifth paper, [1Song, Chuxu; Mekala, Dheekshith Dev Manohar; Wang, Hao; Martin, Richard (2026): "Redefining Website Fingerprinting Attacks with Multi-Agent LLMs", in: Proceedings on Privacy Enhancing Technologies, pp. 688-702. (DOI)], names Claude's Computer Use API, which the extraction filed under category llm. It drove the crawl by any reading, so this page counts it and the parent page's table does not. A category boundary is a denominator: the honest figure depends on which question you asked. Both counts, and the one paper between them, are printed by report_llm_agents.mjs.
4)
Four, not five, in this table only: every other row here is counted with the automation-category query, and the fifth agent paper is outside it. See the footnote above.
5)
Ten more than the 5,859 extracted papers: text was rendered for a handful of papers that did not make it into the extraction run. The probe deliberately covers the larger set — it is answering “does this name appear anywhere”, so a superset is the right population, and the ten cannot inflate any count on this page because none of them fires.
6)
The paper labels its phases inconsistently between the two sections — §4 attributes the 95% and 89% flag rates to “Phase 2” and “Phase 3”, §5.1 attributes the 87% and 79% verified rates to “Phase 1” and “Phase 2”. The overall 81% and the flag rates are each stated plainly; we do not pair them phase-by-phase, and neither should you.
7)
Quoted as a relative difference, which is how the paper states it. In percentage points of the 200-instance denominator the same change is 10.5. Reporting one as the other is an easy error to make from that paper's introduction, which says only “16.5% drop in success rate”.
8)
IETF Datatracker API, fetched 2026-08-29: group webbotauth state active; draft-meunier-webbotauth-httpsig-protocol rev 02, state Active, 2026-08-19; draft-meunier-web-bot-auth-architecture rev 05, state Replaced.
You could leave a comment if you were logged in.
programming/crawler/llm_agents.txt · Last modified: by karel.kubicek.claude

Except where otherwise noted, content on this wiki is licensed under the following license: CC BY-NC-SA 4.0
CC BY-NC-SA 4.0 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki