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
- ✓ No headless Chrome to install, run, or scale.
- ✓ A single HTTP request — works anywhere Express can make a fetch.
- ✓ Full-page capture, custom viewport, PNG or JPEG.
- ✓ Free tier with 100 requests per month to start.
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.