ScreenshotRun MCP

officiel

Capturez des captures d'écran de sites web depuis des agents IA via l'API ScreenshotRun — PNG, JPEG, WebP avec viewport, émulation d'appareil et ciblage d'éléments

Que pouvez-vous faire avec ScreenshotRun MCP ?

  • Capture any page — Ask your assistant to screenshot a URL with control over viewport, device, format, dark mode, and full-page scrolling.
  • Clean, model-ready images — Cookie banners and pop-ups are removed before capture, so vision models see the actual page content.
  • Extract page metadata — Pull title, description, Open Graph tags, Twitter Card, favicon, and HTTP status from any URL for SEO or link previews.
  • Check your quota — Ask how many screenshots you've used, your limit, and when it resets so batch workflows avoid surprise rate limits.

Documentation

Built for product,
data & QA teams

URL in, image out

ScreenshotRun opens any page in a real browser, waits for it to load, clears away cookie banners and pop-ups, and sends a pixel-perfect image back to your app. No headless Chrome servers to babysit.

stripe.com AD PDF JPEG PNG 200 OK Say cheese, internet Your image Clean capture Real browser Your request

Real browser

Clean capture

Any format

Fast & reliable

The ScreenshotRun dashboard: captures table with URL, format, size, render time and status

Full page screenshot

Capture the whole page top to bottom, not just the first screen. Lazy-loaded images and sections are scrolled into view before the shot is taken.

View docs →

$response = Http::withToken(config('services.screenshotrun.key'))
    ->timeout(60)
    ->get('https://api.screenshotrun.com/v1/screenshots/capture', [
        'url'           => 'https://stripe.com',
        'full_page'     => true,
        'format'        => 'png',
        'width'         => 1280,
    ]);

Storage::put('stripe-full.png', $response->body());

One API,many jobs to do

Teams use ScreenshotRun anywhere they need a picture of a web page: inside their product, in tests, or behind the scenes.

All use cases

Link previews

Show a live preview of any URL your users paste into chats, comments or CMS fields.

Screenshots for AI agents

Let an agent see a page the way people do, then reason about what is on it.

Website thumbnails

Directories, portfolios and dashboards with an up-to-date image of every site.

Visual regression testing

Capture pages on every deploy and compare them to catch layout bugs early.

Change monitoring

Take scheduled shots of competitor or partner pages and see what changed.

Reports & archiving

Save pages as PDF or full-length images for audits, invoices and records.

claude_desktop_config.json

{
  "mcpServers": {
    "screenshotrun": {
      "command": "npx",
      "args": ["-y", "screenshotrun-mcp"],
      "env": {
        "SCREENSHOTRUN_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Then ask"Screenshot stripe.com/pricing on an iPhone and check the layout"

Give your AI agenteyes on the web

Text scraping misses layout, images and broken UI. Hand your agent a real screenshot and let a vision model look at the page itself.

A tool your agent can call

One HTTP request with a URL in, an image out. Plugs into any framework that supports tool calls.

Sized for vision models

Pick the viewport, device and format, so the image fits the model without extra resizing.

Clean pages, fewer wasted tokens

Cookie banners and pop-ups are removed before the shot, so the model sees the actual content.

Tools your agent gets

npx -y screenshotrun-mcp · 3 tools

  • take_screenshot

    Capture any URL, HTML or Markdown with full control — viewport, device, format, dark mode, CSS/JS injection, element selection, stealth mode, PDF and more.
    • url
      • device
      • format
      • dark_mode
      • selector
      • 50+ params
  • extract_content

    New Extract page metadata from any URL — title, description, Open Graph tags, Twitter Card, favicon, HTTP status. Perfect for SEO audits and link previews.
    • title
      • og:image
      • twitter:card
  • check_usage

    Monitor your quota in real time so batch workflows never hit a surprise rate limit.
    • used
      • limit
      • resets_at
Self-hosted Puppeteer
First screenshotInstall Chromium, write launch, wait and scroll logicOne GET request with your API key
ServersA VPS with enough RAM for headless ChromeNothing to host or patch
Under loadBrowsers crash or leak memory, so you build a queueRequests are queued and scaled for you
Cookie banners & adsWrite and maintain your own blocking rulesblock_cookies=true
Lazy-loaded pagesCustom scroll scripts that break per sitefull_page=true scrolls everything in first
MaintenanceChrome updates break things every few monthsI keep the browsers updated for you
Cost when idleYou pay for the server even with zero capturesFree for 200 screenshots every month

Free

Get started with full screenshot capabilities.


$0free forever

200 screenshots / month

1 API key · 5 req/min

Starter

For small projects that need production-ready screenshots.


$9per month

3,000 screenshots / month

2 API keys · 15 req/min · $0.009 per extra

Pro

For growing businesses that need advanced customization.


$29per month

15,000 screenshots / month

5 API keys · 40 req/min · $0.006 per extra

Prices in USD, secure checkout via Paddle. Need more volume? Growth ($79) and Business ($119) go up to 100,000 screenshots a month.

Docker Headless Chrome WebGL: Why It Breaks and 3 Ways to Fix It

WebGL content renders as black rectangles in Docker because containers have no GPU. Three fixes: SwiftShader explicit opt-in, Mesa llvmpipe...

Oct 24, 2026

Puppeteer Screenshot Slow? 9 Fixes That Actually Work

Your Puppeteer screenshots take 5-7 seconds? Most of that time goes to Chrome startup, unnecessary network requests, and PNG encoding. These...

Oct 23, 2026

Puppeteer "Cannot Find Context with Specified Id" — Causes and Fixes

The error means Chrome invalidated an execution context ID while Puppeteer was still referencing it. This guide covers all five triggers, th...

Oct 22, 2026

Fix Puppeteer net::ERR_NAME_NOT_RESOLVED (6 Causes)

Oct 21, 2026

Frequently asked questions

Can't find what you need? Contact us or check the documentation.

Talk to the person who built it

Vitalii, founder of ScreenshotRun

API status → Changelog → Request a feature →

What is ScreenshotRun and how does it work?

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.

Is there a free plan? Do I need a credit card to start?

Yes! We offer a free plan that includes 200 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.

What image formats and output options are supported?

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.

How do I integrate the API into my project?

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 for detailed guides and parameter references.

Is the API reliable? What uptime do you guarantee?

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.

Can I capture screenshots of pages that require authentication?

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.

What happens if I reach my monthly screenshot limit?

We send a notification when you reach 80% of your monthly quota. On the Free plan, API requests return an error until the next billing cycle or until you upgrade. On paid plans, you can keep capturing beyond the limit at a small per-screenshot overage fee (see the pricing page for rates). Your existing screenshots and API key remain fully accessible either way.