Skip to main content gottem  — one API for every scraper.
Screenshot API POST /screenshot

Server-side screenshots from a real browser.

Full-page or viewport captures from a headless Chrome session — PNG, JPEG, or WebP, returned as base64 or raw binary.

example.com /v1
← viewport
Captured area 1920 × 1080 PNG · base64
Viewports

Capture at any size.

Set custom viewport dimensions or use defaults. Full-page mode scrolls and captures everything.

390 × 844 Mobile
768 × 1024 Tablet
1440 × 900 Desktop
Output modes

Base64 or raw binary.

"binary": false (default)

Base64 encoded

Screenshot returned as a base64 string in JSON. Convenient for embedding in HTML, storing in databases, or passing to downstream APIs.

"binary": true

Raw binary

Returns raw image bytes directly. Ideal for saving to disk, uploading to cloud storage, or serving to users. Smaller payload than base64.

Formats

PNG, JPEG, or WebP.

PNG
Best for
Lossless, transparency
Size
Larger
Quality
Perfect
JPEG
Best for
Photos, web content
Size
Smaller
Quality
Adjustable (1-100)
WebP
Best for
Modern apps, best ratio
Size
Smallest
Quality
Adjustable
Capabilities

Flags the Chrome runtime exposes.

The same headless Chrome that powers /crawl — controllable per request.

Full-page capture

Capture the entire scrollable page, not just the visible viewport. Enabled by default with full_page: true.

CDP parameters

Fine-tune with Chrome DevTools Protocol params. Set custom clip regions, output format, and compression quality.

Transparent background

Use omit_background to capture pages with transparency — useful for compositing or clean visuals.

Image blocking

Speed up captures by blocking images with block_images. Useful when you need the layout but not the visuals.

Anti-bot handling

Screenshot protected pages. Spider's fingerprinting and session management make it look like a real user.

Geo-routing

Capture how pages look from different countries via country_code. See geo-specific pricing or localized content.

Examples

cURL, Python, Node.

from spider import Spider
import base64

client = Spider()

result = client.screenshot(
    "https://example.com",
    params={
        "full_page": True,
    },
)

# Decode and save the screenshot
img_data = base64.b64decode(result[0]["content"])
with open("screenshot.png", "wb") as f:
    f.write(img_data)
Use cases

Where teams reach for it.

01

Visual regression testing

Capture screenshots on every deploy and compare against baselines. Detect unintended visual changes before users do.

02

Link previews & thumbnails

Generate preview images for URLs shared in your application. Build rich link cards like those in social media and messaging apps.

03

Competitive monitoring

Periodically screenshot competitor sites to track visual changes, pricing updates, and new product launches.

04

Compliance & archiving

Create visual records for legal, regulatory, or archival purposes. Capture exactly what a user would see at a given point in time.

Related

More from the API.

Get started

Capture any web page visually.

High-quality screenshots from a simple API. No browser infrastructure to manage.