Amazon Scraper API vs Proxy: Choose a Product Data Source
Distinguish authorized Amazon APIs, licensed product data and proxy-based page checks by record quality and access rights.
Read guideThree paired runs on Books to Scrape: 1,000 matching products, 18.38 MB versus 5.80 MB. Download the records, charts and reproducible Playwright code.
Blocking images, fonts and media cut browser-observed transfer by 68.45%, while preserving every field of 1,000 product records, in our 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 measures completed-request HTTP bytes, not provider-billed traffic or performance on protected stores.

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.
We kept CSS, JavaScript and API requests 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.
We 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. We 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 if you prefer 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
To recollect, securely load PROXY_URL into your 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. Our result answers a narrower question: how much browser resource loading costs when the required output is a text record.
For your own 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 consecutive repeats on one image-heavy site do not predict savings, availability or anti-bot success elsewhere.
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.
Distinguish authorized Amazon APIs, licensed product data and proxy-based page checks by record quality and access rights.
Read guideConnect a buyer-owned proxy to an Apify Actor, keep the session boundary clear, and validate records instead of counting requests.
Read guideSeparate Australian egress from en-AU content, AUD pricing, GST display, postcode validation and the state delivery context.
Read guide