browser
body enum(chrome, firefox, brave) Optional Example: chrome
Browser to use for screenshot (chrome, firefox, or brave)
/batch/create Create batch screenshot job
Options are grouped for easier scanning, similar to parameter-focused docs.
browserenum(chrome, firefox, brave) Optional Example: chrome
Browser to use for screenshot (chrome, firefox, or brave)
countrystring Optional Example: us
ISO country code. Defaults to "us" when omitted.
Two-letter country code for routing the browser through a target country. Use this when validating localization, legal notices, pricing, and geo-specific rendering.
delayinteger Optional Example: 5
Seconds waited after page load. Values above 30 are capped to 30.
hide_adsboolean Optional Example: false
No description in OpenAPI spec.
Enable ad filtering for cleaner captures and visual diffs. On some browser targets, behavior may vary depending on native filtering support.
hide_popupsboolean Optional Example: false
No description in OpenAPI spec.
Attempt to hide cookie banners and popup overlays before capture so outputs focus on page content.
screen_heightinteger Optional Example: 1280
No description in OpenAPI spec.
screen_widthinteger Optional Example: 1024
No description in OpenAPI spec.
sizeenum(screen, page) Optional Example: screen
No description in OpenAPI spec.
cookiestring Optional No description in OpenAPI spec.
headerstring Optional Custom HTTP header(s)
post_datastring Optional No description in OpenAPI spec.
refererstring Optional No description in OpenAPI spec.
max_waitinteger Optional Example: 0
No description in OpenAPI spec.
scriptstring Optional No description in OpenAPI spec.
trackersstring Optional JSON-encoded trackers array
darkboolean Optional Example: false
No description in OpenAPI spec.
strict_sslboolean Optional Example: true
No description in OpenAPI spec.
stepsstring Optional JSON-encoded steps array
cacheinteger Optional Example: 86400
Cache duration in seconds. Maximum 2592000 seconds (30 days)
shot_intervalinteger Optional Example: 0
No description in OpenAPI spec.
shotsinteger Optional Example: 1
No description in OpenAPI spec.
targetstring Optional CSS selector to capture an element
CSS selector of the element to capture. If provided, capture is scoped to the matched element instead of the full viewport/page.
appsinteger[] Optional App configuration IDs to run after each screenshot is finished
filestring Required Text file with one URL per line
filename_templatestring Optional Example: {domain}/{yyyy}{mm}{dd}-{id}.png
Template for output filenames inside the ZIP archive. Supports variables: {id}, {domain}, {shot}, {browser}, {country}, {yyyy}, {mm}, {dd}, {date}, {random}, {tags}, {url}. If {id} is absent, it is injected automatically to guarantee unique filenames. The filename column in the CSV/TSV file overrides this template per row.
hostingenum(s3) Optional Example: s3
Upload each completed screenshot through the AWS S3 app. The batch ZIP is not uploaded.
hosting_bucketstring Optional S3 bucket that grants write access to Browshot's AWS account.
hosting_privateboolean Optional Example: false
Use bucket-owner-full-control instead of public-read for uploaded objects.
Idempotency-Keystring Optional Retry key. Reusing the same key for the same API user returns the original batch.
namestring Optional Batch name for reference
thumbnail_bottominteger Optional Crop box bottom edge (px, exclusive). 0 extends to the image's bottom edge.
thumbnail_formatenum(png, jpeg, webp) Optional Example: png
Output image format. Omit to preserve each image's original format.
thumbnail_heightinteger Optional Thumbnail target height in pixels.
thumbnail_leftinteger Optional Crop box left edge (px). Crop is applied before resizing.
thumbnail_qualityinteger Optional Encoder quality (1-100) for jpeg/webp thumbnails. Ignored for png.
thumbnail_ratioenum(fit, fill) Optional Example: fit
fit = contain within width/height (default); fill = cover the box, cropping overflow.
thumbnail_rightinteger Optional Crop box right edge (px, exclusive). 0 extends to the image's right edge.
thumbnail_scalenumber Optional Multiplier applied to the thumbnail dimensions (combines with thumbnail_zoom).
thumbnail_topinteger Optional Crop box top edge (px).
thumbnail_widthinteger Optional Resize the images stored in the ZIP archive. Setting any thumbnail_* option makes the ZIP contain resized/reformatted thumbnails instead of the full-resolution captures; leaving them all unset keeps the originals (default). Non-image outputs (PDF, video, HTML) are never thumbnailed. Target width in pixels.
thumbnail_zoominteger Optional Zoom percentage (1-100) applied to the thumbnail dimensions.
htmlboolean Optional Example: false
No description in OpenAPI spec.
geo_enableboolean Optional Example: false
Enable geolocation emulation
geo_latitudenumber Optional Override latitude for geolocation
geo_longitudenumber Optional Override longitude for geolocation
languagestring Optional Override language/locale (e.g., en-US)
timezonestring Optional Override timezone (e.g., America/New_York)
device_landscapeboolean Optional Use landscape orientation
device_mobileboolean Optional Enable mobile emulation
device_namestring Optional Device name to emulate (e.g., iphone_15_pro)
device_scalenumber Optional Device scale factor
device_touchboolean Optional Enable touch input
pdfboolean Optional Example: false
No description in OpenAPI spec.
pdf_backgroundboolean Optional Example: false
No description in OpenAPI spec.
pdf_formatenum(a4, letter, legal) Optional Example: letter
No description in OpenAPI spec.
pdf_landscapeboolean Optional Example: false
No description in OpenAPI spec.
pdf_marginstring Optional Example: 0px
No description in OpenAPI spec.
pdf_margin_bottomstring Optional Example: 0px
No description in OpenAPI spec.
pdf_margin_leftstring Optional Example: 0px
No description in OpenAPI spec.
pdf_margin_rightstring Optional Example: 0px
No description in OpenAPI spec.
pdf_margin_topstring Optional Example: 0px
No description in OpenAPI spec.
pdf_one_pageboolean Optional Example: false
No description in OpenAPI spec.
200 Batch created
{
"success": true,
"data": [
{
"id": 98765,
"status": "processing",
"count": 150,
"processed": 0,
"failed": 0,
"error": ""
}
]
} 400 Invalid request
{
"error": "Request validation failed",
"code": "VALIDATION_ERROR",
"fields": {
"url": [
"URL is required"
],
"country": [
"Country code must be ISO 3166-1 alpha-2"
]
}
} 401 Unauthorized
{
"success": false,
"error": "Invalid API key",
"code": "INVALID_API_KEY",
"details": {
"request_id": "req_123456"
}
} 403 Insufficient balance
{
"success": false,
"error": "Invalid API key",
"code": "INVALID_API_KEY",
"details": {
"request_id": "req_123456"
}
} 413 File too large
{
"success": false,
"error": "Invalid API key",
"code": "INVALID_API_KEY",
"details": {
"request_id": "req_123456"
}
} 500 Server error
{
"success": false,
"error": "Invalid API key",
"code": "INVALID_API_KEY",
"details": {
"request_id": "req_123456"
}
}