Solutions · Benchmarks

Web automation tool leaderboard

35 browser automation tools, one identical job, one independent pass test. Two rankings: fast-path speed and cost on a controlled microbenchmark, and real-work capability on 11 harvested tasks. They disagree, and that is the point.

Evidence date: 21 September 2026Model: z-ai/glm-5.3-flash132 scored runs

The job every tool had to do

On the public TodoMVC demo app: add two to-dos (“Email supplier” and “Review invoice”), tick off only the first, switch to the Active filter, and confirm only “Review invoice” is showing with “1 item left”.

Passing is checked by independent code reading the page and the app’s saved data — never by the agent’s own say-so. The stopwatch covers only the model-plus-browser work, and failed runs are kept, never retried away.

Fast-path leaderboard

One row per harness and best-model combination, sorted by median time. Thin harnesses that let the model issue one native command per step win on speed and cost; heavyweight agent runtimes cost 10–100× more wall-clock for no accuracy gain. Rows marked scored failure reached the page but could not finish the job.

#HarnessPassMedianTokens in/outCost / run
1BrowserSkill

Tencent/BrowserSkill · round 3

2/24.1s~6.2k / ~97~$0.0005
2browser-relay

reliefeai/browser-relay · round 3

2/24.3s~5.9k / ~95~$0.0005
3browser-control

keon/browser-control · round 3

1/25.5s~13.2k / ~180~$0.0007
4browser-cli

six-ddc/browser-cli · round 3

2/26.2s~8.6k / ~128~$0.0007
5pinchtab

pinchtab/pinchtab · round 3

2/28.3s~5.1k / ~200~$0.0003
6browser-use

browser-use/browser-use · round 1

Round 1 timing-only (tokens not recorded)

2/28.7sn/an/a
7Browser Harness

browser-use/browser-harness · round 2

2/29.9s~6.2k / ~190~$0.0005
8agent-browser

vercel-labs/agent-browser · round 3

2/210.1s~20.8k / ~120~$0.0010
9Playwriter

remorses/playwriter · round 1

Round 1 timing-only (tokens not recorded)

2/210.1sn/an/a
10cdp-browser

sids/cdp-browser · round 3

2/210.7s~6.3k / ~250~$0.0003
11jarvis-browser

bridge25/jarvis-browser · round 3

2/211.2s~8.5k / ~100~$0.0005
12chrome-cdp-skill

pasky/chrome-cdp-skill · round 6

Fastest new arrival, least reliable once promoted to 5 reps

3/511.5s~21.1k / ~323~$0.0083
13chrome-devtools-mcp

ChromeDevTools/chrome-devtools-mcp · round 6

Strongest Round 6 row once reliability is counted

5/511.8s~12.6k / ~89~$0.0048
14Stagehand v4

browserbase/stagehand · round 2

1/413.1s~6.6k / 300–3,400~$0.0007
15ego-browser

citrolabs/ego-lite · round 6

5/514.2s~12.3k / ~99~$0.0048
16webctl

cosinusalpha/webctl · round 3

2/214.5s~8.2k / ~100~$0.0006
17playwright-cli

microsoft/playwright-cli · round 6

5/514.7s~21.7k / ~113~$0.0083
18agent-chrome-cli

gxbvc/agent-chrome-cli · round 3

2/217.4s~7.6k / ~180~$0.0004
19browser-act-skills

browser-act/skills · round 6

2/218.5s~6.0k / ~76~$0.0009
20lightpanda

lightpanda-io/browser · round 3

2/222.7s~7.1k / ~590~$0.0006
21page-agent (patched: send_keys)

alibaba/page-agent · round 5

Patched build; stock ships no key-press action and scores 0/2

2/225.3sn/an/a
22hyperagent (perform)

hyperbrowserai/HyperAgent · round 6

3/428.3s~20.8k / ~3.4k~$0.0096
23opencli

jackwener/OpenCLI · round 6

Scored failure: key event carries no keyCode, so React never commits the todo

0/230.4s~20.8k / ~234~$0.0032
24surf-cli

nicobailon/surf-cli · round 6

2/231.8s~28.6k / ~519~$0.0046
25browser-agent

visnia-ai/browser-agent · round 4

2/232.5s~43.1k / ~1,360~$0.0036
26bb-browser

epiral/bb-browser · round 6

Scored failure: native key event carries no keyCode

0/232.7s~12.6k / ~380~$0.0021
27midscene

web-infra-dev/midscene · round 6

Vision-first; belongs to the capability suite, not the speed ranking

2/233.4s~444k / ~62k~$0.074
28raw-playwright baseline

microsoft/playwright · round 3

3/442.7s~18.1k / ~410~$0.0010
29adaptive-ui-runtime

Rajeev-SG/adaptive-ui-runtime · round 8

Own-loop (plan/route/act/verify). Fails the job outright: no page-eval action and it re-issues the same action instead of committing it

0/245.8s~3.0k / ~210~$0.0003
30Magnitude

magnitudedev/magnitude · round 2

Vision-first: most reliable on messy JS sites, slower and pricier

4/452.6s~18.3k / ~2.9k~$0.0021
31Browser Use Pi

browser-use/browser-use-pi · round 7

Own loop: Pi Mono agent + persistent V8 REPL + raw CDP. Three failures are false successes caught by the verifier

7/1053.5s~6.6k / ~0.7k~$0.0010
32BrowserCode

uuuuytgg/browser-code · round 2

Own heavyweight agent loop; 10–100x more wall-clock for no accuracy gain

2/2153.0s~55.6k / ~3.0k~$0.026
33notte

nottelabs/notte · round 3

2/2171.8sn/an/a
34skyvern

Skyvern-AI/skyvern · round 6

Autonomous multi-agent; capability suite

2/2186.5s~29.0k / ~4.2k~$0.0055
35browser-agent (Taylor-Bayouth)

Taylor-Bayouth/browser-agent · round 5

Unrelated project that shares the visnia-ai name

1/2200.1s~19k–782k / ~0.5k–25kn/a

Real-work capability leaderboard

The same harness set scored on 11 real, provenance-backed browser tasks harvested from recorded sessions — tag inspection, script inventory, SEO audits, crawlability, canvas creation, and consent-to-add-to-cart journeys. The latency ranking and the capability ranking genuinely disagree: the fastest tool is the weakest on real work. The newest architecture — an own-loop agent that writes code against raw CDP instead of issuing one command per step — is slow on the toy task and, on this evidence, extends neither ranking.

HarnessFast-pathReal-workReps
browser-relay

reliefeai/browser-relay

Strongest on real work; promoted past screening

2/2 · 4.3s22/331, 2, 3
raw-playwright baseline

microsoft/playwright

Promoted past screening

3/4 · 42.7s17/331, 2, 3
agent-browser

vercel-labs/agent-browser

2/2 · 10.1s6/111
cdp-browser

sids/cdp-browser

2/2 · 10.7s6/111
Browser Use Pi

browser-use/browser-use-pi

Own-loop (Pi Mono + V8 REPL). Every task it passed, browser-relay also passed, so it extends neither frontier

7/10 · 53.5s4/111
BrowserSkill

Tencent/BrowserSkill

Fastest fast-path, weakest real work — the orderings invert

2/2 · 4.1s2/111
adaptive-ui-runtime

Rajeev-SG/adaptive-ui-runtime

Own-loop, non-default. Zero passes: its action vocabulary has no page-eval step, so it cannot set the finding every corpus task requires

0/2 · 45.8s0/221, 2

Per-task difficulty

Pass counts across all harnesses. One-shot “inspect the live page and report” audits converge on almost any harness that can evaluate JavaScript; multi-step journeys and canvas construction sit above the current frontier. The anti-bot-boundary task is the hard one in the middle: three passes out of ten across all harnesses, two of them from the same tool.

TaskCapabilityPasses
allbirds-uk-add-to-cart-tag-checkconsent → add to cart → tags0/10
gymshark-uk-add-to-cart-tag-checkconsent → add to cart → tags1/10
puma-uk-seo-metadata-auditSEO / structured data1/10
tldraw-three-shape-diagramcanvas UI creation2/10
chanel-gb-pdp-tag-inspectiontag inspection (anti-bot boundary)3/10
rajeevg-crawlability-auditrobots.txt + sitemap8/10
porsche-uk-script-inventorythird-party script inventory8/10
puma-uk-script-inventorythird-party script inventory8/10
puma-uk-tag-inspectiontag inspection8/10
porsche-uk-tag-inspectiontag inspection9/10
rajeevg-seo-metadata-auditSEO / structured data9/10

Jev Ultrafast — the classifier fast path

On the same TodoMVC job with one loop, one bridge and one verifier, only the decision model changes. Over 5 runs per arm and transport (indicative, not a powered result), Jev finished every Browser Relay run while GLM managed one, and Jev decided about twice as fast per step. Numbers are produced and versioned in Rajeev-SG/jev-tests (browser-use/jev-ultrafast@452c1ad), not duplicated here. Measured via classifier.dev (jev-1.13.0), not TypeSafe — this machine has no TypeSafe key.

ArmPassMedianDecision p50Note
Jev + Browser Relay5/513.1s1218 ms5/5 vs GLM's 1/5 in the same 5 runs (n=5, indicative — not a powered reliability claim)
GLM + Browser Relay1/513.4s2453 msLevel on time; four of five runs failed: three stopped without applying the filter, one emitted an invalid action
Jev + Playwriter4/516.1s1350 msSame 4/5 as GLM, ~40% lower median wall (n=5, indicative)
GLM + Playwriter4/527.1s2619 msSame pass count, ~11s slower median wall (n=5, indicative)

Offline next-action replay (400 scored real-work decisions): Jev does not beat the always-inspect baseline (0.68 vs 0.86 raw), but at a 0.7 confidence gate it covers 63.3% of decisions at 96.9% held-out accuracy (95% CI 0.92-0.99). Use as a gate, not the sole router.

Read it honestly

This ranks the latency microbenchmark (one controlled instrument) and a real-work capability suite (11 harvested tasks) as two separate claims. TodoMVC never feeds the capability number, and a screening result should not be ordered finely against another screening row — the newest row is 10 reps on the toy task but only 1 rep per real task, so treat its capability cell as a screen, not a score.

The benchmark repo is the source of truth; this page is a dated snapshot of it. Full contracts, raw per-run JSON, and the exclusion log live at github.com/Rajeev-SG/web-automation-microbench.