Website Screenshot API: Full Page, Mobile, PDF
Pricing
from $3.20 / 1,000 screenshot takens
Website Screenshot API: Full Page, Mobile, PDF
Screenshot any list of URLs as full-page or viewport PNG, JPEG, WebP or PDF, on desktop, laptop, tablet or mobile. Cookie banners hidden, lazy images loaded, element screenshots, dark mode. Pay only per screenshot saved.
Pricing
from $3.20 / 1,000 screenshot takens
Rating
0.0
(0)
Developer
JT Palms
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
Website Screenshot API: full page, mobile, tablet and PDF
Paste a list of URLs and get back a screenshot of each page: the whole scrollable page or just the first screen, as PNG, JPEG, WebP or PDF, on a desktop, laptop, tablet or phone. Cookie banners are hidden, lazy-loaded images are loaded, and you can capture a single element such as a pricing table.
USD 4 per 1,000 screenshots. You pay only for screenshots that were taken and saved. Pages that fail, do not exist or block the browser are reported free.
What people use it for
- Website archives and change tracking. Capture your own or competitors' homepages, pricing and landing pages on a schedule.
- SEO and marketing reports. Full-page shots of search results, landing pages and ads, on desktop and mobile.
- Visual QA. Check how a site renders on a phone, a tablet and a desktop, in light and dark mode, after every release.
- Link previews and thumbnails. Viewport-sized JPEG or WebP images for directories, dashboards and CMS entries.
- Compliance and evidence. PDF copies of web pages with selectable text and working links, with the time they were taken.
Sample output
One row per URL. The image itself is saved in the run's key-value store and linked from screenshotUrl:
{"url": "https://www.python.org/","finalUrl": "https://www.python.org/","title": "Welcome to Python.org","statusCode": 200,"device": "desktop","format": "png","width": 1440,"height": 2555,"bytes": 501233,"screenshotUrl": "https://api.apify.com/v2/key-value-stores/STORE_ID/records/python.org-1e99bf8a65.png","screenshotKey": "python.org-1e99bf8a65.png","truncated": false,"cookieBannersHidden": 0,"loadSecs": 0.2,"takenAt": "2026-09-28T19:31:39.089Z","warning": null,"error": null}
width and height are the real pixel size of the saved image (for PDFs, the page size in points). The dataset's Screenshots view shows the images as thumbnails. Export as JSON, CSV or Excel, or pull the results through the Apify API.
How to use it
- Put your pages in URLs, one per line. Full URLs and bare domains (
example.com) both work. - Pick a Device and a File format. Leave Full page on for the whole page, or turn it off for the first screen only.
- Click Start, then open the dataset or the key-value store to download the files.
Connect the actor to Make, Zapier, n8n or your own code through the Apify API to take screenshots on a schedule or on demand.
Options
| Option | What it does |
|---|---|
| Device | Desktop 1440 x 900, laptop 1280 x 800, tablet (iPad), mobile (iPhone 15), or a custom width and height. Tablet and mobile use touch and a mobile user agent, so sites show their mobile layout. |
| Full page | Whole scrollable page (default) or only the first screen. Very long pages are cut at Maximum page height (20,000 px by default) and marked truncated. |
| File format | PNG (lossless), JPEG or WebP (much smaller, with a quality setting), or PDF (A4, Letter, Legal or A3, scaled to the device width). |
| Element to capture | A CSS selector such as #pricing or table.infobox. Only that element is captured. |
| Hide cookie banners | On by default. Hides the banners of 30+ consent managers (OneTrust, Cookiebot, Didomi, Quantcast, TrustArc, Usercentrics, Sourcepoint and others) and clicks "reject" or "necessary only" where offered. It never accepts cookies for you. |
| Hide these elements | Your own CSS selectors to remove before capturing, for example chat widgets or promo bars. |
| Load lazy images | On by default. Scrolls through the page so lazy images and sections load, then back to the top. |
| Dark mode | Asks the site for its dark color scheme. |
| Wait until, extra delay, timeout | When the page counts as loaded, an optional delay for animations, and the maximum load time. |
| Pixel density | 1, 2 or 3 for sharp retina images. |
| Proxy | Optional. Load pages through a data center proxy or your own proxy URL, for example to see a site as visitors in another country see it. Residential proxies are not supported. |
Pricing
| What | Price |
|---|---|
| Screenshot or PDF taken and saved | USD 0.004 (USD 4 per 1,000) |
| Page failed, not found, blocked the browser, or private address refused | Free |
Set a maximum cost per run in the run options and the actor stops cleanly when it reaches it. Screenshots taken before that are kept.
Speed and memory
With the default 4 GB of memory the actor loads 3 pages in parallel. Full-page captures of heavy news sites take about 2.5 seconds per page on average, first-screen captures about 2 seconds. Each parallel page needs about 1.1 GB of memory at its peak; if you give the run less memory, the actor lowers the number of parallel pages by itself.
Limits
- No CAPTCHA solving or bot-protection bypass. Pages that answer with HTTP 401, 403 or 429, or show a CAPTCHA or "checking your browser" page, are reported with a
warningand are not charged. A proxy under Advanced helps with sites that block data centers, but does not get past CAPTCHAs. - Public websites only. Private and internal addresses (localhost, 10.x, 172.16 to 31.x, 192.168.x, 169.254.x, 100.64/10, IPv6 local ranges,
*.local,*.internal) are refused before the page is opened, and a public page cannot redirect or load images, frames or requests into them. Refused URLs are free. - Logins and paywalls are not bypassed. The actor sees what a new visitor without cookies sees.
- WebP images are at most 16,383 pixels tall, so long WebP captures are cut there. Use PNG or JPEG for very long pages.
- Pages that keep changing (live tickers, video, infinite feeds) are captured as they are at the moment of the shot.
Related actors
- Link Preview Metadata: Open Graph, Twitter Card, Favicon: Get what a link unfurler shows for any URL: title, description, image, site name, every Open Graph and Twitter card tag, best favicon,...
- Website Tech Stack Detector (Wappalyzer Alternative): Find the technology behind any website in bulk: CMS, ecommerce platform, analytics, frameworks, CDN, hosting, payment, email and...
FAQ
Where are the image files? In the run's default key-value store. Each dataset row has screenshotUrl, a direct link to the file, and screenshotKey, its key in the store.
How long are the files kept? As long as your Apify plan keeps the run's storage. Download them or copy them to your own storage if you need them longer.
Why is a cookie banner still visible? A few sites use their own banner code. Add its CSS selector to Hide these elements and it will be removed.
Why is my screenshot cut off? The page was taller than Maximum page height. Raise it (up to 60,000 px) or use first-screen captures.
Is it legal? It opens public web pages the way a browser does and saves an image of them. It does not log in or bypass protections. A screenshot shows whatever the page displays, which on some pages includes people's names or photos, so check the terms of the sites you capture and the privacy rules that apply to you before you republish their content.
License
Apache-2.0. Built on Playwright (Apache-2.0) and proxy-chain (Apache-2.0).