Cutter 8
- vCPU
- 4 × dedicated
- RAM
- 8 GB
- Storage
- 160 GB NVMe SSD
- Transfer
- 10 TB
- IPv4 / IPv6
- 1 / /64 routed
Solution
Scraping is memory-bound, not CPU-bound: a headless Chromium tab costs roughly 300 MB, so plan around concurrency. Four cores and 8 GB run about 20 parallel browser contexts. What actually decides success is IP diversity and jurisdiction — you want clean address space, several IPv4 addresses, and a provider that does not terminate accounts over a single complaint about crawl rate.
| Resource | What you actually need |
|---|---|
| CPU | 4 cores for ~20 concurrent headless browsers |
| RAM | 8 GB minimum; 16 GB if you render JavaScript at scale |
| Disk | 160 GB NVMe for caches and artefacts |
| IPs | Additional IPv4 addresses, added per instance from the panel |
| Transfer | 10 TB — rendered pages are heavier than they look |
Location is usually the decision that matters most for this workload — either because latency dominates, or because jurisdiction does.
Four dedicated cores and 8 GB is the practical starting point.
Playwright or Puppeteer with the bundled Chromium, run inside Docker for clean teardown.
Bind each worker to a different source address with SO_BINDTODEVICE or an outbound proxy.
Politeness delays keep you off blocklists and keep the project sustainable.
Stream to object storage or a Hold instance so a rebuild costs you nothing.
Yes, for lawfully accessible public data, at rates that do not degrade the target. We do not permit credential stuffing, bypassing paywalls or authentication, or scraping that constitutes unauthorised access.
Up to eight additional IPv4 addresses per instance from the panel, plus your routed IPv6 /64.
Somewhere outside the target's jurisdiction for legal separation, and close to it for latency. Amsterdam, Moldova and Sofia are the usual compromise for European targets.