Website Screenshots, PDF & HTML Capture avatar

Website Screenshots, PDF & HTML Capture

Pricing

from $14.00 / 1,000 captured pages

Go to Apify Store
Website Screenshots, PDF & HTML Capture

Website Screenshots, PDF & HTML Capture

Capture public website URLs as PNG, JPEG or PDF, with optional mobile images, rendered HTML and per-page metadata.

Pricing

from $14.00 / 1,000 captured pages

Rating

0.0

(0)

Developer

tingyou333 zhuang

tingyou333 zhuang

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

Capture public web pages as PNG, JPEG or PDF, with optional mobile screenshots and rendered HTML. Use the files for website reviews, client reports, archives and scheduled checks. Each Dataset row connects its input URL to saved files, page metadata and capture diagnostics.

Quick start

{
"startUrls": [{"url": "https://apify.com/"}],
"maxItems": 10,
"viewport": {"width": 1920, "height": 1080},
"fullPage": true,
"format": "png",
"captureMobile": false,
"captureHtml": true,
"waitForSelector": "",
"waitMs": 2000,
"navigationTimeoutSecs": 45
}

These are this Actor's defaults. Start with one public page and inspect its image and diagnostics before scheduling a larger collection.

Inputs

InputDefaultPurpose
startUrlsOne https://apify.com/ URLList of { "url": "…" } objects.
maxItems10Maximum URL occurrences to process, from 1 to 1,000,000.
viewport1920 × 1080Desktop CSS-pixel width and height; each supports 64–4096.
fullPagetrueCapture the scrollable page within finite limits; false captures the viewport.
formatpngDesktop png, jpeg or pdf. JPEG quality is 85.
captureMobilefalseSave an additional mobile image for each processed URL.
captureHtmltrueSave the rendered desktop DOM as HTML.
waitForSelectorEmpty stringWait for a visible CSS selector before capture.
waitMs2000Additional wait, 0–60,000 milliseconds.
navigationTimeoutSecs45Navigation timeout per desktop or mobile variant, 5–180 seconds.

Mobile uses a 390 × 844 CSS-pixel viewport with device pixel ratio 3. With desktop PDF, the additional mobile image is PNG. Full-page captures scroll to trigger lazy content and wait for fonts and images within finite deadlines. Pages that keep loading or changing can still produce partial captures.

PDF uses the page's print layout. With fullPage: true, all generated print pages are saved within the document limit; with false, only the first print page is saved. pdfPageCount and pdfPageScope describe the saved document.

Output

The default Dataset contains capture and diagnostic rows. Screenshots, PDFs and HTML are stored in the default key-value store. The Output tab links to the Dataset, SUMMARY and OUTPUT records.

Rows include:

  • url, finalUrl, title, screenshotAt, httpStatus, format, viewport, fullPage, pageLoadTimeMs and sizeBytes.
  • screenshotKey / screenshotUrl, optional mobileScreenshotKey / mobileScreenshotUrl, and optional htmlSnapshotKey / htmlSnapshotUrl.
  • metaTags, openGraph, twitterCard, pageHeadings, consoleErrors and limited technologies hints.
  • success, partial, diagnostics, artifact hashes, dimensions and mobile-specific status when applicable.

Site-dependent metadata can be empty. Technology hints are not a comprehensive technology audit. Failed rows can omit page metadata and contain null artifact links. Dataset exports in JSON, CSV, Excel or XML contain metadata and file links; download referenced files separately. Access and retention follow the run's Apify storage settings.

Billing and incomplete work

The base event is charged after a captured desktop file and its Dataset row are saved. The additional mobile event is charged only after the mobile file is saved too. Failed captures and diagnostic rows are uncharged. A usable partial capture can incur the corresponding capture fee; inspect partial and diagnostics before relying on it. Current event fees and platform usage allocation are shown in the Store.

The native Unlimited maximum-cost setting is supported. With no event-fee budget set, the Actor processes admitted URL occurrences within maxItems and its runtime/resource limits. A finite budget is checked before each page and each event; desktop plus mobile must fit together before capture starts. For API runs, set maxTotalChargeUsd in the run options if you want an event-fee limit. This run option is separate from the ten Actor inputs and does not cap platform resource usage.

Each input occurrence is processed separately in this implementation, including repeated URLs. Mobile does not consume another maxItems slot. SUMMARY records delivered, failed, partial and unprocessed counts, quantity limits and budget stops. A quantity cap does not mean all input URLs were captured. An uncertain delivery or charge stops processing without automatically repeating it.

Limits and suitable pages

This Actor uses fresh browser contexts for public HTTP/HTTPS pages. It has no input for login credentials, cookies, custom headers or proxies. Private/internal addresses are rejected. Challenges, access denials and blank pages produce explicit failures rather than successful empty results.

Per URL, captures are bounded at 1,024 page requests, 256 connections, 64 MiB relayed network data, 8 redirects, 16 MiB per artifact, 32 MiB combined artifacts, 2 MiB rendered HTML and 256 KiB metadata. Page height is limited to 16,000 CSS pixels, raster images to 60 million pixels and PDFs to 256 pages. Full-page scrolling has an 8-second budget, followed by waits of up to 3 seconds each for fonts and images. Limits and unavailable resources remain visible in diagnostics.

Animations, responsive layouts, print styles, lazy content and blocked resources can change the image. Scheduled runs provide separate snapshots for comparison; this Actor does not include a persistent visual-diff service.