How we test

We show what came back from a real page, not just whether a request returned HTTP 200. Every result has a date, tool version, target, network, settings, and a rule for usable content.

Listed is not tested

A project can be in the inventory without a published run. “Historical test” means a dated run exists but may not describe today's sites or tool version. “Recent field test” is newer evidence, but can still be too small for a broad recommendation. We never turn missing evidence into a zero score.

A page must contain the right thing

For the May 2026 21-site stress test, each target had an expected status plus required and forbidden text markers. A challenge page, a redirected consent wall, an empty shell, or missing marker failed even if the transport worked. You can see those recorded checks on every attempt page.

The September Patchright/Camoufox field test used a simpler check: HTTP 200, at least 500 visible characters, target words, and no common block text. We call that “likely usable,” not a verified product-field extraction. For a real product-page job, the test must also find the required product fields.

Compare the same job first

A main side-by-side result should use the same URL, network or proxy, time window, and content check. Show each tool's best practical setup separately so a tuned mode does not silently replace a default. An HTTP client should not be scored as failing a JavaScript interaction it cannot do; browsers, crawlers, parsers, and hosted APIs solve different jobs.

One page or one day is a field note. A recommendation needs representative easy and hard pages, repeated attempts, and a recent rerun. We do not set a fixed “good enough” percentage before seeing the target sample.

Time, memory, and cost

The Patchright/Camoufox run measured wall time, sampled CPU time, and peak sampled process-tree PSS at 0.2-second intervals. PSS includes the Python worker and browser children; it is an estimate, not a precise hardware maximum. It measured one browser per scrape and three browsers at once.

The test used no proxy, so proxy bandwidth, provider price, and cost per valid page are unknown. We will show those only when measured from a real billed route. A cheaper failed page is not a useful result.

What you can inspect

We publish exact dates, modes, versions, targets, outcomes, validator rules, and available artifacts. The September comparison includes screenshots, result JSON, and its exact Python script. The older May run includes checked attempt metadata, but its raw HTML and screenshots are still local. Those missing public artifacts are marked unavailable, never presented as empty responses.

Passive traffic is field evidence, not a comparable benchmark. ScrapeDrive is related to this site; our disclosure explains how we label it.