Capture JavaScript-rendered pages as images, with stealth mode, render delay, full-page scroll, and direct S3 output. No Puppeteer, no Chrome to manage.
A screenshot API for web scraping adds a visual layer to any data pipeline. Instead of managing a headless browser, you send a single REST request and get back a timestamped image of the fully rendered page. JavaScript is executed, lazy-loaded content is resolved, and stealth mode is applied automatically.
Every parameter you need to capture dynamic pages accurately and at scale.
Playwright fingerprint spoofing on every request. Bypasses most bot detection without any extra config.
Set a delay (ms) or wait for a CSS selector to be visible before capturing. Essential for SPAs and lazy-loaded content.
Capture the entire scrollable page, not just the viewport. Useful for archiving and visual diffing.
Spoof geolocation and locale to capture region-specific content accurately.
Set any width/height. Emulate mobile, tablet, or desktop, including retina @2x and @3x.
Route every capture directly to your own S3 bucket for archival, diffing, or downstream processing.
Works alongside existing HTML scrapers. Add visual capture with one extra request.
# Capture a JS-rendered page with stealth mode curl "https://screenshotcore.com/api/v1/screenshot" \ -G \ --data-urlencode "url=https://example.com/product/123" \ --data-urlencode "full_page=true" \ --data-urlencode "stealth=true" \ --data-urlencode "block_ads=true" \ --data-urlencode "delay=2000" \ --data-urlencode "output=image" \ --data-urlencode "token=YOUR_API_KEY" \ -o page_capture.jpg
HTML scrapers tell you what is on a page. Screenshots tell you how it looks and prove it at a point in time. Combine both: use HTML scraping for data extraction, and ScreenshotCore for visual archival, price change evidence, layout diffs, and compliance records.
Common questions about using a screenshot API for web scraping.
Yes. The API renders pages in a real headless browser with full JavaScript execution, including SPAs built with React, Vue, or Angular. Use the delay parameter to wait for JS to finish rendering, or wait_for_selector to hold until a specific element is visible before capturing.
Stealth mode applies Playwright fingerprint spoofing on every request, randomizing browser fingerprints to avoid common bot detection signals. It bypasses most standard anti-bot measures without any extra configuration on your end. Enable it with stealth=true.
Pass full_page=true in your API request. The browser scrolls to the bottom of the page and stitches a full-height screenshot, capturing all lazy-loaded content, infinite scroll sections, and below-the-fold elements. Combine with delay to wait for deferred content to load.
Yes. Configure Bring Your Own S3 in your account settings and every capture will be uploaded automatically to your bucket. You get the S3 URL back in the API response. No manual upload step, no temporary storage to manage.
100 free captures per month. No credit card. No browser to spin up.
Get your free API key →