# Screenshot a list of URLs at once

> Screenshot a whole list of web pages at once. Start up to 100 screenshots with one API call, then collect the results by webhook or one status request.

To screenshot many web pages at once, send the list to the CurlShot bulk endpoint: up to 100 requests in one call, each with its own options, on plans that include bulk. You get an answer at once with one job per page. The screenshots are made in the background, and you collect them with one status request for the whole batch or receive each one by webhook as it finishes.

Page for people: https://curlshot.com/tools/bulk-screenshots

## Steps

1. Create an account on a plan that includes bulk, and copy your access key.
2. Send the list of addresses in one POST request to the bulk endpoint.
3. Follow the batch with one status request, or receive each result by webhook.

## What people use it for

- Thumbnails for every site in a directory
- A screenshot of every page of a site before and after a redesign
- Nightly captures of a list of competitor or client pages
- PDF copies of a list of articles

## The same thing with the API

```bash
curl "https://curlshot.com/api/v1/screenshot?access_key=YOUR_ACCESS_KEY&url=https://example.com&async=true&webhook_url=https://example.com/webhooks/screenshot" \
  --output job.json
```

An access key is free: https://curlshot.com/register. Read more:

- [Bulk screenshots](https://curlshot.com/docs/bulk.md)
- [Async and webhooks](https://curlshot.com/docs/async-and-webhooks.md)

## Questions

### How do I take screenshots of multiple URLs at once?

Send them to the CurlShot bulk endpoint as one list. Each item is a normal request with its own address and options, and up to 100 fit in one call.

### How do I get the results?

Ask for the status of the batch, which lists every job and a link to each finished file, or give a webhook address and each result is sent to it when it is ready.

### What does the request on this page do?

It starts one screenshot in the background and sends the result to a webhook. A bulk call is a list of requests like it, started together.

### How is a batch counted?

Like the same screenshots made one by one: each successful render is one screenshot. Failed renders are not counted. The pricing page shows which plans include bulk calls.

## Related

- [Web page to PDF](https://curlshot.com/tools/website-to-pdf.md): Turn a web page into a PDF document from its address. Real pages, working links and selectable text. Paste the address, nothing to install. Also an API.
- [Website thumbnail](https://curlshot.com/tools/website-thumbnail.md): Make a thumbnail or preview image of any website from its address. For directories, link lists, portfolios and newsletters. Free to try, one request by API.
- [Screenshot API](https://curlshot.com/tools/screenshot-api.md): A screenshot API for developers. One HTTP request turns a URL, HTML or Markdown into a PNG, JPEG, WebP or PDF. Full page, devices, blocking, cache, MCP.
