Overview
Capture Screenshot
The Snapshot Screenshot API lets you capture website screenshots programmatically using a simple HTTP request. Provide a target URL and configure the capture to match your application's requirements, including viewport size, full-page screenshots, image format, image quality, delays, and page loading conditions. You can also capture a specific page element or crop a selected area, wait for a CSS selector before capturing, and customize the User-Agent or Accept-Language headers. For JSON responses, Snapshot can optionally extract the target page's HTML and text along with the screenshot metadata. Use this endpoint when you need automated website screenshots for testing, monitoring, documentation, reporting or other application workflows.
Endpoint
https://snapshot-api.mindiqglobal.com/api/v1/screenshotQuery Parameters
| Name | Required | Type | Default | Description |
|---|---|---|---|---|
| url | Yes | string | - | Target URL starting with http:// or https:// |
| full_page | No | boolean | false | Capture full page height. Cannot be combined with crop or element. |
| format | No | enum | png | png or jpeg |
| width | No | integer | 1280 | Viewport width |
| height | No | integer | 720 | Viewport height |
| quality | No | integer | 100 | JPEG quality. Allowed range: 0-100. |
| response_type | No | enum | json | Allowed: json, image. |
| delay | No | number | 0 | Delay before capture in seconds. Allowed range: 0-10. |
| wait_until | No | enum | page_loaded | Allowed: dom_loaded, page_loaded, network_idle. |
| wait_until_timeout | No | number | - | Wait timeout in seconds. Allowed range: 1-30. |
| wait_for | No | string | - | CSS selector to wait for before capture. Max wait: 15s. |
| crop | No | string | - | Crop rectangle as left,top,width,height. Cannot be combined with full_page or element. |
| element | No | string | - | Capture the first matching CSS selector. Cannot be combined with full_page or crop. |
| thumbnail_width | No | integer | - | Positive integer. Aspect ratio is preserved. |
| user_agent | No | string | - | Custom User-Agent value. |
| accept_language | No | string | - | Custom Accept-Language value. |
| extract_html | No | boolean | false | Extract HTML and return/expose URL. Supported only with response_type=json. |
| extract_text | No | boolean | false | Extract text and return/expose URL. Supported only with response_type=json. |
Success Response
{
"status": "success",
"imageUrl": "https://mindiqglobal-snapshot-public-data-prod.s3.amazonaws.com/screenshot/capture.png",
"format": "png",
"responseType": "json",
"extractedHtmlUrl": "https://mindiqglobal-snapshot-public-data-prod.s3.amazonaws.com/screenshot/capture.html",
"extractedTextUrl": "https://mindiqglobal-snapshot-public-data-prod.s3.amazonaws.com/screenshot/capture.txt"
}Response Body Parameters
| Name | Type | Description |
|---|---|---|
| status | enum | success or error |
| imageUrl | string | null | Public screenshot URL for response_type=json. May be null for direct image responses. |
| format | enum | png or jpeg |
| responseType | enum | json or image. |
| extractedHtmlUrl | string | null | Extracted HTML URL when extract_html=true and response_type=json. |
| extractedTextUrl | string | null | Extracted text URL when extract_text=true and response_type=json. |
| binary-response | note | For response_type=image, the HTTP body is binary image data with image/* content-type and content-length headers (not JSON). |
Error Responses
| Status | Description |
|---|---|
| 400 | Invalid request or invalid parameter combinations (full_page+crop, full_page+element, crop+element, response_type=image+extract_html, response_type=image+extract_text). |