Website Screenshot
API that just works

Capture full-page screenshots of JavaScript-heavy sites you're authorized to capture with a single API parameter. Returns base64 JPEG or a public CDN URL. Works with CDN and browser verification workflows — proxies and verification workflow handling included.

€1.00 / 1,000 requests • free demo trial • No subscription

POST publisher.scrappey.com/api/v1 → screenshotUrl
Example output: full-page website screenshot returned by the Scrappey Screenshot API
status: 200format: jpeg q80timeElapsed: 15234mssize: 1280×1024

Powerful screenshot capabilities

Everything you need for professional website screenshots

Full-Page Screenshots

Capture complete web pages from top to bottom automatically. Full-page capture is always used regardless of viewport dimensions, ensuring you get the entire page content.

Always full-page capture

Base64 or CDN URLs

Get screenshots as base64-encoded JPEG in the response, or upload to DigitalOcean Spaces for a public CDN URL. Choose what works best for your workflow.

JPEG quality 80

Custom Viewport Dimensions

Control screenshot dimensions with screenshotWidth and screenshotHeight parameters. Default is 1280x1024, but you can set any size to influence page layout before capture.

Default: 1280x1024px

High-Quality JPEG

Screenshots are produced as optimized JPEG files with quality 80, balancing file size and image quality. Perfect for documentation, monitoring, and visual testing.

Optimized file size

Simple API Integration

Just add screenshot: true to any request.get call. Works with all Scrappey features including advanced request handling, verification workflow handling, and JavaScript rendering.

One parameter

Works with Modern Websites

Capture screenshots of JavaScript-heavy pages and complex web applications. Scrappey handles all the complexity automatically.

95%+ success rate

Try common variants

cURL request
curl -X POST "https://publisher.scrappey.com/api/v1?key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "cmd": "request.get",
    "url": "https://example.com",
    "screenshot": true
  }'
Response (truncated)
{
  "solution": {
    "verified": true,
    "type": "browser",
    "screenshot": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
    "html": "<!DOCTYPE html>...</html>"
  },
  "timeElapsed": 15234,
  "data": "success"
}
Any language

Universal language support

Scrappey is a simple HTTP endpoint, so it works with any programming language that can make a request. No language-specific SDKs required — just send JSON and get results.

A universal HTTP/JSON endpoint connecting to many programming languages
PythonNode.jsPHPGoRubyJavaC#RustcURLand more

How it works

  1. 1

    Standard HTTP request

    POST to our API endpoint with your key and a JSON payload. Works with any HTTP client in any language — requests, axios, cURL, you name it.

  2. 2

    JSON in, JSON out

    Describe the scraping task as plain JSON. No SDKs, no language-specific wrappers, no build step to learn.

  3. 3

    Universal compatibility

    Python, Node.js, PHP, Go, Ruby, Java, C#, Rust — if it can make an HTTP request, it works with Scrappey.

HTTP
REST API
JSON
Simple format
Any
Language
"Amazing offers and system."
Piro
Verified

What developers build with it

Three patterns that account for most Screenshot API traffic.

Visual Regression Testing

Automate visual testing by capturing screenshots before and after deployments. Compare images programmatically to detect UI changes and regressions.

  • CI/CD Pipelines
  • QA Automation
  • Design Validation

Website Monitoring

Monitor website appearance and detect visual issues automatically. Capture screenshots on a schedule to track changes, broken layouts, or unauthorized modifications.

  • Uptime Monitoring
  • Change Detection
  • Security Audits

Documentation & Reports

Generate visual documentation for client reports, compliance audits, or internal documentation. Capture screenshots of dashboards, analytics, or complex interfaces.

  • Client Reports
  • Compliance Docs
  • Training Materials

Scrappey vs other Screenshot APIs

Apples-to-apples on a 1,000 full-page-render workload.

APIPriceFull-pageVerification workflowsCustom JSProxies includedPay-as-you-go
Scrappey€1.00 / 1k
Browserless~$5.00 / 1k
ScreenshotOne~$2.50 / 1kpartial
ApiFlash~$3.00 / 1kpartial
urlbox~$3.20 / 1kpartial

Competitor pricing reflects the closest published "browser render" or "full-page screenshot" plan as of 2026. Always check vendor sites for the latest.

Two output formats. Pick what your pipeline needs.

Same endpoint, different return shapes.

screenshot: true

Base64 JPEG inline

Returned in the JSON response body as solution.screenshot. No second hop, no storage to clean up — decode and write straight to disk, S3, or your DB.

Best for

  • Lambdas / serverless workers that already write to your own bucket
  • Compliance setups where the image must never touch a third-party CDN
  • Low-volume jobs where one round-trip beats two
screenshotUpload: true

Public CDN URL

Returned as solution.screenshotUrl pointing at DigitalOcean Spaces. JSON payloads stay small, hotlinking is free, and you can paste the URL into any browser, doc, or report.

Best for

  • Client reports, dashboards, Slack/email notifications
  • Visual regression diffs that need a stable URL across runs
  • High-volume jobs — keeps DB rows tiny
footer-frame

Start building with Scrappey

Try It For Free. No Subscription Required. No Credit Card Required. Instant Set-Up. Your Free Trial Is Waiting For You!

Screenshot API FAQ

Does the Screenshot API capture the full page or just the viewport?
Full page by default. Scrappey scrolls the page from top to bottom and stitches the result into a single image — viewport dimensions only affect how the layout renders before capture, not what gets cropped.
What image formats and dimensions does the API return?
Screenshots are returned as quality-80 JPEGs, either inline as base64 in the JSON response or as a public CDN URL when you set screenshotUpload: true. Default render size is 1280×1024; use screenshotWidth and screenshotHeight to override.
How much does a screenshot cost?
Screenshots run on the full-browser tier at €1.00 per 1,000 successful requests. Residential proxies and verification workflow handling are included — there's no separate proxy or solver bill. Failed requests aren't charged.
Can I wait for a specific element or run JavaScript before capture?
Yes. Pass a jsScenario array to scroll, click, fill, or waitForSelector before the screenshot is taken. This is how you handle lazy-loaded images, cookie banners, infinite scroll, and behind-login captures.
Is there a free way to try it?
Yes — the free Website Screenshot Generator at /tools/website-screenshot-generator runs against the live API with no signup. New accounts also get a free demo trial to test the API directly.
Does the API support PDF or video output?
The Screenshot endpoint returns JPEG. For PDF rendering, use the full Browser endpoint with a jsScenario that calls the print API; HTML and headers are returned alongside the screenshot if you need to re-render server-side.
What's the average response time?
Typical screenshot calls return in 8–20 seconds depending on page weight, JS hydration time, and whether browser verification workflows have to be completed. Time-to-first-byte is reported as timeElapsed in the response.