Capture Viewport & Full Page Website Screenshot Online

Convert any URL to a screenshot with a single API call. Capture full page or viewport screenshots in PNG, JPG, WebP, or PDF format with custom dimensions. Works with both public and authentication protected websites. Automatically blocks ads, cookie banners, and chat widgets - delivering clean, automation ready website screenshots with zero manual cleanup.

Block Cookies & Ads
Clip Screenshot
Inject CSS & JS
HTML to Screenshot
HTML to PNG

https://shot.screenshotapi.net/v3/screenshot?token={token}&url=https://ipgeolocation.io/&width=1680&height=876&fresh=true&file_type=webp

https://ipgeolocation.io/
1680
876
WEBP

Fresh

Scrolling Screenshot

Reliability at Scale

Built for Production Screenshot Automation

ScreenshotAPI is purpose-built for developer workloads not an afterthought. From solo projects to enterprise pipelines processing millions of captures, the infrastructure scales without you thinking about it.

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

URL to Screenshot
URL to Screenshot
https://ipgeolocation.io/
375
876
WEBP

Fresh

Scrolling Screenshot

Generate

Custom Viewport Screenshots - Test Any Screen Size & Resolution

With Custom Viewport, you can define the exact width and height of the browser window to capture screenshots that perfectly match your target breakpoints. 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.

URL to Screenshot
https://ipgeolocation.io/
body > main > div:nth-child(2) > div.bg-white.dark:bg-[#193251].relative
WEBP

Fresh

Scrolling Screenshot

Generate

Element Screenshot - Capture Any CSS Selector from a Webpage

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.

URL to Screenshot
https://ipgeolocation.io/
h1 { font-style: italic; text-decoration: underline; }
WEBP

Fresh

Scrolling Screenshot

Generate

Inject Custom CSS & JavaScript - Modify Webpage Rendering Before Screenshot Capture

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.

File Type Selector

Supported File Types

Select the file type you want to save your screenshot as. Several supported formats are available, including PNG, JPG, PDF, and more.

Block Cookie Banners & Ads

Block Ads
Block Ads Icon

Block Ads

Experience clean, distraction-free access to your content.

Block Chat Widgets
Block Chat Widgets Icon

Block Chat Widgets

Remove unnecessary chat widgets for a clean screenshot.

Block Cookie Banners
Block Cookie Banners Icon

No Cookie Banners

Automatically hide cookie pop-ups for uninterrupted screenshots.

Blur Screenshot
https://ipgeolocation.io/
body > main > div:nth-child(1) > section > h1
body > main > div:nth-child(1) > section > p
WEBP

Fresh

Scrolling Screenshot

Generate

Blur Sensitive Data Before Capture

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.

Remove Screenshot
https://ipgeolocation.io/
body > main > div:nth-child(1) > section > h1
body > main > div:nth-child(1) > section > p
WEBP

Fresh

Scrolling Screenshot

Generate

Remove Any Element Before 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.

Clip Screenshot
https://ipgeolocation.io/
340
250
600
300
Generate

Clip to Exact Coordinates - x, y, width, height

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.

Block External Resources

Recommended Combos

Use presets below to reach common outcomes quickly.

Clean content audit
block_js=true
block_media=true

Removes distractions; keeps CSS styling.

Raw HTML snapshot
block_js=true
block_stylesheets=true
block_media=true

Structure-only for diffs and crawlers.

Privacy-first view
block_fetch=true
block_js=true

Stops client calls and trackers.

ScreenshotAPI vs Do It Yourself

Why Build a Headless Browser Pipeline When the API Is Already Done?

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.

CapabilityDIY (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.

Screenshot Use Cases

Capture full-page screenshots to showcase websites, create detailed reports, preserve web pages, or share seamless content without missing any part of the page.

Website Monitoring

https://example.com
Auto Monitor

Monitor website changes and track visual updates by capturing screenshots at regular intervals using simple URL inputs.

Competitor Analysis

competitor-a.com
competitor-b.com
competitor-c.com
Batch Capture

Track competitor websites, pricing pages, and product launches by automatically capturing screenshots from URL lists.

Content Archival

Archive Queue
#ARC-2024
news-article.com
legal-doc.gov
policy-page.org
...
67% Complete
Archiving...

Preserve important web content by creating visual archives from URLs, perfect for legal documentation and compliance.

Social Media Previews

Twitter Preview
Facebook Preview
Auto Preview

Generate instant social media preview screenshots from URLs for content sharing and social media management platforms.

QA Testing

Staging
Production
/homepage
✓ PASS
/checkout
✗ DIFF
/profile
⟳ TEST

Automate visual regression testing by capturing screenshots of different URL endpoints across staging and production environments.

API Documentation

GET
/api/v1/docs
Response Example
API Reference
v1.2.0

Create visual documentation by capturing screenshots of API documentation pages, ensuring comprehensive developer resources.

Quick Start Guide

How the URL to Screenshot API Works

From zero to automated screenshot generation in three steps. No headless browser setup, no infrastructure management.

01

Get Your Free API Token

Authentication

Sign up in seconds - no credit card required. Your API token is available instantly in the dashboard. The free tier includes full access to every capture feature including full page screenshots, viewport customization, CSS injection, and ad blocking.

token=XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX
02

Construct Your Screenshot API Request

API Request

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.

url=https://example.com&width=1440&full_page=true
03

Receive & Use Your Screenshot

Image Output

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.

PNG / JPG / WebP / PDF returned

Try it before you integrate

Use the interactive Playground to fire live screenshot API requests and inspect responses in real time - no code required.

REST API · Zero Setup

Integrate the Screenshot API in Any Language

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.");

Frequently Asked Questions

If you are hesitating, do not worry - we are here to explain everything you might want to know. Let us help!

ScreenshotAPI is the cheapest website screenshot API that still delivers high-quality output. Even on the free tier, you get full access to all features including full page screenshot capture, custom viewport dimensions, ad blocking, and PNG/JPG/WebP output except bulk processing.

Use ScreenshotAPI's Scheduled Screenshot feature to automatically capture a target SERP page at regular intervals (daily or weekly) using cron expressions. Each capture produces a timestamped full page screenshot of the search results page, giving you a visual archive of ranking position changes over time.

Yes. ScreenshotAPI allows you to control how a webpage is rendered using the timezone parameter. This sets the browser’s timezone during capture, ensuring the screenshot reflects the correct local time and region-specific behavior. You can use standard IANA timezone formats (e.g., Australia/Perth) to simulate how a website appears in different regions.

ScreenshotAPI supports authenticated website screenshots, meaning you can pass session cookies or authentication headers to capture pages that require a login - including LinkedIn posts and profiles. Use the CSS selector feature to target the exact post element and capture only that component as a clean, cropped screenshot.

You can use ScreenshotAPI’s Sitemap Screenshot feature available in the dashboard. Simply enter a domain and click the sitemap screenshot option. The system automatically discovers all URLs listed in the website’s sitemap and captures screenshots of each page.
Once the process is complete, you receive a downloadable CSV file containing all the captured screenshots. This approach eliminates the need to manually compile URL lists or run custom automation scripts, making it the most efficient way to capture an entire website at scale.

Set the quality parameter to 100 and enable Retina mode to capture screenshots at 2x pixel density. This produces sharp, high-resolution full page screenshots with crisp text and accurate color rendering

Use our Bulk Screenshot API to capture full page screenshots of competitor landing pages, pricing pages, and product pages in a single batch. Enable extract_text to extract all visible page content alongside each screenshot. Schedule recurring captures via cron to track changes over time - giving you both visual and textual intelligence on competitor movements without any manual checking.

You can take the entire length of the web page in one shot. This is because the entire DOM is rendered, meaning that content that lies beyond the fold line is included. Just provide the URL of the page and select the full page option.

In cases where the social media thread being captured is public, you can obtain complete threads by setting the parameters of full_page and lazy_load to ensure that all comments and other dynamic content are captured in one screenshot.
For restricted threads or those requiring user credentials for access, cookies can be used to authenticate the session and capture the required content safely.