---
title: "Capture a new screenshot batch"
method: POST
path: "/v1/screenshots"
tags: ["Screenshots"]
---

# Capture a new screenshot batch

`POST /v1/screenshots`

Queues a cross-browser screenshot of a given URL at a specified resolution. Rendering is asynchronous: this returns the batch ID only, so poll GET /v1/screenshots/:id until its `state` is `done` to collect the images.

## Request body

- PostV1Screenshots — Capture a new screenshot batch
  - `url` string, required — Page URL to screenshot.
  - `resolution` string, required — Browser viewport (e.g. "1920x1080").
  - `browsers` string[], required — Array of `{ browser, version, os }` triples (or `browser_id`s) to render with.
  - `wait_time` integer — Seconds to wait after page load before snapping.
  - `fullpage` boolean — Capture the entire scrollable page instead of just the viewport.
  - `callback_url` string — POST callback URL invoked when the batch finishes processing.

## Response `201`

Capture a new screenshot batch

- TestingbotEntitiesScreenshotJob — Testingbot_Entities_ScreenshotJob model
  - `id` integer, required — Numeric batch ID to poll with GET /v1/screenshots/:id.
  - `url` string, required — URL that will be screenshotted.
  - `resolution` string, required — Browser viewport resolution.
  - `wait_time` integer, required — Seconds each browser waits after load before capturing.
  - `callback_url` string, required — Only present when a `callback_url` was supplied on the request.

## Other responses

- `400` — Missing required parameters
- `401` — Authentication required
- `403` — Account is read-only

---

[API](https://skmtc.net/testingbot/apis/testingbot-rest-api.md) · [All operations](https://skmtc.net/testingbot/apis/testingbot-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/testingbot/testingbot-rest-api/versions/8f493cca8f92/schema)
