Render the web
from everywhere

Screenshot, scrape, and generate PDFs from 8 locations worldwide. See what your users actually see — geo-blocks, CDN differences, A/B test leaks.

Try free — no account needed
100 pages/day. No email. Your key is your identity.
See features View docs
8
Global regions
100K
Pages/day max
4
Actions: screenshot, PDF, scrape, batch
$0
To start

Everything headless browsers should do

Seven capabilities in one API. The last two are things nobody else does.

📸
Screenshot API
Capture any URL as PNG or JPEG. Choose resolution, viewport, full-page or above-the-fold. JavaScript rendered. Works on SPAs, dashboards, and dynamic content.
📄
PDF Generation
Convert any web page to a production-ready PDF. A4 or Letter, landscape or portrait, configurable margins, background graphics preserved.
🔍
Web Scraping
Extract structured data from JavaScript-rendered pages. CSS selector targeting, wait-for-element support, full DOM access. Get title, meta, links, headings, custom fields.
Batch Processing
Submit 1,000–10,000 URLs in a single call. Rendered in parallel across the swarm. Poll for results or receive a webhook. 10,000 pages in minutes, not hours.
🌍
Geographic Comparison
Render the same URL from all 8 regions simultaneously. Get load time per region, screenshot per region, and a side-by-side diff. See what Singapore sees vs. what Frankfurt sees.
Key differentiator
🔎
Diff Detection
Pixel-by-pixel comparison across regions. Highlights geo-blocked content, CDN staleness, A/B test leaks, and localization bugs. Get a diff image showing exactly what changed.
Key differentiator
⛓️
dApp Rendering
Screenshot Web3 pages and DeFi dashboards with injected wallet state. Competitors don't understand Web3. We do. Capture token prices, LP positions, live on-chain data.

Spot what's different across regions

The same URL rendered from 4 different regions — different load times, different content. A/B test leaks, geo-restrictions, CDN staleness: all visible instantly.

Montreal (Canada)
312ms
Full content rendered. Pricing in USD.
Frankfurt (Germany)
287ms
GDPR cookie banner shown. Pricing in EUR.
Singapore
891ms
Feature blocked. Different hero image shown.
Sydney (Australia)
445ms
A/B variant B showing. CTA text different.
# One call. 8 regions. Parallel.
curl -X POST https://api.swarmbrowser.net/v1/compare \
  -H "Authorization: Bearer rpk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","regions":["montreal","frankfurt","singapore","sydney"]}'

8 global rendering nodes

One API key. Every region. Specify one or compare all.

Montreal
North America East
Frankfurt
Europe Central
London
Europe West
Warsaw
Europe East
Singapore
Southeast Asia
Jakarta
Southeast Asia
Kuala Lumpur
Southeast Asia
Sydney
Oceania

Simple, predictable API

One endpoint per action. Returns binary for screenshots and PDFs, JSON for scraping.

Screenshot

curl -X POST https://api.swarmbrowser.net/v1/screenshot \
 -H "Authorization: Bearer rpk_YOUR_KEY" \
 -d '{"url":"https://example.com",
   "region":"frankfurt",
   "format":"png",
   "fullPage":true}' \
 --output screenshot.png

Scrape

curl -X POST https://api.swarmbrowser.net/v1/scrape \
 -H "Authorization: Bearer rpk_YOUR_KEY" \
 -d '{"url":"https://example.com",
   "extract":["title","meta","text"],
   "selectors":{"price":".price",
   "stock":".availability"}}'

Batch — 10,000 URLs, fire and forget

# Submit batch
curl -X POST https://api.swarmbrowser.net/v1/batch \
 -H "Authorization: Bearer rpk_YOUR_KEY" \
 -d '{"urls":["https://a.com","https://b.com",...10000 more],"action":"screenshot"}'

# Poll or receive webhook when done
curl https://api.swarmbrowser.net/v1/batch/bch_abc123 \
 -H "Authorization: Bearer rpk_YOUR_KEY"

Simple pricing

Start free. Pay with USDC or USDT when you need more. $19.37/mo vs $40–49/mo competitors.

Free
$0
For testing and prototyping
  • 100 pages per day
  • 1 region per call
  • Screenshot, PDF, scrape
  • No account required
  • Hard limit — upgrade when ready
Get Free Key
Business
$97.53 / month
For high-volume pipelines
  • 100,000 pages per day
  • All 8 regions
  • Batch up to 100,000 URLs
  • Priority queue
  • Overflow: $0.50 per 1,000 extra
  • USDC or USDT
Get your key first

Pricing applies 50% off vs leading competitors. Funds stay in your wallet — we pull monthly via approved allowance.

How it works

Get a key in seconds. Scale when you're ready. Cancel by revoking your wallet approval — no form, no email.

1
Generate a free key
Click the button above. Your key is generated instantly. No email, no sign-up. The key is your identity.
2
Call the API
POST to any endpoint with your key in the Authorization header. Get screenshots, PDFs, or scraped data back immediately.
3
Upgrade when ready
Go to your account page with your key. Connect a wallet, approve a USDC budget. Upgrade takes 30 seconds.
4
Cancel anytime
Revoke the USDC approval in your wallet. That's it. Key reverts to free tier. No penalty, no form, no email.