Screenshot API for Express

Capturing website screenshots from Express usually means running and scaling a headless browser yourself. With Snapraven you skip all of that — proxy screenshots through an Express route so your key stays server-side.

What you can build with Express

Expose a clean `/thumb?url=…` endpoint your front end can drop into an `<img>` tag, while the API key stays hidden on the server and you control caching and rate limits.

Example in Express

app.get('/thumb', async (req, res) => {
  const r = await fetch(
    `https://api.snapraven.app/v1/screenshot?url=${encodeURIComponent(req.query.url)}`,
    { headers: { 'x-api-key': process.env.SNAPRAVEN_KEY } }
  );
  res.type('png').send(Buffer.from(await r.arrayBuffer()));
});

That's the entire integration. Snapraven renders the page in a real Chromium browser and returns a PNG or JPEG. Add fullPage=true for the full scrollable page, or width/height for custom viewports.

💡 Tip for Express

Proxying keeps your key off the client; put a CDN or an in-memory/Redis cache in front of the route so popular URLs aren’t re-captured on every hit.

Why developers use Snapraven with Express

Express screenshot API — FAQ

Why proxy instead of calling direct?

A proxy keeps your key server-side and lets you add caching, auth, and rate limiting around the render.

How do I cache it?

Cache by URL in Redis or in front of the route with a CDN, returning the stored image until it expires.

Other guides

Not a developer? Capture screenshots with no code in the dashboard — paste URLs and download a ZIP.

Add screenshots to your Express app today

Get your free API key