PNG
LosslessLossless Quality
Perfect for UI screenshots, text-heavy pages, and documentation where every pixel must be sharp. Zero compression artifacts.
ScreenshotAPI is both an online website screenshot generator and a developer API. Paste a link to take a website screenshot online in seconds, or call the endpoint to turn any URL into a screenshot programmatically. Capture the full page or a fixed viewport as a PNG, JPG, WebP, or PDF, with ads, cookie banners, and chat widgets removed automatically before capture.
https://shot.screenshotapi.net/v3/screenshot?token={token}&url=https://ipgeolocation.io/&width=1680&height=876&fresh=true&file_type=webp
ScreenshotAPI runs the same capture pipeline for a single request and for batches of millions. A 99.9% uptime SLA, sub-3-second average render time, and automatic concurrency handling mean you do not manage browsers, queues, or retries.
99.9%
Uptime SLA
Enterprise-grade reliability backed by a formal SLA commitment.
< 3s
Avg. Render Time
Most screenshots render and return in under 3 seconds globally.
88M+
Screenshots Processed
Over 88 million automated captures served across developer workflows.
10K+
Developers & Teams
Used by startups, agencies, and enterprise engineering teams worldwide.
Live uptime and incident history available at status.screenshotapi.net
With Custom Viewport, define the exact width and height to match your target breakpoints. For long pages, switch to a full page screenshot; to export the result as a document, save the webpage as a PDF without cutting off content. Whether you’re testing:
Custom viewport dimensions ensure every screenshot looks exactly as expected across devices. Essential for responsive design testing, cross browser QA, and CI/CD pipelines where consistent, reproducible results are critical.
Fresh
Scrolling Screenshot
Skip the full page screenshot and capture only the exact element that matters. By specifying a CSS selector, ScreenshotAPI grabs a clean, precise screenshot of any component — charts, buttons, product images, or any page section. Reduces image size, speeds up screenshot automation workflows, and gives you pixel-perfect control over what's captured.
Fresh
Scrolling Screenshot
Customize the page before capture with Inject CSS & JS. Add inline CSS to hide cookie banners, fix sticky headers, or tweak spacing, and run lightweight JavaScript to open modals, trigger lazy-loaded content, or wait for data to render - then snap the perfect shot. This gives you clean, on-brand screenshots without manual editing, ideal for demos, testing, and documentation.
Output Formats
Choose the output that fits your workflow. Every format supports full-page or viewport capture and retina (2×) pixel density.
Lossless Quality
Perfect for UI screenshots, text-heavy pages, and documentation where every pixel must be sharp. Zero compression artifacts.
Smaller File Size
Ideal when bandwidth matters and minor compression is acceptable - social previews, email embeds, and large-scale monitoring.
Best Compression Ratio
Google's modern format delivers the smallest file at comparable visual quality - the optimal choice for web-embedded screenshots.
Print-Ready Archival
Capture full-page renders as single-file PDFs - essential for legal archival, compliance documentation, and print workflows.
Set file_type=png|jpg|webp|pdf in any API request. See format docs →
Fresh
Scrolling Screenshot
Hide sensitive info without editing tools. With Blur Selector, target any element via CSS selector - like emails, prices, IDs, or avatars - and automatically blur it before capture for clean, privacy-safe screenshots. This makes it easy to share or archive screenshots without exposing confidential data.
Fresh
Scrolling Screenshot
Cut the clutter in one step. Use Remove Selector to strip out banners, popups, sticky headers, or any distracting element by CSS selector so your screenshot highlights only what matters. It’s the simplest way to keep your screenshots focused, professional, and distraction-free.
Capture just the area you need. Clip Screenshot lets you define an exact rectangle (x, y, width, height) to crop the page before saving - perfect for components, hero sections, or above-the-fold views. This gives you lightweight images that load faster and show only the content you care about.
Use presets below to reach common outcomes quickly.
block_js=trueblock_media=trueRemoves distractions; keeps CSS styling.
block_js=trueblock_stylesheets=trueblock_media=trueStructure-only for diffs and crawlers.
block_fetch=trueblock_js=trueStops client calls and trackers.
There are three common ways to turn a URL into a screenshot. The right choice depends on your scale, team capacity, and how much infrastructure you want to own.
Manual - one page at a time
Puppeteer · Playwright · Chromium
Single HTTP request - no infra
The comparison below focuses on production-scale screenshot generation and compares the self-hosted headless browser approach with using a managed Screenshot API - the two options relevant to engineering teams building automation pipelines.
Puppeteer and Playwright are powerful tools but running a production-grade, scalable screenshot service on top of them means maintaining servers, handling memory leaks, writing retry logic, and keeping browsers updated. ScreenshotAPI handles all of that so your team can ship faster.
| Capability | DIY (Puppeteer / Playwright) | ScreenshotAPI |
|---|---|---|
| Setup time | Hours to days | < 5 minutes |
| Ad & cookie banner blocking | Manual configuration by adding thousands of rules | Built-in, one parameter |
| Full page screenshots | often buggy on large pages | Native support |
| CSS selector capture | Custom scripting required | Single API parameter |
| Authentication / cookie injection | Session management overhead | Pass cookies via parameter |
| Concurrent screenshot scaling | Queue engineering required | Handled automatically |
| Retina / high-res output | Manual deviceScaleFactor setup | retina=true parameter |
| Scheduled recurring captures | CRON + custom infra | Native scheduled screenshots |
| Blur or Remove Sections | Requires custom scripting | Built-in support |
Stop maintaining infrastructure. Start shipping features.
Replace your entire headless browser pipeline with a single HTTP request. Free tier available - no credit card required.
Capture full-page screenshots to showcase websites, create detailed reports, preserve web pages, or share seamless content without missing any part of the page.
Monitor website changes and track visual updates by capturing screenshots at regular intervals using simple URL inputs.
Track competitor websites, pricing pages, and product launches by automatically capturing screenshots from URL lists.
Preserve important web content by turning any website link into a screenshot archive. A quick web snapshot from a URL, perfect for legal documentation and compliance.
Generate instant social media preview screenshots from URLs for content sharing and social media management platforms.
Automate visual regression testing by capturing screenshots of different URL endpoints across staging and production environments.
Create visual documentation by capturing screenshots of API documentation pages, ensuring comprehensive developer resources.
From zero to automated screenshot generation in three steps. No headless browser setup, no infrastructure management.
Sign up in seconds - no credit card required. This URL screenshot generator gives you an API token instantly, with full access on the free tier to every capture feature: full page screenshots, viewport customization, CSS injection, and ad blocking. You can even take a screenshot of an entire web page on Mac or Windows without installing anything.
Pass your target URL and capture parameters as query string arguments to the REST endpoint. Choose your output format (PNG, JPG, WebP, or PDF), set viewport dimensions, enable full-page capture, and apply any filters, all in a single GET request.
The API responds with your screenshot image - ready to store in S3, render in your UI, send to a pipeline, or archive. Integrate with cloud storage via native Storage Integration, or pipe directly into Zapier, Make, n8n, and other automation platforms.
Try it before you integrate
Use the interactive Playground to fire live screenshot API requests and inspect responses in real time - no code required.
ScreenshotAPI is a simple RESTful HTTP API that can be accessed from any language or framework that supports HTTP requests.
const axios = require("axios");
const fs = require("fs");
const params = new URLSearchParams({
token: "YOUR_API_TOKEN",
url: "https://example.com",
width: "1440",
height: "900",
file_type: "png",
full_page: "true",
no_cookie_banners: "true",
block_ads: "true",
selector: ".pricing-table",
remove_selector: ".info",
});
const response = await axios.get(
`https://shot.screenshotapi.net/v3/screenshot?${params}`,
{ responseType: "arraybuffer" }
);
fs.writeFileSync("screenshot.png", response.data);
console.log("Screenshot saved.");If you are hesitating, do not worry. We are here to explain everything you might want to know. Let us help!
Don't see your question here?
Browse all help articles