Amazon Scraper API vs Proxy: Choose a Product Data Source
Compare seller APIs, licensed Amazon product data and proxy page checks by record, access scope and reuse rights.
Read guideA bounded Playwright test on Books to Scrape transferred 18.38 MB by default and 5.80 MB with images and fonts blocked, across three paired runs.

Blocking images and fonts cut browser-observed transfer by 68.45%, while preserving every field of 1,000 product records, in this Playwright experiment on Books to Scrape. Across three paired repeats, default resource loading transferred about 18.38 MB per catalogue; blocking those resources transferred 5.80 MB.
This is a measured result on a fictional, static scraping sandbox with the browser cache disabled. It sums Playwright-observed request/response headers and bodies for completed requests; it is not provider-billed traffic, total wire bytes, or a prediction for protected stores. Partial failed transfers are outside the measurement.

Download records | View code | Full-size chart
These are the first three captured products. Both modes returned the same title, product URL, price, availability and rating for every record.
| Product | Price | Availability | Rating |
|---|---|---|---|
| A Light in the Attic | £51.77 | In stock | 3/5 |
| Tipping the Velvet | £53.74 | In stock | 1/5 |
| Soumission | £50.10 | In stock | 1/5 |
Source: Books to Scrape, captured 22 September 2026. These are the sandbox's fictional listing values, not live retail offers. The CSV includes the URL, catalogue page, navigation start time, mode and repeat. Its 6,000 rows represent the same 1,000 products observed in two modes across three repeats.
Each row below covers the full catalogue in both modes. MB uses decimal units. Reduction is calculated from unrounded bytes; downloadable tables retain exact counts.
| Repeat | Default MB | Blocked MB | Reduction |
|---|---|---|---|
| 1 | 18.380 | 5.799 | 68.451% |
| 2 | 18.380 | 5.799 | 68.449% |
| 3 | 18.380 | 5.799 | 68.450% |
The median reduction was 68.45%. All 150 page pairs matched, with 1,000 unique product URLs in each mode per repeat.
There were 301 navigation attempts and 300 accepted results. In repeat 3, the first lean-mode attempt at page 37 failed with net::ERR_NETWORK_CHANGED; its one permitted retry succeeded. The failed attempt captured no completed-request bytes. That does not establish zero network consumption: partial failed transfers are outside this measurement.
Exact totals and every attempt are available separately.

Per catalogue, default loading averaged 10.365 MB of images and 2.216 MB of fonts. Blocking removed their completed-request transfer. Scripts remained at about 3.642 MB, stylesheets at 1.852 MB and HTML at 0.305 MB in both modes. No completed media requests were recorded, so this run establishes no separate benefit from blocking media.
CSS, JavaScript and API requests remained enabled. This was a combined resource rule, not separate experiments attributing an effect to each type. Open the chart for readable labels.
Using the mean observed transfer across the repeats gives these modelled consumption costs per 1,000 accepted records:
| Published rate | Default | Blocked |
|---|---|---|
| $6.50/GB | $0.1195 | $0.0377 |
| $2.50/GB | $0.0459 | $0.0145 |
The rates checked on 22 September 2026 require different purchases: $6.50 for 1 GB, or $2,500 for 1 TB. The fractions above are neither the checkout price nor an observed invoice.
The calculation is observed bytes / 1,000,000,000 × USD per GB. It excludes unmeasured failed transfers, connection/proxy/TLS overhead and compute. Use billing reconciliation before treating a browser measurement as paid traffic.
The runner collected all 50 listing pages, 20 products each, three times per mode. Each page was paired with its counterpart; the order alternated. Navigations ran serially with a 300 ms gap, through an authenticated proxy. The manifest records the requested sticky-session configuration; exit location and continuity were not independently verified.
Both modes opened fresh browser contexts, blocked service workers and installed catch-all routing. This matters because Playwright routing disables HTTP cache. Comparing an intercepted run with ordinary cached browsing would introduce another variable.
The lean rule blocked only image, font and media. The runner waited for load, used fonts and in-flight requests, then validated the records. Default-mode images had to finish loading. Chrome blocked the sandbox's mixed-content jQuery request in both modes without a security override.
Transfer sums Playwright's request and response header/body sizes for completed requests across all attempts. No accepted page had missing byte observations. The run used Playwright 1.62.1 and Chrome 153.0.8010.53, from 12:46 to 13:17 UTC on 22 September 2026.
The public repository contains the frozen runner, validators, raw observations and chart generator. Download the complete kit and checksums for an archive.
From the kit's root, install the locked dependencies and run the validator:
npm ci
node --test research/playwright-bandwidth/core.test.mjs
Caution: Recollection sends authenticated proxy requests and may incur traffic charges. Use a low-volume authorized sandbox, keep proxy credentials out of commands and logs, and stop on authentication or transport failures before expanding a run.
To recollect, securely load PROXY_URL into the process environment and follow the repository's browser setup and runner commands. To check the published numbers without making network requests, run its Python analyzer against the included dataset.
Two earlier full attempts stopped on proxy authentication and transport failures. Their data and the protocol change are preserved in the execution history; none were spliced into this completed run.
The sandbox operator provides these pages for scraping practice. An HTTP client can collect this static catalogue without a browser or proxy. The result answers a narrower question: how much browser resource loading costs when the required output is a text record.
For another permitted target, define the required fields first, compare the same URLs in both modes, and reject missing or changed records before calculating savings. Keep XHR and scripts that supply the data. A page that loses a price or stock value has failed, however small its transfer becomes. The resource-blocking guide covers that decision; the Playwright setup guide covers connecting an existing browser workflow.
These three paired repeats on one image-heavy site do not predict savings, availability, target acceptance, or anti-bot success elsewhere. Use a permitted target and validate the required output before comparing transfer.
Cite this study: ProxyLane, “Playwright Bandwidth: 1,000 Products, 68.45% Fewer Bytes,” 22 September 2026. Include the static-sandbox and cache-disabled scope when quoting the result.
Scale your workflows with the tools you already use. Rotating or sticky sessions up to 72 hours.
Compare seller APIs, licensed Amazon product data and proxy page checks by record, access scope and reuse rights.
Read guideChoose the right anti-detect browser proxy guide, map the shared verification steps, and keep account access separate from the network route.
Read guideOur picks for market research: ProxyLane for small, intermittent projects, plus options for regional tracking, monthly collection and managed extraction.
Read guide