September 24, 2026 · 14 min read
Ultimate Website Screenshot / PDF / Video: $2.00 per 1,000 Results
Each record returns 9 output fields including direct download links, file sizes, and UTC timestamps for captured assets. Captures can be rendered as JPEG, PNG, PDF, GIF, or MP4 using 31 device presets that emulate everything from an iPhone 15 Pro Max to a 4K desktop monitor. A thousand results cost $2.00 on Apify's free plan, which provides $5.00 of prepaid usage monthly for up to 2,500 results. This is for developers building visual regression tests, compliance archives, or social preview generators. It is not for teams requiring the extraction of structured text data or bypassing hard CAPTCHA gates that block all browser traffic.
Try it before you read further. Apify's free plan includes $5.00 of usage every month with no credit card, enough for up to 2,500 results at $0.002 each before platform usage. Open Ultimate Website Screenshot / PDF / Video on Apify and run the prefilled example.
How reliable is Ultimate Website Screenshot / PDF / Video in production?
Across the last 30 days of public runs on the Apify platform, Ultimate Website Screenshot / PDF / Video recorded 53 runs with the following outcomes.
| Outcome | Runs | Share |
|---|---|---|
| Succeeded | 49 | 92.5% |
| Failed | 4 | 7.5% |
| Aborted by the user | 0 | 0.0% |
| Timed out | 0 | 0.0% |
| Total | 53 | 100.0% |
Expect about 8 in a hundred runs to fail or time out based on recent platform telemetry. When scheduling this Actor for unattended production use, you should build retries into your workflow and monitor the dataset for error records. These outcomes suggest that while the majority of runs are successful, automated alerting is necessary for high-volume pipelines.
What does it cost to run Ultimate Website Screenshot / PDF / Video?
Each result costs $0.002 on Apify's free plan, which is $2.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.
| Apify plan | Per result | Per 1,000 results |
|---|---|---|
| FREE | $0.002 | $2.00 |
| BRONZE | $0.00167 | $1.67 |
| SILVER | $0.00133 | $1.33 |
| GOLD | $0.001 | $1.00 |
| PLATINUM | $0.001 | $1.00 |
| DIAMOND | $0.001 | $1.00 |
Worked example: collecting 10,000 results costs $20.00 in result charges before run-start fees and platform usage. With 7.5% of runs failing or timing out in the last 30 days, budget for re-running a portion of those batches rather than assuming every run completes.
The number of entries in the linkUrls array has the largest effect on your bill because each URL captured results in a separate dataset item charge. The cheapest way to verify your configuration is to run a single URL on Apify's free plan to confirm the visual output meets your needs before scaling. Result charges apply only to items written to the dataset, though platform usage is billed separately.
How do you run Ultimate Website Screenshot / PDF / Video from the API?
The schema marks 1 of its 25 controls as required: linkUrls. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.
Call the synchronous endpoint to start a run and receive dataset items in one request:
curl -X POST "https://api.apify.com/v2/acts/crawlerbros~ultimate-screenshot/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"linkUrls":["https://apify.com"]}'
The same run from Python, using the official client:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"linkUrls": [
"https://apify.com"
]
}
run = client.actor("crawlerbros~ultimate-screenshot").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
And from Node.js:
import { ApifyClient } from 'apify-client'
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
const input = {
"linkUrls": [
"https://apify.com"
]
}
const run = await client.actor('crawlerbros~ultimate-screenshot').call(input)
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)
That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.
Which Ultimate Website Screenshot / PDF / Video inputs matter, and which can you skip?
The linkUrls array is the primary control that defines which pages will be processed during a run. The outputFormat selector determines whether the result is a static image, a document, or an animated video file. Most users should leave the proxyConfiguration at its default setting and rely on the automatic fallback for blocked pages.
linkUrls(array): List of page URLs to capture as screenshot / PDF / GIF / MP4. Default:["https://apify.com"].outputFormat(string): Choose capture format. Default:"jpeg".fullPage(boolean): Capture the entire scrollable page (images/PDF only). Default:false.waitUntil(string): Playwright navigation waitUntil condition. Default:"networkidle".timeoutSeconds(integer): Maximum seconds to wait for page navigation. Default:30.delayBeforeScreenshotMs(integer): Extra wait after load before capturing, in milliseconds. Default:1500.device(string): Pick a device preset to emulate, or Custom to use the windowWidth / windowHeight fields. Default:"Desktop 1920x1080".windowWidth(integer): Viewport width in pixels (used only when Device = Custom). Default:1920.windowHeight(integer): Viewport height in pixels (used only when Device = Custom). Default:1080.scrollToBottom(boolean): Scroll to page bottom before capture to trigger lazy-loaded content. Default:false.jpegQuality(integer): JPEG compression quality 1-100. Default:85.pdfFormat(string): Paper size for PDF output. Default:"A4".
The other 13 controls, with their defaults, are listed in the input schema on Ultimate Website Screenshot / PDF / Video on Apify.
Fixed-choice controls: outputFormat accepts jpeg (JPEG image), png (PNG image), pdf (PDF document), gif (Animated GIF), mp4 (MP4 video); waitUntil accepts load, domcontentloaded, networkidle; device accepts 31 values (default Desktop 1920x1080), including Desktop 1920x1080, Desktop 2560x1440, Desktop 1440x900, Laptop 1366x768; pdfFormat accepts A4, Letter, Legal.
What does Ultimate Website Screenshot / PDF / Video return?
The records are ideal for visual auditing and generating media assets for external reports or applications. They conspicuously do not contain raw HTML source code or extracted text content from the target pages.
linkUrl- the URL that was captured.screenshotUrl- direct download link to the captured asset in the run's key-value store.storageKey- key inside the run's key-value store (useful when referencing assets by convention).contentType- MIME type of the asset (image/jpeg,image/png,application/pdf,image/gif,video/mp4).fileSizeBytes- size of the stored asset in bytes.device- the device preset used (orCustom).viewportWidth/viewportHeight- actual viewport dimensions used for the capture.format- final format saved. May differ from the requested format if the MP4 fallback engaged.capturedAtUTC- ISO 8601 UTC timestamp of capture.
These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.
How do you build the workflow end to end?
Open Ultimate Website Screenshot / PDF / Video and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.
- Populate the linkUrls array with one or more target web addresses to initiate the capture process.
- Set outputFormat to png or pdf to verify layout fidelity before attempting animated MP4 or GIF formats.
- Choose a specific hardware profile from the device dropdown or select Custom to define windowWidth and windowHeight manually.
- Configure waitUntil to networkidle if the target site uses client-side framework rendering that takes time to settle.
- Toggle scrollToBottom to true and increase delayBeforeScreenshotMs to 1500 to ensure lazy-loaded images and dynamic elements are fully rendered.
- Verify that autoProxyFallback is enabled to allow the browser to silently retry via residential proxy if a block page is encountered.
- Run a test and check the dataset for the screenshotUrl field to ensure it contains a valid direct download link.
How do you apply it? Three worked playbooks
These are Ultimate Website Screenshot / PDF / Video's own documented use cases, each worked through as an operating pattern rather than a description.
Use case 1: Automated QA & visual regression
Outcome: Screenshot every critical page in your marketing site across desktop + mobile presets on every deploy.
Configure: Set linkUrls to your list of staging URLs, outputFormat to "png", device to "Desktop 1920x1080", and fullPage to true.
Working method: Initiate a run for your homepage and primary landing pages using a desktop preset to establish a visual baseline. Examine the resulting screenshotUrl links to confirm all CSS and images loaded correctly. Once the desktop view is stable, add mobile device presets to the linkUrls array to check for responsive regressions.
Deliverable: A collection of full-page PNG images stored in the key-value store and indexed in the run dataset.
Stop condition: The dataset contains a record where type is screenshot_error or the rendered image displays broken assets.
Use case 2: Archiving & compliance
Outcome: Snapshot competitor pricing pages, regulated content, or legal notices as dated PDFs for record keeping.
Configure: Set linkUrls to the target regulatory or pricing pages, outputFormat to "pdf", and set pdfPrintBackground to true.
Working method: Schedule the Actor to run at fixed intervals against the target list of URLs. Verify that each record in the dataset has a valid capturedAtUTC value and an accessible pdf file link. Check that the PDF margins and paper size via pdfFormat meet your record-keeping requirements.
Deliverable: Dated PDF documents saved in the key-value store with associated metadata in the dataset.
Stop condition: A run returns a block page that autoProxyFallback cannot bypass or the fileSizeBytes remains constant across multiple runs.
Use case 3: Social media & preview cards
Outcome: Generate high-DPI screenshots of pages to embed in blog posts, Slack threads, and Notion docs.
Configure: Set linkUrls to the target article URL, outputFormat to "png", and set device to "Desktop 1920x1080" with fullPage set to false.
Working method: Run the capture on a single target URL and review the screenshotUrl to ensure the above-the-fold content is crisp and aligned. Adjust delayBeforeScreenshotMs if dynamic preview components are missing. Repeat the process for multiple URLs once the viewport settings are optimized.
Deliverable: High-resolution PNG image files suitable for direct embedding into communication platforms.
Stop condition: The output image contains unrendered web fonts or blank placeholder boxes for dynamic content.
What breaks, and how do you design around it?
- Infinite-scroll feeds (Twitter, TikTok) cannot be fully captured - full-page stitches only the currently-loaded DOM, not content that requires scrolling to materialize indefinitely.
- DRM-protected video (Netflix, DRM-locked streaming) cannot be recorded in MP4 captures - the browser blacks out protected frames.
- CAPTCHA gates that block all browser traffic (including real users) cannot be bypassed; those pages will be captured as-is or emit an error record.
- Fixed-position headers/footers can appear duplicated in full-page stitched screenshots on some sites - this is a common browser rendering limitation across all screenshot tools.
- Large MP4 captures (high frame count at high resolution) produce large files. Use reasonable
videoFrameCountandvideoFpsvalues to keep storage manageable.
When encountering infinite-scroll feeds, use the scrollToBottom setting to trigger initial lazy-loading, but recognize that DOM-based stitching cannot capture endless content. If you see duplicated headers in full-page mode, try disabling that feature or switching to a fixed viewport capture. For DRM-protected video, expect the recording to return black frames as the browser is restricted from capturing protected streams.
When should you not use Ultimate Website Screenshot / PDF / Video?
Do not use this Actor if you need to extract structured data like product prices or article text for a database; it is designed for visual output, and an HTML-based crawler would be significantly more efficient. If your task is specifically focused on social media posts, Twitter Screenshot Generator provides specialized theme and layout handling. For developers who need to verify responsive breakpoints across many simulated devices simultaneously with performance metrics, Responsive Website Checker is a better choice for comprehensive layout analysis than manual screenshotting.
What should you check before trusting the output?
- Verify that fileSizeBytes is greater than zero to ensure the run produced a valid asset rather than a zero-byte file.
- Check that the format field in the dataset record matches your requested outputFormat to ensure the MP4 fallback was not triggered.
- Inspect the type field for screenshot_error strings which indicate that a specific URL was unreachable or blocked.
- Monitor the capturedAtUTC timestamp to ensure records are fresh when running on a recurring schedule.
- Halt the workflow if multiple consecutive results return suspiciously small file sizes indicating a persistent rendering issue.
None of this proves a record is correct. It gives a scheduled Ultimate Website Screenshot / PDF / Video run defined points where it should stop instead of quietly passing bad data downstream.
Frequently asked questions
What is the cost of 1,000 screenshots?
On Apify's free plan, the cost is $2.00 per 1,000 results, which works out to $0.002 per result. Note that Apify also bills for platform usage consumed during the run in addition to these per-result charges.
How reliable is this Actor for scheduled runs?
The Actor has a 92.5% success rate, with about 8 in a hundred runs failing or timing out. For scheduled tasks, it is recommended to monitor the dataset for error records which are produced when a specific URL cannot be captured.
Can I capture pages that are behind a login?
Yes, you can inject authenticated session data using the cookies input field. This allows the browser to access and screenshot pages that require a valid session or user account to view.
Does the Actor handle websites that block scrapers?
Yes. The Actor includes an autoProxyFallback feature that detects when a page is blocked by common providers. It will then automatically retry the capture using a residential proxy to ensure you get a valid screenshot.
What formats are supported for full-page captures?
Full-page captures, which stitch the entire scrollable height of a site, are available for JPEG, PNG, and PDF formats. Animated GIF and MP4 formats capture the viewport while scrolling through a sequence of frames.
Where to go next
When you are ready to run it, open Ultimate Website Screenshot / PDF / Video on Apify; the free plan covers up to 2,500 results a month.
Start with the Ultimate Website Screenshot / PDF / Video Actor page for the current input schema, pricing tier, and run history.
If you are comparing approaches rather than committing to one Actor, these category pages list every option we publish:
- Video and transcript scrapers covers 46 Actors in this family.
Readers running Ultimate Website Screenshot / PDF / Video commonly pair it with:
- Website Screenshot Generator: Capture full-page screenshots of any website as PNG images or PDF documents.
- Twitter Screenshot Generator: Take clean, high-quality screenshots of any public Twitter/X post.
Related guides:
- Website Screenshot Generator: Up to 2,500 Free Results a Month (2026)
- Ultimate Free Proxy Scraper: Practical Operational Playbooks
- YouTube Search Scraper: Up to 1,000 Free Results a Month (2026)
- TikTok Hashtag Scraper: Operational Playbooks and Data Workflows
- TikTok Playlist Scraper Operating Guide
- Automating YouTube Research: Complete Four-Actor Pipeline Guide
Resources
Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-24.
Actor last updated by its maintainers on 2026-05-03.
Run outcome figures cover the 30 day public window ending 2026-09-24.
Featured actors
Ultimate Website Screenshot / PDF / Video
Capture JPEG/PNG screenshots, PDFs, GIFs and MP4s of any website. 12+ device presets, full-page, custom viewport, scroll-to-bottom, cookie injection, proxy support.
Run on Apify ↗