Available now Web app · self-hosted on your server

📸 Snapfleet

Self-hosted screenshot API. Unlimited renders. Pay once.

Urlbox charges $19/month for 2,000 renders. ScreenshotOne is $17/mo, ApiFlash $7/mo. But rendering a screenshot is just running headless Chromium — something your $5 VPS can do all day for free. Snapfleet is a self-hosted screenshot API with the same clean ergonomics as the paid ones: one endpoint, API keys, rate limits, caching. $39, once, unlimited renders.

$19/mo forever $39once
Snapfleet screenshot

Snapfleet, as it actually looks — a real screenshot, not a mockup.

What's in the box

Features

One endpoint, every option

GET /api/v1/screenshot?url=... returns PNG, JPG or PDF — viewport, full-page, delay, wait conditions, dark-mode emulation, JPEG quality and retina scale.

Element clipping

Pass a CSS selector and get just that element — perfect for og-images and social cards.

API keys built in

Named keys with per-key token-bucket rate limits and daily quotas, usage counters, revoke/regenerate.

Smart cache

Identical requests hit a SHA-256-keyed disk cache with HIT/MISS headers, default 24h TTL and per-request bypass.

Browser pool

One shared Chromium with configurable concurrency, request queue, 30s job timeouts and automatic relaunch if the browser crashes.

Playground UI

A dark admin panel with live preview of every parameter — copy the exact request URL or curl one-liner.

Internal targets

Screenshot localhost and internal dashboards — something no cloud API can reach (flip ALLOW_PRIVATE off for multi-tenant SSRF hygiene).

100% local

Your URLs and screenshots never leave your machine. Gallery, stats dashboard, no telemetry.

The receipt

Snapfleet vs Urlbox

Urlbox at $19/mo runs roughly $228/year — $456 over two years. Snapfleet is $39, once.

SnapfleetUrlbox
Price$39 once$19/mo ($228/yr, forever)
RendersUnlimited — it's your CPU2,000/month
Your dataStays on your serverTheir cloud
PNG / JPG / PDFYesYes
Element clipping + dark modeYesYes
Internal / localhost targetsYesNo
API keys + rate limitsYesYes
Source codeMIT, on GitHubClosed

Just over 2 months of Urlbox pays for Snapfleet outright — $228/yr saved, unlimited renders forever.

Setup

Three steps, no subscription

STEP 01

Buy once on Whop

One-time $39 for the packaged 1-click Windows installer with auto-updates — no terminal, no Docker knowledge needed.

STEP 02

Run it anywhere

Desktop app, npm start on a VPS, or docker compose up (the image ships Chromium preinstalled). Create an API key in the UI.

STEP 03

Curl your first screenshot

One GET request returns the PNG. Use the playground to dial in parameters and copy the exact curl command.

FAQ

Honest answers

Is it really free on GitHub?

Yes — MIT source at github.com/bensblueprints/snapfleet, always. $39 buys the 1-click installer and updates. From source it's npm i && npm start (heads-up: Puppeteer downloads ~170MB of Chromium on first install).

Is it as reliable as Urlbox?

Urlbox runs a global render fleet with retries and edge caching — for millions of renders a month at five nines, they earn their fee. Snapfleet is one pooled Chromium on your box with queueing, timeouts and crash recovery — for og-images, link previews, PDFs and internal tooling, that's honestly all you need.

What do people use it for?

Open-graph image generation, link previews, PDF invoices and receipts of web pages, visual monitoring, archiving, and thumbnails for directories — anywhere you'd otherwise pay per render.

Can it screenshot pages behind my firewall?

Yes — that's a headline feature. Because it runs on your infrastructure it can reach localhost and RFC1918 addresses (ALLOW_PRIVATE defaults to on). No cloud screenshot API can do that.

How does the cache work?

Requests are normalized (defaults applied first), hashed with SHA-256, and stored on disk with a TTL — identical requests return instantly with an X-Snapfleet-Cache: HIT header. Pass fresh=true or a per-request ttl to bypass it.

Deep-dive comparisons:

Own Snapfleet forever

$39 once. Deploy on your own server — your data never leaves it. No renewal, no account with us, no meter. Or build it yourself from the MIT source — it's the same app.