Capture a screenshot
Renders url and returns a hosted image. Every request — cache hit
or miss — counts against the monthly quota. Results are cached for
~15 minutes per unique combination of URL and capture options; Pro
plans can force a fresh render with fresh: true. See
Caching & fresh for details.
Authorizations
Programmatic auth for the /v1/screenshots and /v1/usage
endpoints. Create a key from the dashboard (POST /v1/keys); the
plaintext value is shown once at creation.
Body
The page to capture.
"https://example.com"
Output image format. webp is Pro-only.
png, jpeg, webp Viewport width in pixels. Defaults to 1920, capped to the plan's maximum (Free 1920, Pro 3840).
x >= 1Viewport height in pixels. Defaults to 1080, capped to the plan's maximum (Free 1080, Pro 2160).
x >= 1Capture the full scrollable page instead of just the viewport. Available on Free and Pro.
Compression quality for jpeg/webp output.
1 <= x <= 100Bypass the response cache and force a new render. Pro-only.
Response
Screenshot captured (or served from cache).
Hosted URL of the captured image.
True if this response was served from the ~15-minute result cache rather than a fresh render.
When the image is purged per the plan's retention window (Free 7 days, Pro 30 days).
Present only when the capture is backed by a listable/deletable
database row (Pro plan). Free-plan captures still return an
image_url but omit id — there is nothing to pass to
DELETE /v1/screenshots/{id} or expect back from
GET /v1/screenshots.