Skip to content

Screenshot API

Capture any webpage as an image. Full browser rendering with ad blocking, dark mode, and device emulation.

$1.00 / 1,000 screenshots

  • Multiple Output Formats
  • Full Page Capture
  • Device Emulation
const screenshot = await stack0.screenshots.captureAndWait({
url: 'https://example.com',
format: 'webp',
quality: 90,
width: 1200,
height: 630,
fullPage: true,
blockAds: true,
})
console.log(screenshot.imageUrl)
PNGJPEGWebPPDFDesktopMobile

Built for production

Wait Conditions

Wait for elements to appear, network idle, or a timeout before capturing.

optionsaccepted
{
waitForSelector: '.chart-loaded',
}

Wait for elements to appear, network idle, or a timeout before capturing.

Click Before Capture

Click buttons to reveal content, expand sections, or trigger interactions.

optionsaccepted
{
clickSelector: '.expand-all',
}

Click buttons to reveal content, expand sections, or trigger interactions.

Block Advertisements

Built-in ad blocking removes banner ads, popups, and ad network content.

optionsaccepted
{
blockAds: true,
}

Built-in ad blocking removes banner ads, popups, and ad network content.

Block Cookie Banners

Auto-dismiss GDPR consent dialogs and cookie notices.

optionsaccepted
{
blockCookieBanners: true,
}

Auto-dismiss GDPR consent dialogs and cookie notices.

Block Chat Widgets

Hide Intercom, Drift, Zendesk and other live chat popups.

optionsaccepted
{
blockChatWidgets: true,
}

Hide Intercom, Drift, Zendesk and other live chat popups.

Batch Processing

Capture hundreds of URLs in parallel with shared configuration.

stack0.screenshots200 OK
await stack0.screenshots.batchAndWait({
urls,
config,
})
response266 ms
{
id: "shot_1m21a",
status: "200 OK",
createdAt: "2026-09-02T14:03:06Z",
}
  • Multiple Output Formats

    Export as PNG, JPEG, WebP, or PDF. Control quality and compression for your use case.

  • Full Page Capture

    Capture the visible viewport, entire scrollable page, specific element, or custom region.

  • Device Emulation

    Desktop, tablet, or mobile viewports with Retina support. Custom dimensions up to 4K.

  • Content Blocking

    Remove ads, cookie banners, and chat widgets automatically for clean captures.

  • Dark Mode

    Force dark mode rendering using prefers-color-scheme emulation.

  • Custom CSS & JS

    Inject custom styles or JavaScript before capturing. Hide elements by selector.

Built for real applications

og:image Generation

Generate social preview images for blog posts, product pages, and dynamic content.

Simple, usage-based

$20/mo includes $10 of usage. Metered beyond that, at the same rate for everyone.

Screenshots

$1.00/ 1,000 screenshots


  • All output formats included
  • Full browser rendering
  • Content blocking included
  • Device emulation
  • Batch processing & webhooks
  • Response caching
  • CDN delivery included
Get Started

Frequently asked questions

Ready to build?

Get started in minutes.

Start Capturing