“Should we use a browser agent or a scraper?” usually gets answered on vibes. This guide uses numbers: what each approach costs per page, how often each succeeds on real sites, and, most important for anything recurring, how each one fails.
Four ways to get a page into a table
The labels blur, so here is how we use them:
| Approach | How it works | Model in the loop |
|---|---|---|
| Browser agent (computer use) | An LLM looks at screenshots or the DOM and decides each click and scroll | Every step |
| LLM-assisted browser automation | Code drives the browser, and an LLM resolves selectors or extracts fields (for example Stagehand, or Playwright plus an LLM) | Some steps |
| Deterministic scraper | Code fetches pages over HTTP or a headless browser and extracts with selectors or parsers | None at run time |
| Scraping API | A vendor runs the fetching, unblocking and parsing; you call an endpoint | Optional, for extraction |
Cost per page
Here are prices from public pages and comparisons (as listed in Nov 2026, or as dated):
| Approach | Price | Source |
|---|---|---|
| Computer-use agent | $0.20–0.40 per task (Anthropic), $0.20–0.50 (OpenAI CUA) | Digital Applied, Apr 2026, vendor-linked |
| Stagehand | $0.05–0.15 per task | same |
| Playwright + LLM | $0.02–0.10 per task | same |
| Firecrawl | 1 credit per basic page, 5 with JSON output; $99 per 100,000 credits on Standard | Firecrawl pricing |
| Zyte API | about $0.13–1.27 per 1,000 HTTP requests, $1.01–16.08 per 1,000 browser requests, by site difficulty | ToolRadar, Jun 2026, secondary |
| Apify Store actor | for example $2.30 per 1,000 results (Instagram Scraper) | Apify pricing |
| Browserbase (browser hosting) | $0.10–0.12 per browser-hour overage, proxies $10–12 per GB | Browserbase pricing |
Converted to one page, a basic Firecrawl scrape is about $0.001 and an Apify result about $0.0023. Even the hardest Zyte browser tier is about $0.016. A computer-use agent at $0.20–0.50 per task, assuming one page per task, costs roughly 200–500 times the Firecrawl figure.
A worked example: 10,000 pages a week
That’s about 43,300 pages a month:
| Approach | Monthly cost |
|---|---|
| Computer-use agent | ~$8,700–21,700 |
| Stagehand | ~$2,200–6,500 |
| Playwright + LLM | ~$870–4,300 |
| Firecrawl, basic markdown | 43,300 credits, inside the $99 Standard plan |
| Firecrawl, JSON extraction | ~217,000 credits, inside the $399 Growth plan |
The scraper rows leave out engineering time, and that’s the honest catch. Someone has to write, schedule, monitor and repair the scraper. Agents look cheap at ten pages because they need no setup. At ten thousand pages a week, the per-page price dominates.
Raw browsers cost more than plain HTTP even with no model involved. In one small test of 180 requests, a DEV write-up found a headless browser tool built for agents 4.3 times slower and 7.5 times more expensive than a lightweight scraping library, with 95.0% success against 98.9%.
Success rates
The most useful independent numbers come from Online-Mind2Web, 300 tasks across 136 live websites, judged by humans. Its authors titled the paper “An Illusion of Progress?” and concluded that earlier benchmarks had overstated agent ability.
| Agent | Success (human-judged) |
|---|---|
| OpenAI Operator | 61.3% |
| Claude Computer Use 3.7 | 56.3% |
| SeeAct | 30.7% |
| Browser Use | 30.0% |
| Claude Computer Use 3.5 | 29.0% |
| Agent-E | 28.0% |
Other data points:
- A HAL leaderboard snapshot of the same benchmark, verified in May 2026, tops out at 42.3%, according to benchmarklist.
- Vendors report higher figures, such as Yutori’s 78.7% in November 2025. These are not independently verified.
- The April 2026 Digital Applied comparison reports reliability on “common tasks” of 92% for Playwright plus Claude, 89% for Stagehand, 78% for Anthropic Computer Use and 75% for OpenAI CUA. The less the model decides at run time, the more reliable the result.
Benchmark tasks are not scraping jobs, and a scraper on a site it was built for will succeed on nearly every page until the site changes. The useful comparison is the shape: agents trade setup cost for run-time unreliability.
Measure your own success rate
Benchmarks only point the way. Before you commit to an approach, run both on 100–200 pages of your real target and score them the same way:
- Field-level accuracy against a hand-checked sample, not just “did the run finish”
- Run-to-run stability: run the same URLs twice and diff the outputs
- Null and empty rates per field
- Schema conformance: same field names, types and units every time
- Cost per correct row, which folds failures and retries into the price
Cost per correct row is the number to decide on. A cheap run that is wrong 20% of the time isn’t cheap.
Failure modes
Success rates hide the part that hurts most in production: whether you notice a failure.
| Browser agent | Deterministic scraper | |
|---|---|---|
| Site layout changes | Often adapts, sometimes extracts the wrong element | Selectors break; fields go empty or the job errors |
| Huge or messy pages | Context overflow; some pages exceed one million tokens | Parses fine |
| Same URL, different HTML (A/B tests, lazy loading) | Inconsistent answers between runs | Inconsistent, but reproducible and debuggable |
| Output schema | Often ignored or drifts between runs | Fixed by code |
| Getting stuck | Loops on failed approaches until budget or context runs out | Times out and retries per policy |
| Missing data | May fill gaps with plausible values | Returns null |
| Hostile page content | Prompt injection: 23.6% attack success unmitigated, 11.2% mitigated in Anthropic’s Claude for Chrome pilot | Text is just text |
| Bot defenses | Cloudflare’s Agent category is blocked by default on new ad-supported domains since 15 Sep 2026 | Faces the same defenses; needs honest identification or a permitted access route |
| Detection | Quiet: the run “succeeds” with bad data | Loud: row counts drop, nulls spike, monitors fire |
The last row is the one that matters. A broken scraper usually announces itself, and an agent that grabbed the wrong price usually doesn’t. For a recurring feed, loud failure is a feature, because it’s what lets monitoring catch problems before your customers or your own agents do.
Bot defenses hit both approaches. In our AI Crawler Access Index, we fetched robots.txt and one homepage for each of the Tranco top 1,000 domains on 6 November 2026. 99 of the 689 homepages that responded (14.4%) returned 403 to our plainly identified client, and 37 answered with a Cloudflare challenge. See Cloudflare’s 2026 AI bot rules for what that means in practice.
The hybrid: agents build, code runs, a gate checks
The two approaches aren’t really rivals. Agents are strong at exactly the steps that made scrapers expensive: understanding a new site, writing the extractor, and repairing it after a redesign. Deterministic code is strong at running the same extraction 40,000 times a month cheaply and predictably. Practitioners are still cautious: in a December 2025 survey by Apify and The Web Scraping Club, 54.2% of respondents didn’t use AI in their scraping workflows, citing trust, cost and unreliable performance.
The missing piece is a gate between agent output and production. Our own public dataset, Nomad Watch, shows why: 7,068 agent runs and 3,463 completed research tasks between 9 October and 6 November 2026, across five model backends. Every run passes a deterministic lint gate and a sampled cross-model “judge” check, then lands as one reviewable pull request. Early cost batches passed the judge only 55–64% of the time and went back for fixes. Batch 3 reached 82% for costs, 87% for guides and 100% for city scores. Agent output varies by task type, and without the gate the weak batches would have shipped.
Which to use
- Browser agent: one-off tasks, a few dozen pages, a person checking the result, or an action rather than a lookup.
- LLM-assisted automation: moderate volume on sites that change often, where a little run-time flexibility saves maintenance.
- Scraping API or Apify actor: recurring jobs where an existing endpoint or actor covers the source and you have someone to wire it up and watch it. Often the cheapest option, and the right one.
- Managed feed: recurring jobs across several sources where nobody on your team wants to own monitoring, repairs and schema stability.
Our managed feed vs. DIY agent comparison goes further into the build-or-buy question.
Running it without owning it
If your volume has moved past what an agent can do affordably and you’d rather not maintain scrapers yourself, that’s the job our managed data feeds do. Agents build and repair each pipeline, deterministic code runs it, and engineers plus a QA gate check every delivery, with a source URL and timestamp on every value. Pricing starts at $600 per source per month for a weekly refresh, or $1,000 for daily with an SLA. Send us a source and we’ll return a free 100-row sample within two business days.