| urls | Yes | **REQUIRED** Web pages to capture. Each URL gives one file per format. https:// is added if missing; duplicates are removed and invalid entries are reported for free. Example: ["https://apify.com", "example.com/pricing"] Memory: keep the default 4096 MB or more. Below 4 GB heavy pages load 2-3x slower and large batches can time out (a 28-URL test at 2 GB timed out at 900 s; at 4 GB it finished in 446 s).
Example values: ["https://apify.com","https://en.wikipedia.org/wiki/Web_scraping"] | |
| width | No | Custom viewport width in CSS pixels; overrides the preset width. Example: 1366 | |
| device | No | Viewport preset: "desktop" (1440x900), "desktop-hd" (1920x1080), "laptop" (1280x800), "tablet" (820x1180 @2x) or "mobile" (iPhone 390x844 @3x, mobile user agent). Default: "desktop". Example: "mobile"
Example values: "desktop" | desktop |
| height | No | Custom viewport height in CSS pixels; overrides the preset. With fullPage false this is the image height. Example: 768 | |
| cookies | No | Cookies set before loading, for logged-in or region-specific pages. Each needs name and value; domain defaults to the URL host. Example: [{"name": "session", "value": "abc123", "domain": ".example.com"}] | |
| delayMs | No | Extra wait in milliseconds after loading and before capturing, for animations or late widgets. Max 60000. Default: 0. Example: 2000 | |
| formats | No | Output formats per URL: "png", "jpeg", "webp" (screenshots) and/or "pdf". Each format is a separate file and charge. Default: ["png"]. Example: ["webp", "pdf"]
Example values: ["png"] | |
| headers | No | Extra HTTP headers sent with every request (Host, Content-Length and similar are ignored). Example: {"Accept-Language": "de-DE", "Authorization": "Bearer abc"}
Example values: {} | |
| quality | No | JPEG/WebP quality, 1-100. Ignored for PNG and PDF. Default: 80. Example: 60 for smaller files.
Example values: 80 | |
| blockAds | No | Block common ad and tracking hosts. Faster, cleaner captures. Default: true.
Example values: true | |
| darkMode | No | Emulate the dark color scheme (prefers-color-scheme: dark). Only changes sites that support dark mode. Default: false. | |
| fastMode | No | Trade completeness for speed. Skips the slow scroll that loads lazy images and scroll animations, and takes one full-page shot (up to 16,000 device px) instead of stitched tiles, so very long pages are cut off and below-the-fold images may be missing. Cookie walls, popups and sticky headers are still handled. Same price. Example: true | |
| fullPage | No | Capture the whole scrollable page (true) or only the first screen/viewport (false). Default: true. Example: false for a quick above-the-fold thumbnail.
Example values: true | |
| waitSecs | No | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. | |
| customCss | No | CSS injected before capturing. Example: "body { font-size: 18px } .banner { display: none }" | |
| maxHeight | No | Longest page part to capture, in CSS pixels. Leave empty for the default: the whole page up to 36,000 device pixels (36,000 px on desktop, 18,000 on tablet, 12,000 on mobile), which covers almost every real page, including very long news front pages and Wikipedia lists. Longer pages are cut here and flagged with truncatedAtMaxHeight: true. Max 50,000 (PNG/JPEG are also limited to 60,000 device pixels, WebP to 16,383). Example: 8000 for smaller, faster files. | |
| pdfFormat | No | PDF paper size: "A4" (default), "Letter", "Legal", "A3" or "Tabloid". Example: "Letter"
Example values: "A4" | A4 |
| pdfMargin | No | PDF page margin on all sides, in CSS units. Default: "10mm". Example: "0" or "0.5in"
Example values: "10mm" | 10mm |
| waitUntil | No | When the page counts as loaded: "domcontentloaded" (fastest), "load" (default, waits up to 15 s for images) or "networkidle" (slowest, for heavy single-page apps). Example: "networkidle"
Example values: "load" | load |
| hidePopups | No | Hide newsletter popups, full-screen overlays and chat widgets (Intercom, Drift, HubSpot, Zendesk and others). Default: true.
Example values: true | |
| maxRetries | No | Retries for temporary errors (timeouts, network, crashes, blank pages). DNS, HTTP and selector errors are not retried. Default: 1. Example: 2
Example values: 1 | |
| referrer_id | No | Referral code from another user's receipt (ref_...). They earn 10% of this run's price as credit. | |
| pdfLandscape | No | Landscape PDF pages. Default: false. | |
| pdfMediaType | No | CSS media for PDFs: "screen" (looks like the website, default) or "print" (uses the site's print stylesheet, often cleaner for articles). Example: "print"
Example values: "screen" | screen |
| hideSelectors | No | CSS selectors of elements to hide before capturing. Example: [".ad-slot", "#promo-bar"] | |
| pdfSinglePage | No | Make the PDF one long page with the full page height and no page breaks, like a full-page screenshot in vector form. Default: false. | |
| buyerPublicKey | No | Base64 Ed25519 public key (SPKI). Lets you sign a useful/not useful verdict on this run's receipt. Verdicts are recorded but never earn credit or discounts. | |
| fileNamePrefix | No | Prefix for file keys in the key-value store. Example: "release-42" gives keys like "release-42-0000-example.com.png" | |
| maxConcurrency | No | How many pages to load in parallel. Leave empty for automatic: 1 below 2 GB memory, 2 at 2–4 GB, then 1 per 2 GB (4 at 8 GB, max 8). New pages also wait while memory is above 70% or CPU is saturated, and only one very tall page per vCPU is laid out at a time. | |
| scrollToBottom | No | Scroll through the page in steps (with short pauses) so lazy images, scroll-triggered sections and content loaded on scroll appear; keeps going while the page grows (bounded), then returns to the top. Default: true. Example: false for faster captures of short pages.
Example values: true | |
| stickyElements | No | How to handle sticky/fixed headers in full-page captures: "static" (show once at the top, default), "hide" (remove them) or "keep" (leave as the browser draws them; may repeat). Example: "hide"
Example values: "static" | static |
| captureSelector | No | Capture only this element instead of the page (screenshots only). Fails as SELECTOR_NOT_FOUND (not charged) if missing. Example: "article", "#pricing-table" | |
| pageTimeoutSecs | No | Time limit in seconds for one URL (load, scroll and capture). Leave empty for 120 s, or up to 240 s automatically on runs with less than 4 GB memory (less than 1 vCPU). Very tall pages automatically get extra time (up to +120 s) once their height is known. | |
| waitForSelector | No | Wait until this CSS selector is visible before capturing (up to navigationTimeoutSecs). Use it for apps that render data late. Fails as SELECTOR_NOT_FOUND (not charged) if it never appears. Example: "#main-chart" | |
| freezeAnimations | No | Put CSS animations, transitions and scroll-reveal effects (fade-ins, slide-ins, animated cards) in their final state, so the screenshot shows the finished page instead of half-faded or empty sections. Default: true. Example: false to capture the page exactly mid-animation.
Example values: true | |
| captureErrorPages | No | Capture and charge pages that return HTTP 4xx/5xx (for example to document a 404). Default: false, so error pages fail as HTTP_ERROR and are not charged. | |
| deviceScaleFactor | No | Pixel density (1-3). 2 or 3 gives retina-sharp images but larger files. Default: from the preset (desktop 1, mobile 3). Example: 2 | |
| pdfPrintBackground | No | Include background colors and images in PDFs. Default: true.
Example values: true | |
| perHostConcurrency | No | Max parallel pages on the same website, to stay polite and avoid rate limits. Default: 2.
Example values: 2 | |
| proxyConfiguration | No | Proxy for all requests. Not needed for most sites; for sites that block data centers use Apify residential proxy. Example: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}
Example values: {"useApifyProxy":false} | |
| captureBlockedPages | No | Capture and charge bot-check/challenge pages (Cloudflare, DataDome...) instead of failing as BLOCKED. Default: false, so blocked pages are not charged. | |
| dismissCookieBanners | No | Click "Accept" on cookie/consent banners (about 20 platforms such as OneTrust, Didomi, Sourcepoint, Cookiebot and Usercentrics, plus accept buttons in 18 languages) and hide what is left. Default: true. Example: false to capture the banner itself.
Example values: true | |
| navigationTimeoutSecs | No | Seconds to wait for the page to start loading and for waitForSelector. Default: 45. Example: 90 for slow sites.
Example values: 45 | |
| retryBlockedWithProxy | No | When a site answers with a bot check and you did not set your own proxy, retry that URL once through Apify Proxy (datacenter) with a fresh, regular browser. Blocked pages are never charged, whether or not the retry works. Default: true. Example: false to fail fast on blocked sites.
Example values: true | |