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)
Built for production
Wait Conditions
Wait for elements to appear, network idle, or a timeout before capturing.
{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.
{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.
{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.
{blockCookieBanners: true,}
Auto-dismiss GDPR consent dialogs and cookie notices.
Block Chat Widgets
Hide Intercom, Drift, Zendesk and other live chat popups.
{blockChatWidgets: true,}
Hide Intercom, Drift, Zendesk and other live chat popups.
Batch Processing
Capture hundreds of URLs in parallel with shared configuration.
await stack0.screenshots.batchAndWait({urls,config,})
{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
Frequently asked questions
We use Chromium-based browsers with full JavaScript execution. This ensures accurate rendering of modern web apps, SPAs, and dynamic content.
Most screenshots complete in 1-3 seconds. Complex pages with heavy JavaScript may take longer. You can set custom timeouts and wait conditions.
Yes. You can pass cookies, headers, or use our session management to capture authenticated pages. Contact support for enterprise SSO integration.
We support viewports up to 3840x2160 (4K) with device scale factors up to 3x for high-DPI captures.
Specify a cache key and TTL to avoid redundant captures. Cached screenshots are served from our CDN for instant delivery.
Yes. Start a capture async and receive a webhook when complete. Perfect for background processing and CI/CD pipelines.
Ready to build?
Get started in minutes.