Website Screenshot API - Full Page, Mobile, PDF $2.50/1K · Apify
Website Screenshot API - Full Page, Mobile, PDF $2.50/1K avatar

Website Screenshot API - Full Page, Mobile, PDF $2.50/1K

Pricing

from $2.00 / 1,000 screenshots

Go to Apify Store
Website Screenshot API - Full Page, Mobile, PDF $2.50/1K

Website Screenshot API - Full Page, Mobile, PDF $2.50/1K

Website screenshot API: full-page or viewport PNG, JPEG or PDF of any URL in a real browser. Desktop, tablet, mobile or custom size, dark mode, cookie banners hidden, ads blocked, lazy images loaded. Bulk up to 1,000 URLs. $2.50 per 1,000 screenshots ($4 full page or PDF), refused pages free.

Pricing

from $2.00 / 1,000 screenshots

Rating

0.0

(0)

Developer

Khandji Omar

Khandji Omar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Features

Limited permissions

Share

Capture any web page as a PNG, JPEG or PDF in a real Chrome browser. Paste up to 1,000 URLs, pick a device, and get one row per page with a public link to the file, the final URL, the HTTP status, the page title and the load time.

  • Full page or viewport (very long pages are cut at 12,000 px so endless feeds cannot stall the run), or one element with a CSS selector.
  • Devices: desktop 1920x1080, laptop 1366x768, retina @2x, iPad, iPhone @3x, or any custom size.
  • Clean captures: cookie banners of the common consent tools are hidden (never accepted for you), ads and trackers are blocked, lazy images are loaded by scrolling.
  • Dark mode, extra delay, wait for an element, hide chat widgets or headers.
  • Refused pages are free: when a site answers with an error page (HTTP 4xx/5xx), the capture is still delivered for your records but never charged. Pages that fail to load are not charged either.

In short: what you give, what you get, what it costs

You giveUp to 1,000 web page links, a device and a format
We doOpen each page in a real Chrome browser and capture it
You getOne row per page: a public link to the PNG, JPEG or PDF file, the final URL, HTTP status, page title and load time
It costs$2.50 per 1,000 screenshots, $4 per 1,000 full-page screenshots or PDFs, + $0.001 per GB of run memory per run ($0.004 at the default 4 GB). The first 5 screenshots of every run are free. No supplier fee
It does notSign in to sites. Very long pages are cut at 12,000 pixels

A real result row is shown further down this page.

Free tier — 5 results free on every run

The first 5 results of every run are free, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.

Price

What you getPrice per 1,000
Viewport or element screenshot (PNG/JPEG)$2.50
Full-page screenshot or PDF$4.00
Run start (pays the browser start)$0.001 per GB of run memory: $0.004 at the default 4 GB

The first 5 screenshots of each run are free. Set Max cost per run and the run stops before it spends more.

How this compares with the paid screenshot Actors most used in Apify Store (prices read from the Store on 2026-10-18):

ActorPrice per 1,000
This Actor$2.50, $4 full page or PDF, error pages free
moonweil/url-screenshot-api$4 + $0.001 per run
i-scraper/website-screenshot$6
apify/screenshot-urlfree Actor, you pay the platform usage

Measured, not promised

Test run on 50 popular websites (news, shops, SaaS, government), desktop, default settings, 2026-10-18:

ModeGood captures out of 50
Viewport PNG37 (13 sites answered with an error page: delivered, not charged)
Full page JPEG36

Some large news and social sites refuse automated browsers; this Actor does not try to get around that. It tells you which pages refused (blocked: true, statusCode), keeps one plain screen-size capture of the refusal as proof, and does not charge them.

Input example

{
"urls": ["https://apify.com", "example.com"],
"device": "mobile",
"fullPage": true,
"format": "jpeg",
"darkMode": false
}

Output example

A real row from this Actor's latest run on Apify (2026-10-23; long texts are cut and people's names hidden here, your dataset has them in full):

{
"status": "ok",
"type": "screenshot",
"blocked": false,
"url": "https://apify.com",
"finalUrl": "https://apify.com/",
"statusCode": 200,
"title": "Apify: Marketplace of ready-to-run tools for AI",
"screenshotUrl": "https://api.apify.com/v2/key-value-stores/n1hRv8H6fOMeZZXKM/records/screenshot-0001-apify.com.png?signature=Rrmd5FZPoYHVjEcyVQIh",
"key": "screenshot-0001-apify.com.png",
"format": "png",
"device": "desktop",
"viewportWidth": 1920,
"viewportHeight": 1080,
"fullPage": true,
"darkMode": false,
"bytes": 943019,
"loadTimeMs": 4211,
"takenAt": "2026-10-23T23:45:36Z"
}

The files stay in the run's key-value store; screenshotUrl opens them directly.

Every field

FieldWhat it holds
urlpage you asked for
finalUrlpage after redirects
statusCodeHTTP status
titlepage title
screenshotUrllink to the screenshot
keyfile name in the run's storage
formatpng or jpeg
devicedesktop or mobile
viewportWidthwidth (px)
viewportHeightheight (px)
fullPagewhole page captured
darkModedark mode
bytesfile size
loadTimeMspage load time (ms)
takenAtcapture time
startUrlthe address as you typed it (same name as other screenshot tools)
screenshotKeysame as key (same name as other screenshot tools)
blockedtrue when the site refused the page

Compared with apify/screenshot-url

Read on the Store on 2026-10-29 (Website Screenshot Generator, the most used). Every input it has exists here:

Input of apify/screenshot-urlHere
urls, format (png, pdf)urls, format (png, jpeg, pdf)
waitUntil (load, domcontentloaded, networkidle0, networkidle2)same four names accepted
delay (ms, up to 5 minutes)delay (ms) and delaySeconds, up to 5 minutes
viewportWidth (up to 3840)viewportWidth, or a full custom size and 9 more devices
scrollToBottom, delayAfterScrolling, waitUntilNetworkIdleAfterScroll, waitUntilNetworkIdleAfterScrollTimeoutsame four inputs
selectorsToHideselectorsToHide (comma text) and hideSelectors (list)
proxyproxy (Apify Proxy or your own)
output screenshotKey, screenshotUrl, startUrl, urlsame four fields

What this Actor adds: one element instead of the page, dark mode, cookie banners hidden, ads and trackers blocked, 12 parallel pages, a hard cost cap, and refused pages that are shown but never charged.

Compared with cheapapi/website-screenshot-api

Read on the Store on 2026-10-23 (Website Screenshot API — Full-Page, Element & Device Capture). Where it does better, this section says so.

  • Built on the site's own data, not a resold scraper: no second Actor between you and the source.
  • Free results on every run and a hard cost cap (maxTotalChargeUsd).
  • Price: $2.5 per 1,000 here, $0.89 there.

Use cases

  • Visual monitoring: schedule the Actor daily on your own pages or competitors' landing pages and keep a dated archive.
  • SEO and QA: check how pages render on mobile and desktop after a release.
  • Evidence and compliance: dated PDF or PNG copies of pages, ads or terms.
  • AI agents: give an agent a picture of a page (available through Apify MCP).

Why use it

  1. Try before you pay. The first 5 results of every run are free.
  2. Pay only for data delivered. Failed inputs and pages that refuse the visit are never billed.
  3. Hard cost cap. Set maxTotalChargeUsd and a run never costs more than you allow.
  4. Ready to use. JSON, CSV or Excel, the Apify API, n8n, Make, Zapier, or as an MCP tool for AI agents.

How to use it in 3 steps

  1. Click Try for free; the form opens with a ready example in URLs.
  2. Optional: change the other fields; every one has a description and a sensible default.
  3. Click Start and download the results as JSON, CSV or Excel, or read them from the API.

FAQ

Can it log in or solve CAPTCHAs? No. It captures public pages as any visitor sees them.

Does it accept cookies for me? No. Consent banners are hidden with CSS so the page is readable; nothing is clicked.

Why is a full page more expensive? The browser has to lay out and paint the whole page, which takes about twice the computing time of one screen.

Can I call it from code? Yes: Apify API, Python/JavaScript clients, Make, Zapier, n8n, or as an MCP tool.

All input fields

The main fields are described above; these are the others the form accepts:

  • blockAds (Block ads and trackers) — Drop requests to common ad and tracking networks. Faster pages, cleaner screenshots.
  • elementSelector (Capture only this element) — Optional CSS selector: the screenshot shows only the first matching element.
  • hideCookieBanners (Hide cookie banners) — Hide the consent pop-ups of the common consent tools. They are hidden, never accepted.
  • maxConcurrency (Pages at the same time) — Advanced. Pages opened in parallel (1 to 12).
  • quality (JPEG quality) — 10 to 100. Default 80.
  • timeoutSeconds (Page timeout (seconds)) — 10 to 120. Default 45.
  • waitForSelector (Wait for element) — Optional CSS selector to wait for before the capture.