Features Full Page Screenshot Wait for Selector & Delay Block Cookie Banners Custom Viewport & Device Website to PDF HTML to Image Dark Mode Image Format & Quality MCP Server Pricing Docs Blog Log In Sign Up

Screenshot API Integrations

Add website screenshots to your app in any language. Copy-paste code examples for Node.js, Python, PHP, Go, Java, Ruby, and cURL.

How it works

The ScreenshotRun API is a single HTTP GET endpoint. You pass a URL and parameters in the query string, include your API key in the Authorization header, and get back a screenshot. No SDK to install, no browser engine to download, no background processes to manage.

Every language on this page follows the same pattern: build a URL, make a GET request, handle the binary response. The API runs a real Chromium instance on our infrastructure, waits for the page to fully render (including JavaScript, lazy-loaded images, and web fonts), and returns the result as PNG, JPEG, WebP, AVIF, or PDF.

Why developers choose an API over running Puppeteer or Playwright

Browser automation libraries work well for local scripts and testing. In production, they bring operational complexity that grows with scale. Each headless Chrome process needs a few hundred megabytes of RAM. Docker images with Chromium pass a gigabyte. Fonts render differently across Linux distributions. Cookie banners, ad overlays, and chat widgets require per-site maintenance to hide.

An API call sidesteps all of this. Your application sends one request and receives an image. No Chromium binary in your deployment, no worker pool to tune, no font packages to install on every server. The tradeoff is straightforward: you pay per screenshot instead of paying in engineering time and server resources.

What you can do with one request

The API covers more ground than a basic screenshot. A single GET request can capture a full-page scroll, render a mobile viewport, switch to dark mode, target a specific HTML element by CSS selector, block cookie banners and ads, inject custom CSS or JavaScript before capture, and output the result in six different formats. These parameters combine freely, so one call can produce a retina dark-mode full-page WebP of a specific dashboard component with ads and chat widgets stripped out.

Each integration guide on this page shows working code for these capabilities in your language of choice. Pick the one that matches your stack, copy the examples, and start capturing.