Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
Skip to content
World desk7 min

How Developers Can Generate Full-Page Website Screenshots and PDFs with an API

Use Puppeteer or Playwright for full-page browser captures, configure Puppeteer’s PDF rendering for print or screen styles, and compare the trade-offs of a hosted screenshot API.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To capture an entire scrollable page with a browser you control, use Puppeteer or Playwright and set fullPage: true. To make a PDF with Puppeteer, call page.pdf(); it uses print styles by default. A hosted screenshot API is simpler when you want to send a URL and receive an image or PDF without running browser infrastructure yourself.

Choose between browser automation and a hosted API

A self-managed browser gives you direct control over navigation, page state, and rendering, but you must operate the browser environment and decide when a page is ready. A hosted API handles rendering behind a request, which can reduce setup for straightforward URL-to-image or URL-to-PDF jobs. Compare services by input type, output formats, full-page support, readiness controls, quotas, caching, and current price; those details vary and can change.

As an Amazon Associate I earn from qualifying purchases.

Approach Useful when Trade-off
Puppeteer or Playwright You need code-level browser control or an existing browser-automation workflow. You manage browser deployment, maintenance, and page-readiness logic.
Hosted rendering API You want to submit a URL or HTML and receive a rendered file without operating a browser. Options, request limits, caching, prices, and failure handling depend on the provider; check current documentation and pricing.

For a hosted option, ScreenshotNeo is a website screenshot API and MCP server. It puts clean captures first, bills only clean shots, and has a $5 paid plan for 3,000 shots.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Generate a full-page screenshot with Puppeteer

Puppeteer’s documented workflow is to launch a browser, open a page, navigate to the URL, and capture it. Set fullPage: true to capture the entire page rather than only the visible viewport. Install Puppeteer in your project with npm install puppeteer; the example below saves a PNG.

#1 Best Overall
Sale
Epson Workforce ES-50 Compact & Lightweight Mobile Document Scanner
  • PORTABLE SCANNER FOR USE ON-THE-GO — The fastest and lightest mobile single-sheet-fed compact document scanner in its class¹
  • QUICK DOCUMENT SCANNING ― This Epson ultra-fast scanner scans a single page as quickly as 5.5 seconds²; Windows and Mac compatible
  • VERSATILE PAPER HANDLING ― Portable scanner scans documents up to 8.5 x 72 in; Also easily digitizes receipts and ID cards to make accounting, bookkeeping, and organizing simpler
  • INTUITIVE, HIGH-SPEED SOFTWARE — Epson ScanSmart Software³ is a smart tool allowing you to easily scan, review, and save; Stay organized easily with the help of this Epson scanner
  • EASY SETUP — USB-powered connect to your computer for quick and simple scanning; No batteries or external power supply required to operate portable document scanner; Standard Connectivity: USB 2.0
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  try {
    const page = await browser.newPage();
    await page.goto('https://example.com', { waitUntil: 'networkidle2' });
    await page.screenshot({ path: 'page.png', fullPage: true });
  } finally {
    await browser.close();
  }
})();

networkidle2 is one navigation-wait strategy, not proof that every application has finished rendering. Pages may load content after navigation, including content triggered by scrolling. For those cases, wait for an application-specific selector or perform the interaction that reveals the content before capturing. If you use a fixed delay, choose it based on the page’s behavior rather than assuming one delay works everywhere.

Generate a full-page screenshot with Playwright

Playwright also supports full-page screenshots. Its documentation describes this as capturing the entire scrollable page as though it were displayed on a very tall screen. Install the package with npm install playwright, then run:

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
  try {
    const page = await browser.newPage();
    await page.goto('https://example.com', { waitUntil: 'networkidle' });
    await page.screenshot({ path: 'page.png', fullPage: true });
  } finally {
    await browser.close();
  }
})();

As with Puppeteer, choose a readiness condition that matches the site. Network idleness can be unsuitable for pages that keep requests open or load important content later. Waiting for a meaningful selector can be more reliable when the target element signals that the content you need is present.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Create a PDF with Puppeteer

page.pdf() renders using print CSS by default. If you want the PDF to follow screen media styles instead, call page.emulateMediaType('screen') before generating it. Puppeteer documents that PDF generation waits for fonts by default, but your application still needs to account for dynamic content and page readiness.

Rank #2
Sale
Brother DS-640 Compact Mobile Document Scanner, (Model: DS640)
  • FAST SPEEDS - Scans color and black and white documents a blazing speed up to 16ppm (1). Color scanning won’t slow you down as the color scan speed is the same as the black and white scan speed.
  • ULTRA COMPACT – At less than 1 foot in length and only about 1. 5lbs in weight you can fit this device virtually anywhere (a bag, a purse, even a pocket).
  • READY WHENEVER YOU ARE – The DS-640 mobile scanner is powered via an included micro USB 3. 0 cable allowing you to use it even where there is no outlet available. Plug it into you PC or laptop and you are ready to scan.
  • WORKS YOUR WAY – Use the Brother free iPrint&Scan desktop app for scanning to multiple “Scan-to” destinations like PC, Network, cloud services, Email and OCR. (2) Supports Windows, Mac and Linux and TWAIN/WIA for PC/ICA for Mac/SANE drivers. (3)
  • OPTIMIZE IMAGES AND TEXT – Automatic color detection/adjustment, image rotation (PC only), bleed through prevention/background removal, text enhancement, color drop to enhance scans. Software suite includes document management and OCR software. (4)
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  try {
    const page = await browser.newPage();
    await page.goto('https://example.com', { waitUntil: 'networkidle2' });

    // Keep this line if the PDF should use screen styles instead of print styles.
    await page.emulateMediaType('screen');

    await page.pdf({
      path: 'page.pdf',
      format: 'A4',
      printBackground: true
    });
  } finally {
    await browser.close();
  }
})();

Remove the emulateMediaType('screen') line to use the default print-media rendering. The format and printBackground values above are example output settings; adjust paper size and background treatment to your document requirements.

Check color and print layout

Print rendering can change colors compared with the on-screen page. When exact colors matter, Puppeteer documents the CSS property -webkit-print-color-adjust as a way to force exact colors. For example, add a print rule to the page’s stylesheet:

@media print {
  * {
    -webkit-print-color-adjust: exact;
  }
}

Inspect the resulting PDF: print styles can also change layout, hide elements, or alter page breaks. Confirm that the actual output matches the intended document instead of assuming the browser view and PDF will be identical.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Account for lazy content and page readiness

Full-page capture means a taller output, but it does not guarantee that every image or dynamically rendered section has loaded. Before capture:

Rank #3
Sale
Epson Workforce ES-400 II High-Speed Color Duplex Desktop Document Scanner
  • FAST DOCUMENT SCANNING — Document scanner with feeder allows you to speed through stacks with a 50-sheet Auto Document Feeder (ADF); Efficient office scanner to help you scan more productively
  • INTUITIVE, HIGH-SPEED SOFTWARE — Quickly scan with this desktop document scanner; Epson ScanSmart Software lets you easily preview scans, email files, upload to the cloud, and more; Plus, automatic file naming saves even more time
  • SEAMLESS INTEGRATION — Easily incorporate your data into most document management software with the included TWAIN driver; Office document scanner integrates seamlessly with business workflows
  • EASY SHARING — Duplex scanner allows you to scan straight to email or popular cloud storage2 services like Dropbox, Evernote, Google Drive, and OneDrive for simple storage and sharing
  • SIMPLE FILE MANAGEMENT — Scanner allows the creation of searchable PDFs with Optical Character Recognition (OCR) and convert scans to editable Word or Excel files effortlessly; Designed for home and office document scanning
  • Wait for a selector that appears only when the needed content is ready.
  • For lazy-loaded images or sections, scroll through the page or trigger the relevant interaction before taking the screenshot. ScreenshotOne documents scrolling to trigger lazy-loaded content; behavior and controls differ by provider.
  • Use Puppeteer’s documented font-wait behavior for PDFs, while separately checking application data and late-running scripts.
  • For long pages, verify the output dimensions or PDF page breaks and ensure the page has not been truncated or left with blank sections.

A capture workflow should define what “ready” means for its target site. Waiting for navigation alone may be insufficient for a single-page app, a page with delayed API responses, or a document whose content appears only after scrolling.

Use ScreenshotNeo instead of operating a browser

Or skip the browser setup: ScreenshotNeo accepts a URL in one GET request and can return an image or PDF. Its capture workflow accepts cookie or consent banners as a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Failed loads, blank pages, bot checks or CAPTCHAs, timeouts, and cache hits are not billed, and response headers report the page verdict and billing status. It also has an MCP server with take_screenshot, get_page_info, and capture_pdf tools for AI agents using Claude, Cursor, or another MCP client.

The following cURL request saves a WebP screenshot of the target URL. Replace YOUR_API_KEY with your key. See the ScreenshotNeo API documentation for available parameters, PDF output, and other capture options.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

The request shown uses stripe.com as its example target. ScreenshotNeo also accepts commonly used screenshot API parameter names to make switching easier. Its features include full-page capture with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets or a custom viewport, retina scale, PDF paper size/margins/orientation/page ranges, HTML/CSS-to-image, custom CSS and JavaScript, click-before-capture, selector hiding, waits for selectors/delay/network idle, blocking ads/trackers/requests/resource types, custom headers/cookies/user agent/Authorization, timezone and geolocation, transparent backgrounds, image resizing, configurable cache TTL, signed public-image links, async jobs with signed webhooks, bulk capture of up to 100 URLs per call, a usage API, and an OpenAPI specification.

ScreenshotNeo’s plans are monthly allowances; every feature is available on every plan. Yearly billing gives two months free.

Rank #4
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
  • Scanner type: Document
  • Connectivity technology: USB
  • With Auto Scan Mode, the scanner automatically detects what you're scanning
  • Digitize documents and images
Plan Price Monthly shots
Free $0 1,000
Starter $5 3,000
Growth $15 15,000
Pro $39 60,000
Scale $99 250,000
Business $249 1,000,000

Start with 1,000 free screenshots a month with no card required.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot incomplete or unexpected output

The screenshot shows only the visible viewport

Set fullPage: true in the Puppeteer or Playwright screenshot options. If you are using a hosted API, confirm that full-page capture is supported and enabled for the request.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Images or sections are missing

The page may use lazy loading or delayed application rendering. Scroll through the page, wait for a content-specific selector, or trigger the interaction that loads the missing section, then capture again.

The PDF looks different from the browser

Puppeteer uses print CSS by default for page.pdf(). Use page.emulateMediaType('screen') before generating the PDF if screen styles are desired. If print output is intentional, check print-specific CSS, color adjustment, backgrounds, and page breaks in the resulting file.

Best Value
Sale
ScanSnap iX2500 Wireless or USB High-Speed Document Scanner, Black
  • OUR MOST ADVANCED SCANSNAP. Large touchscreen, fast 45ppm double-sided scanning, 100-sheet document feeder, Wi-Fi and USB connectivity, automatic optimizations, and support for cloud services. Upgraded replacement for the discontinued iX1600
  • CUSTOMIZABLE. SHARABLE. Select personalized profiles from the touchscreen. Send to PC, Mac, mobile devices, and clouds. QUICK MENU lets you quickly scan-drag-drop to your favorite computer apps
  • STABLE WIRELESS OR USB CONNECTION. Built-in Wi-Fi 6 for the fastest and most secure scanning. Connect to smart devices or cloud services without a computer. USB-C connection also available
  • PHOTO AND DOCUMENT ORGANIZATION MADE EFFORTLESS. Easily manage, edit, and use scanned data from documents, receipts, photos, and business cards. Automatically optimize, name, and sort files
  • AVOIDS PAPER JAMS AND DAMAGE. Features a brake roller system to feed paper smoothly, a multi-feed sensor that detects pages stuck together, and skew detection to prevent paper damage and data loss

The PDF has blank areas or stale content

Navigation completion does not necessarily mean that dynamic content is ready. Wait for the required selector or application state before calling page.pdf(), and verify that fonts and data have loaded.

A hosted API returns an error or an unexpected billable result

Check that the URL is reachable by the provider, inspect the response status and provider-specific headers, and confirm the service’s current rules for quotas, caching, failures, and billing. For ScreenshotNeo, use the X-Page-Verdict and X-Billed response headers to see the reported page result and billing status.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep reliability and cost decisions tied to your workload

With Puppeteer or Playwright, the request cost is only part of the operational picture: your team must provision and maintain browser execution and handle retries, timeouts, and page readiness. With a hosted API, compare its current quotas, request rates, cache behavior, and treatment of failed renders before choosing. Vendor feature and pricing pages are the appropriate place to verify current limits; published plans can change, and they are not independent reliability benchmarks.

Other documented hosted options include ScreenshotOne, which describes full-page screenshots and URL, HTML, or Markdown-to-PDF output; Urlbox, which lists full-page capture and URL/HTML-to-PDF; Browserless, which offers screenshot and PDF APIs as well as Puppeteer and Playwright scripting; and Cloudflare Browser Run, which documents quick screenshot/PDF actions and sessions through Puppeteer, Playwright, or CDP. See ScreenshotOne documentation, ScreenshotOne pricing, Urlbox pricing, Browserless, and Cloudflare Browser Run documentation for provider details; check their current terms before adopting them.

Frequently Asked Questions

Does Puppeteer’s full-page screenshot capture content that appears only after scrolling?

Not necessarily. Trigger lazy loading or other page interactions and wait for the content before capturing.

Can I make a PDF use screen styles rather than print styles?

Yes. With Puppeteer, call page.emulateMediaType('screen') before page.pdf().

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Can a hosted rendering API return a PDF as well as an image?

Some can, but confirm the provider’s current output formats and controls in its documentation.

Quick Recap

Bestseller No. 4
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Canon Canoscan Lide 300 Scanner (PDF, AUTOSCAN, Copy, Send)
Scanner type: Document; Connectivity technology: USB; With Auto Scan Mode, the scanner automatically detects what you're scanning
$75.00

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.