Generate high-quality screenshots of any webpage programmatically. Support for full-page captures, custom viewports, dark mode, ad blocking, and more.
$ curl -X POST https://api.screenshotapi.dev/v1/screenshot \
-H "x-api-key: sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://github.com", "fullPage": true}'“We switched from a homegrown Puppeteer solution and cut our infrastructure costs by 60%. The API just works.”
Sarah Chen
CTO, LinkPreview.io
“ScreenshotAPI powers all our automated visual regression tests. Sub-2-second response times are a game changer.”
Marcus Rivera
Lead Engineer, TestHarness
“The ad-blocking and dark mode features saved us weeks of development time. Incredible developer experience.”
Priya Patel
Founder, SocialCards.dev
A comprehensive API with all the options to capture exactly what you need.
Capture entire pages including below-the-fold content with lazy-loading support.
Set exact width and height, or use device presets for desktop and mobile.
Render pages as they appear on mobile or desktop with accurate user agents.
Force dark color scheme for any website with prefers-color-scheme emulation.
Block intrusive ads and cookie consent banners for clean captures.
Export as PNG, JPEG, or WebP with configurable quality settings.
Powered by Chromium for sub-2-second screenshot generation.
One endpoint, rich parameters. Integrate with curl, JS, Python, or any language.
Control wait strategies: load, domcontentloaded, or networkidle.
Choose IP location for region-specific content rendering.
Get notified when screenshots are ready with configurable webhooks.
Automatically upload screenshots to your S3 bucket.
Enter any URL and see the API in action. 5 free demos per day, no account required.
Simple REST API works with any language. Copy, paste, and start capturing.
curl -X POST https://screenshotapi.site/api/v1/screenshot \
-H "x-api-key: sk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://github.com",
"fullPage": true,
"format": "png",
"viewport": { "width": 1280, "height": 800 }
}' \
--output screenshot.pngStart free, scale as you grow. Only pay for successful screenshots.