Screenshot API
Browser-like Screenshot API that captures webpages as PNG/JPEG/WebP or PDF for previews, QA, reporting, monitoring, and archiving no headless setup.
Credit cost: 1 credit per request
Authorization
ApiKeyAuth Your API key. Include it in the x-api-key header for every request.
In: header
Query Parameters
The URL of the webpage to capture.
The output format of the screenshot.
Available formats:
webpjpegjpgpngpdf
"png""jpeg" | "jpg" | "pdf" | "png" | "webp"The device type to emulate for the screenshot.
Available devices:
iphone_14_pro_maxiphone_14_proiphone_13_pro_maxiphone_13_miniiphone_12iphone_xipadgalaxy_s23_ultragalaxy_s23galaxy_s8galaxy_fold4pixel_7_propixel_6apixel_5redmi_note_12_proredmi_note_11huawei_p60_prohuawei_mate_50_pro
"galaxy_fold4" | "galaxy_s23" | "galaxy_s23_ultra" | "galaxy_s8" | "huawei_mate_50_pro" | "huawei_p60_pro" | "ipad" | "iphone_12" | "iphone_13_mini" | "iphone_13_pro_max" | "iphone_14_pro" | "iphone_14_pro_max" | "iphone_x" | "pixel_5" | "pixel_6a" | "pixel_7_pro" | "redmi_note_11" | "redmi_note_12_pro"Capture the entire page instead of just the visible viewport.
"false"Scroll the page to fully load lazy-loaded elements before capturing a full-page screenshot.
"true"Time in milliseconds for scrolling before capturing the full page.
"400"The width of the browser viewport in pixels.
"1280"The height of the browser viewport in pixels.
"1024"The scale factor for high-resolution screenshots.
"1"Generate images with custom quality settings.
Supported formats include:
jpegwebp
"80"Capture a specific element on the page instead of the full viewport.
Cache the response.
"false"Cache the response for a custom TTL (in seconds).
"2592000"3600 <= value <= 2592000A comma-separated list of elements to hide before capturing (e.g., ads, popups).
Automatically remove cookie banners before capturing.
"false"Automatically remove ads before capturing.
"false"Comma-separated list of resource types to block (e.g., “image,stylesheet,font”).
Available resource types:
documentstylesheetimagemediafontscripttexttrackxhrfetcheventsourcewebsocketmanifestother
Useful for optimizing page loading speed before capturing screenshots.
"document" | "eventsource" | "fetch" | "font" | "image" | "manifest" | "media" | "other" | "script" | "stylesheet" | "texttrack" | "websocket" | "xhr"Comma-separated list of URL patterns to block (e.g., “analytics,tracking,advertisement”).
You can specify URLs, domains, or simple patterns like “.example.com/”.
Delay in seconds before capturing the screenshot.
"0"0 <= value <= 10Define when to capture.
Available formats:
networkidle2loaddomcontentloadednetworkidle0
"domcontentloaded" | "load" | "networkidle0" | "networkidle2"Wait for a specific element to appear before taking the screenshot.
Specify a proxy server to route your request through.
Supports HTTP, HTTPS, and SOCKS5 proxies.
Format: http://username:password@proxy.com:PORT.
Useful for bypassing geo-restrictions and rotating IPs.
AWS S3 secret access key.
AWS S3 access key ID.
The S3 bucket name where the screenshot will be uploaded.
The filename for the S3 object (auto-generated if not provided).
AWS S3 region for storage.
Leave this field empty for AWS S3. Only specify a value if required. S3-compatible storage services are supported, for example, use https://.r2.cloudflarestorage.com for Cloudflare R2.
Use S3 storage for screenshots. The S3 URL will be returned in the response.
"false"Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.capturekit.dev/v1/capture?url=string"{
"error": "Bad Request"
}{
"error": "Invalid API Key"
}{
"error": "Payment required"
}{
"error": "Rate limit exceeded for the API key: quota monthly"
}{
"error": "Internal Error"
}