300 free screenshots to start

Screenshot API for AI agents and developers.

Capture, read, compare, and deliver any web page through one API, official SDKs, or the SnapshotFlow MCP server — without running browser infrastructure.

No credit card for free start Hosted API SDK and MCP ready
api.snapshotflow.com/screenshot?url=stripe.com

Render options

Full pagetrue
FormatPNG
Viewport1440 x 900
Block adson
curl "https://api.snapshotflow.com/screenshot?url=https://stripe.com&full_page=true"
-H "X-Api-Key: sk_live..." --output stripe.png
Status200 OK
CacheMISS
Time1.4s

Built for AI workflows

Give agents evidence, not another browser to maintain.

A single MCP connection gives an agent the right tool for visual review, page text, comparisons, or queued captures.

Connect the MCP server
  1. 1

    Connect

    Add the secure remote MCP endpoint to the client where your agent works.

  2. 2

    Request

    Ask for a screenshot, text extraction, visual diff, or a batch review.

  3. 3

    Act on evidence

    Receive an image, structured page context, change statistics, or job result.

One browser API, from first capture to production workflow

PNG · JPEG · WebP

pixel-ready images

PDF

reports and records

Markdown · HTML

content for AI

Visual diff

change metrics

Batch · Webhooks

production workflows

Puppeteer Fastify Sharp Pixelmatch Docker MCP-ready

Input and output

Turn a URL or HTML payload into the artifact your workflow needs.

Use one API surface for screenshots, PDFs, visual diffs, metadata, and LLM-ready content extraction.

Screenshots

PNG, JPEG, and WebP captures with full-page, viewport, scale factor, mobile, and dark mode controls.

PDF export

Generate documents with page format, orientation, and background graphics for invoices, reports, and evidence.

Content extraction

Return markdown, HTML, plain text, and metadata beside a screenshot for AI agents and analysis workflows.

Visual diff

Compare two URLs pixel-by-pixel and return changed pixels, diff percentage, and a highlighted diff image.

Batch capture

Render up to 10 URLs in one request with bounded parallelism through the browser pool.

Async webhooks

Queue heavier jobs, return a job ID immediately, and notify your application when the capture finishes.

The browser work, handled

Ship the output. Skip the browser cluster.

Instead of maintaining browser processes, queues, retries, image transforms, and storage glue, send SnapshotFlow a URL or HTML payload and choose what should come back.

Your request

URL + capture options

REST API
GET /screenshot?url=example.com
&full_page=true&extract_content=true
01

Render

Load the real page in a browser.

02

Prepare

Apply viewport and cleanup options.

03

Deliver

Return, store, cache, or webhook.

Clean captures

Screenshots without the clutter that ruins reports.

Block ads, trackers, cookie banners, fonts, media, or your own selectors so every capture is consistent enough for audits, research, and customer-facing workflows.

Ad and tracker blockingGhostery-powered rules keep noisy pages under control.
Device emulationMobile viewport, timezone, geolocation, and dark mode.
Custom CSS and JSInject page fixes before the screenshot is taken.
Deterministic cache keysEvery output-changing option becomes part of the cache key.

Before cleanup

Raw page
AD
COOKIES
CHAT

After SnapshotFlow

Clean capture
Ads blocked Cookies hidden Chat closed

Developer API

Simple requests, production-shaped responses.

Paste a URL, choose the output, and let the browser pool handle the render.

Request

curl "https://api.snapshotflow.com/screenshot?url=https://stripe.com&full_page=true&format=png&width=1440" \
-H "X-Api-Key: mykey" \
--output stripe.png

Response

200 OK - image/png
X-Cache
MISS
ETag
ss:766de460
Size
350KB
Output
binary PNG

Built around real workflows

Screenshots become more useful when they move with your work.

Capture the page, keep its context, and route the result into QA, monitoring, AI, or customer-facing products.

Explore examples
QA & releases

Catch visual changes before users do.

Compare two URLs pixel by pixel and return a diff image, changed-pixel count, and percentage your CI workflow can act on.

Visual regression testing
Release diff Changes found
Changed pixels14,320
Diff1.40%
Monitoring

Keep a visual record of what changed.

Schedule repeat captures, use cache controls, and send completed async jobs back through webhooks.

Mon
Wed
Today
Website change detection
AI agents

Give vision models the pixels and the page context.

Return a base64 image together with markdown, HTML, plain text, or metadata in one response.

Reports & records

Turn live pages into durable output.

Create full-page images or PDFs for research, audit trails, reports, and repeatable evidence workflows.

Marketing

Generate consistent website visuals on demand.

Use fixed viewports and formats to create thumbnails, previews, or open graph images from HTML.

OG image generation

How it works

From request to cached artifact in a few predictable steps.

The browser pool renders the page once, applies capture options, stores the output when needed, and serves repeat requests from cache.

1

Request

URL, HTML, and render options.

2

Render

Browser pool loads and prepares the page.

3

Capture

Image, PDF, diff, or JSON payload.

4

Return

Stream, store, cache, or webhook.

Build or call

Keep control of the workflow, without owning every moving part.

A self-managed browser can take a screenshot. SnapshotFlow packages the surrounding work into the same API surface.

See the API reference
Workflow layer
Self-managed browser
SnapshotFlow
Browser lifecycle
Launch, pool, and recycle it
Handled by the API
Output formats
Add image and PDF transforms
PNG, JPEG, WebP, and PDF
Page cleanup
Maintain selectors and request rules
Blocking plus custom CSS and JS
Large jobs
Build a queue and callbacks
Batch requests and async webhooks
Repeat requests
Design a cache layer
Deterministic cache keys
Machine-readable context
Add extraction and response shaping
Markdown, HTML, text, and metadata

Use any HTTP client. Start with cURL, JavaScript, the Node.js package, or the Java SDK.

Node.js quickstart →

Free start

Start with 300 screenshots before you need anything else.

Create an account, issue an API key, and test real captures against the hosted SnapshotFlow API. When you are ready, wire it into your product or automation workflow.

Up in minutes

1

Create a free account

open "https://dashboard.snapshotflow.com/#/register"
2

Generate an API key in the dashboard

# Copy your key from Account or API Keys
SNAPSHOTFLOW_API_KEY=sk_live_...
3

Take the first screenshot

curl "https://api.snapshotflow.com/screenshot?url=https://example.com" -H "X-Api-Key: $SNAPSHOTFLOW_API_KEY" --output out.png

What’s new

Latest from the changelog.

New integrations, SDK releases, and practical improvements to the SnapshotFlow browser layer.

See the changelog

From the blog

Guides, comparisons, and deep dives on screenshot automation.

Practical writing on capturing pages, rendering HTML, visual diffs, and shipping screenshots in production.

Browse all posts

FAQ

Answers to the most common Screenshot API questions.

Quick answers on rendering, full-page captures, pricing, and AI-agent integrations.

Your first capture is the easy part

Make screenshots part of the product, not another service to maintain.

Start with 300 screenshots, explore the API with a real URL, and connect the result to the workflow you already use.

No credit card required for the free start.