SnapRender

Batch screenshot API

Capture 50 URLs in one API call

Send a list of pages and get a download link for each capture. SnapRender works through the list for you, refunds any page that fails, and calls your webhook when the batch is done. Made for directories, site audits, client reports and nightly jobs.

Up to 50 URLs a callFailed pages refundedOn every plan

Six captures from one batch request

A list in, a folder of captures out

Looping over URLs yourself means a queue, a worker, timeouts and a spreadsheet of what failed. A batch is one request.

  • One request instead of fifty

    Up to 50 URLs with one set of options. You get a job ID back at once and your code moves on while SnapRender captures.

  • Told when it is done

    A signed screenshot.completed webhook with the counts the moment the last page is captured, or a status URL to poll.

  • Pay for captures that worked

    A page that fails is marked with the reason and refunded. The rest of the batch carries on, and the quota is checked before it starts.

Submit, wait, download

Three calls at most. With a webhook, your server does not even have to ask.

  1. Send the list

    POST /v1/screenshot/batch with up to 50 URLs and the options for all of them: format, size, device, full page, dark mode.

  2. SnapRender captures each page

    A fresh render in real Chrome, with cookie banners and ads removed, at your plan's rate. The first response tells you how long it should take.

  3. Collect the files

    Your webhook gets screenshot.completed, or you poll the status URL. Each capture has a download link that works for 24 hours.

curl -X POST "https://app.snap-render.com/v1/screenshot/batch" \
  -H "X-API-Key: sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://github.com", "https://stripe.com", "https://example.com"],
       "format": "webp", "width": 1280, "height": 800}'

Full reference: batch in the docs, webhooks.

Batches on every plan

A bigger plan captures more pages a minute, so a 50-URL batch finishes sooner. The per-site limit keeps any one target from being flooded.

PlanPriceRenders a monthCaptures a minuteSame site a minute
Free$02001010
Starter$92,0003015
Growth$2910,0006015
Business$7950,00012020
Scale$199200,00020030

Every plan has every feature: batches, webhooks, PDF, device presets and the MCP server for AI agents. All plans and yearly prices.

Questions

How many URLs can one batch hold?

Up to 50. Each URL counts as one render of your monthly quota, and the whole batch is checked against your quota before it starts, so it never stops halfway because you ran out.

What happens when a page fails?

That item is marked failed with the reason, the other pages carry on, and the render is refunded when the batch finishes. To try again, send the failed URLs in a new batch.

How long do the download links work?

Each link works for 24 hours, and the job status stays available for 24 hours too. Download the files, or copy them to your own storage, within that window.

Which options can a batch use?

The same capture options as a single screenshot, applied to every URL: format (PNG, JPEG, WebP or PDF), width, height, full_page, quality, delay, dark_mode, device presets, ad and cookie banner blocking, hide_selectors, click_selector and user_agent. Every item is a fresh capture.

How do I know when a batch is done?

Register a webhook for screenshot.completed and SnapRender calls your server with the counts when the last page is captured. Or poll the statusUrl from the first response, which also gives an estimate in seconds.

How fast does a batch run?

SnapRender works through the list at your plan's capture rate, from 10 a minute on the free plan to 200 a minute on Scale, with a lower limit per site so a target is not flooded. The table above has the numbers for every plan.

Check one page first

Every item in a batch is captured exactly like this. Try your URL here, no sign-up needed.

Have a list ready? The bulk screenshot tool captures 10 URLs a day without an account.

Try it on your URL

Live capture, no signup. You get the screenshot and the exact API call that produced it.

Run your first batch today

200 free renders a month, enough for four full batches. No credit card.