Capture Viewport & Full Page Website Screenshots

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.

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 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

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, 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.

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.

Output Formats

PNG, JPG, WebP, and PDF Output Formats

Choose the output that fits your workflow. Every format supports full-page or viewport capture and retina (2×) pixel density.

PNG

Lossless

Lossless Quality

Perfect for UI screenshots, text-heavy pages, and documentation where every pixel must be sharp. Zero compression artifacts.

JPG

Compressed

Smaller File Size

Ideal when bandwidth matters and minor compression is acceptable - social previews, email embeds, and large-scale monitoring.

WebP

Recommended

Best Compression Ratio

Google's modern format delivers the smallest file at comparable visual quality - the optimal choice for web-embedded screenshots.

PDF

Full Page

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 →

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.

URL to Screenshot: Choosing the Right Capture Method

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.

Ad-hoc

Browser Extensions

Manual - one page at a time

  • Zero setup
  • Works for ad-hoc tasks
  • Not automatable
  • One screenshot at a time
  • No API integration
Maximum Control

Self-Hosted Headless Browsers

Puppeteer · Playwright · Chromium

  • Maximum control
  • Fully customisable logic
  • No external dependency
  • Server maintenance required
  • Memory-leak management
  • Browser version overhead
Recommended

Screenshot API

Single HTTP request - no infra

  • < 5 min integration
  • Scales automatically
  • Ad & banner blocking built-in

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.

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 turning any website link into a screenshot archive. A quick web snapshot from a URL, 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. 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.

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!

Don't see your question here?

Browse all help articles