Web scraping VPS for Playwright, Selenium and Scrapy
Sized for real scraping: 30+ concurrent headless browsers, a static IP for orchestration and the memory to keep long jobs alive through Cloudflare retries and proxy churn.
- 1 Gbps port, 10 Gbps option
- Traffic included, no per-GB billing
- Pay with crypto, no KYC
At scale, scraping is a memory problem before it's an IP problem
One Playwright tab is fine on a laptop. Fifteen tabs against a modern single-page app, with trace mode, screenshots and network interception, use 8+ GB and start swapping before Redis, the database writer or the proxy rotator get a byte.
- Reserve 500 MB of RAM per concurrent Chromium tab as a floor
- Long jobs need a machine that doesn't sleep, update or lose Wi-Fi
- Postgres and Redis on the same server save about 40 ms per item versus a remote database
- Upload speed matters: most home connections upload 10 times slower than they download
- Playwright with trace, per tab
- ~600 MB
- Selenium and Chrome, per session
- ~450 MB
- Scrapy (API only), per spider
- ~120 MB
- Puppeteer, per headless Chromium
- ~380 MB
Every mainstream scraping framework, one command away
Python 3.10 to 3.12, Node 20 and 22, Go and Rust stable. Docker and Compose v2.
- PlaywrightBest for modern JS-heavy targets. One playwright install fetches Chromium, WebKit and Firefox. Headless shell saves about 180 MB per browser.Python, Node, .NET, Java
- SeleniumGrid Hub and Node pattern works out of the box. The Advanced plan hosts a Hub and 4 Nodes with 5 sessions each.Python, Java, Node, C#
- ScrapyThe sweet spot for API and HTML-only scraping, with Scrapyd and scrapy-splash for JS fallback. Even Basic runs 200+ requests a second on light targets.Python, Twisted async
- PuppeteerThe same Chromium engine with a tighter Node API. The stealth plugin works: we don't strip user agents or block CDP.Node, Python (Pyppeteer)
Run jobs with the scheduler you already use
No proprietary orchestrator. It's a proper Linux server (or Windows Server), so you keep your production stack.
- cron and systemd timersNative scheduling with jitter, retry on failure and journalctl logs.
- Celery, RQ or BullRedis is one apt install away. Connect your workers to a shared queue.
- ScrapydA REST API to schedule spiders, pause them or watch job stats.
- Docker Composedocker compose up -d and forget. Docker and Compose v2 install in one command.
- Kubernetes (k3s)On the larger plans, single-node k3s deploys in one command.
- GitHub Actions self-hosted runnerPoint your CI at the VPS for scheduled scrape jobs.
Deploy a Playwright fleet the way the docs recommend
Root SSH, systemd and Docker. No panel to click through and no lock-in. Bring your repo and your proxy config.
- Root SSH from minute one, no restricted shells
- A clean OS image: you decide which ports to open
- chrome-headless-shell and all browser dependencies in one Playwright command
import asyncio
from playwright.async_api import async_playwright
from proxies import next_proxy # your rotator
async def scrape(url):
async with async_playwright() as p:
proxy = next_proxy()
browser = await p.chromium.launch(headless=True)
ctx = await browser.new_context(
proxy={"server": proxy.server, "username": proxy.user, "password": proxy.pw},
)
page = await ctx.new_page()
await page.goto(url, wait_until="domcontentloaded")
html = await page.content()
await browser.close()
return htmlWeb scraping VPS plans
Linux VPS plans with root access. Pro runs 12 to 15 concurrent Chromium tabs; Advanced handles 30 to 35.
What scraping teams ask before signing up
Still unsure? Our team answers on live chat and in tickets.
Why does a Playwright / Selenium job on my laptop keep dying overnight?
How much RAM does a headless Chromium instance actually eat?
What frameworks are supported?
Do I bring my own proxies, or do you sell them?
How do you handle scheduling long-running jobs?
Will my scraper get IP-banned from the VPS's static IP?
What about Cloudflare Turnstile, Cloudflare's Under Attack mode, or hCaptcha?
Can I run a Selenium Grid across multiple VPSes?
How is bandwidth billed?
Can I pay in crypto?
Related pages
- Windows RDPWindows Server 2019, 2022 and 2025 with full admin access
- Linux VPSUbuntu, Debian, AlmaLinux and Rocky with full root access
- Discord Bot VPSdiscord.js and discord.py bots, online 24/7
- Telegram Bot VPSaiogram and python-telegram-bot hosting
- SEO VPSScrapebox, GSA and RankerX on Windows
- Antidetect VPSAdsPower, Multilogin and Octo Browser
- Streaming RDPOBS, vMix and XSplit streams on a server
Install guides
Move your scraper off your laptop.
Enough RAM for the browsers, bandwidth for the data and uptime so your job never wakes you at 3am.