Features Pricing Docs Blog Try Demo Log In Sign Up

Pixel-perfect website
screenshots via API

Capture any website in seconds. No browser management, no infrastructure headaches. Just a simple API call.

99.9% Uptime
<3s Avg Response
100+ Developers

Everything you need

Explore the features below, then try them live — toggle any parameter, enter a URL, and hit Run.

Render for Apple's Retina Display
Renders at 2× device pixel ratio for crystal-clear HiDPI output. Perfect for presentations, marketing, and Retina displays.

Renders at 2× device pixel ratio for crystal-clear HiDPI output.

retina

Any custom screen size or predefined by device
Emulates real device viewports with proper user-agent and screen dimensions. Desktop (1280px), tablet (768px), mobile (375px).

Desktop (1280px), tablet (768px), mobile (375px) with proper user-agent.

device

Take full-page screenshots with lazy loaded images
Captures the entire scrollable page from top to bottom in a single image, not just the visible viewport. Triggers all lazy-loaded content.

We scroll and trigger lazy loaded images, scripts and other resources for a perfect screenshot.

full_page

Block ads and tracking scripts
Automatically removes ads, analytics scripts, and tracking pixels. One parameter to get a clean screenshot without banners or pop-ups.

Clean screenshots without banners, pop-ups, or analytics pixels.

block_ads

Dark mode rendering
Emulates prefers-color-scheme: dark so websites that support dark mode will render in their dark theme.

Emulates prefers-color-scheme: dark for websites that support it.

dark_mode

Hide specific elements by CSS selector
Pass CSS selectors to hide specific elements — cookie consent banners, newsletter popups, sticky headers, or anything else you don't need.

Cookie banners, newsletter popups, sticky headers — hide anything.

hide_selectors

Multiple output formats
Choose the output image format. PNG for lossless quality, WebP for smaller file sizes, JPEG for maximum compatibility.

PNG for lossless quality, WebP for smaller files, JPEG for compatibility.

format
Enter any URL and hit Run
Demo screenshot
Enter a URL and hit Run
GET
https://screenshotrun.com/api/v1/screenshots/capture?url=https://stripe.com

This is a real API call. The same endpoint powers your production integration.

Three simple steps

Get started in minutes, not hours.

1

Sign up and get your API key

Create a free account and generate your API key in seconds.

API key dashboard
2

Make an API request

Send a POST request with the website URL you want to capture.

API request code
3

Get your screenshot

Receive a high-quality screenshot ready for download.

Screenshot result
notion-so-full-page.png PNG · 1.8 MB · 1280 × 3600
Ready

Built for your workflow

From marketing to monitoring — see how teams use ScreenshotRun.

OG image generation

Auto-generate Open Graph images for blog posts, landing pages, and social sharing. One API call per URL, no design tools needed.

Visual monitoring

Capture scheduled snapshots of your pages and feed them into your diff pipeline. Ideal for catching layout regressions before users do.

Link previews for social

Generate real website thumbnails for Slack, Discord, or any messaging platform. Show actual page content instead of generic placeholder cards.

QA & regression testing

Screenshot every page across devices as part of your CI/CD pipeline. Compare builds visually without manual browser checking.

Portfolio & gallery generation

Build website directories, showcase galleries, or curated collections with auto-updated screenshots of listed sites.

Competitor tracking

Capture competitor pages on your own schedule and store snapshots in your system. Track design changes, pricing updates, and feature launches over time.

One API call is all you need

Works with any programming language. Here's a quick example.

Simple, transparent pricing

Start free, scale as you grow. No hidden fees.

Free

Get started with full screenshot capabilities.

$0 Free forever
  • 200 screenshots/mo
  • 1 API key
  • 5 req/min
  • Pay only for successful requests
  • Full page screenshots
  • Cookie banner blocking
  • Custom delay
  • Custom viewport size
  • Element screenshots
  • Wait for selector
  • Transparent background
  • Reduced motion

Starter

For small projects that need production-ready screenshots.

$9 Per month
  • 3,000 screenshots/mo
  • 2 API keys
  • 15 req/min
  • $0.009 per extra
  • Pay only for successful requests
  • Full page screenshots
  • Cookie banner blocking
  • Custom delay
  • Custom viewport size
  • Element screenshots
  • Wait for selector
  • Transparent background
  • Reduced motion
  • Mobile & tablet emulation
  • Retina 2x quality
  • Ad & tracker blocking
  • Chat widget blocking
  • Device emulation
  • Webhook notifications
  • PDF export
  • HTML rendering
  • Custom User-Agent
  • Custom HTTP headers
  • Custom cookies

Ready to capture the web?

Start taking pixel-perfect screenshots in minutes.
No credit card required. Cancel anytime.

From the blog

Tutorials, real-world examples, and tips from the trenches.

How to Use Screenshots for Visual Regression Testing in CI/CD

How to Use Screenshots for Visual Regression Testing in CI/CD

Visual regression testing catches the UI bugs that unit tests and functional tests miss entirely — broken layouts, shifted buttons, wrong colors. Here's how to build a screenshot-based visual testing pipeline that runs on every pull request, with real code and practical advice on dealing with flaky tests.

How to take website screenshots with Ruby — Selenium, Ferrum, and API

How to take website screenshots with Ruby — Selenium, Ferrum, and API

Ruby doesn't ship with a browser rendering engine, so taking website screenshots requires an external tool. This article covers three approaches — Selenium WebDriver with headless Chrome, Ferrum via DevTools Protocol, and the Screenshotrun API — with working code and a production comparison.

Frequently asked questions

ScreenshotRun is a cloud-based service that lets you capture pixel-perfect screenshots of any website via a simple REST API. You send a request with the target URL and desired parameters (viewport size, format, full-page mode, etc.), and our servers render the page using an optimized Chromium engine and return the resulting image. The entire process typically takes under 5 seconds.

Yes! We offer a free plan that includes 300 screenshots per month — no credit card required. Simply create an account, grab your API key, and start capturing screenshots right away. If you need higher volume, you can upgrade to a paid plan at any time.

All plans support PNG, JPEG, and WebP image formats. PDF export is available on Starter plans and above. You can also customize viewport dimensions, enable retina (2x) resolution, choose between viewport-only or full-page scrolling capture, and emulate mobile, tablet, or desktop devices.

Yes. Cookie consent banner blocking is available on all plans, including Free. Ad and tracker blocking is available on Starter plans and above. Both options can be toggled on or off for each individual API request, giving you full control over the output.

Integration is straightforward — just make a single HTTP GET or POST request to our API endpoint with your API key and the target URL. We provide ready-to-use code examples for cURL, PHP, Python, JavaScript, Ruby, and Go. Check out our [documentation](/docs) for detailed guides and parameter references.

We maintain 99.9% uptime backed by a robust cloud infrastructure with automatic scaling. Our rendering servers are distributed across multiple regions to ensure fast and reliable screenshot delivery. Paid plans include priority processing for even faster response times.

Yes. You can pass custom HTTP headers (such as cookies or authorization tokens) with your API request. This allows you to capture screenshots of password-protected pages, admin dashboards, or any content behind a login wall.

We send a notification when you reach 80% of your monthly quota. Once the limit is reached, API requests will return an error response until the next billing cycle begins or until you upgrade your plan. Your existing screenshots and API key remain fully accessible.