---
canonical_url: "https://docs.composio.dev/toolkits/screenshot_api"
markdown_url: "https://docs.composio.dev/toolkits/screenshot_api.md"
product: "platform"
version: null
last_updated: null
---

# Screenshot API

Screenshot API renders webpages and custom HTML as images, PDFs, videos, or extracted content and supports paid asynchronous bulk capture jobs.

- **Category:** images & design
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 5
- **Triggers:** 0
- **Slug:** `SCREENSHOT_API`
- **Version:** 00000000_00

## Tools

### Create Bulk CSV Job

**Slug:** `SCREENSHOT_API_CREATE_BULK_CSV_JOB`

Upload a CSV file to start a paid asynchronous bulk screenshot job and return the provider's complete job acceptance payload containing its UUID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `csv_file` | object | Yes | CSV attachment supplied by Composio's attachment flow. Pass the attachment object unchanged; its file must contain a required url column of fully qualified HTTPS URLs and may contain documented render-option columns. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Bulk JSON Job

**Slug:** `SCREENSHOT_API_CREATE_BULK_JSON_JOB`

Start a paid asynchronous bulk screenshot job from up to 50 JSON request items and return the provider's complete job acceptance payload containing its UUID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urls` | array | Yes | Bulk capture items. Provide between 1 and 50 items; 50 is the documented conservative maximum. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Bulk Results

**Slug:** `SCREENSHOT_API_DOWNLOAD_BULK_RESULTS`

Download the processed result CSV for a completed paid bulk screenshot job UUID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_uuid` | string | Yes | UUID of a completed bulk job. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Bulk Job Status

**Slug:** `SCREENSHOT_API_GET_BULK_JOB_STATUS`

Get progress and success/failure counts for a paid asynchronous bulk screenshot job UUID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_uuid` | string | Yes | UUID returned by a bulk JSON or CSV create request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Render Screenshot

**Slug:** `SCREENSHOT_API_RENDER_SCREENSHOT`

Render a webpage or custom HTML and return a stored image, PDF, or video URL plus optional extracted content links. A custom result filename can replace an existing stored file with the same name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Fully qualified webpage URL; required even when custom_html is supplied. |
| `cache` | object | No | Stored-result caching behavior. |
| `storage` | object | No | Route output to a dashboard-configured storage integration. |
| `blocking` | object | No | Hide common overlays or block selected browser resource types. |
| `viewport` | object | No | Viewport and capture geometry. |
| `file_type` | string ("png" | "jpg" | "jpeg" | "webp" | "pdf" | "webm" | "mp4" | "gif") | No | Output format; video formats require scrolling or video settings and may be plan-gated. |
| `page_load` | object | No | Navigation, waiting, and page-script controls. |
| `scrolling` | object | No | Scrolling screenshot or video controls; these features may be plan-gated. |
| `appearance` | object | No | Image quality and page appearance controls. |
| `extraction` | object | No | Additional page data to extract alongside the screenshot URL. |
| `custom_html` | string | No | Raw HTML to render instead of the URL content. |
| `pdf_options` | object | No | PDF-only page settings. |
| `browser_context` | object | No | Browser identity, target authentication, proxy, and location settings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
