Website Screenshot, Fixed Price per Image
Pricing
from $4.00 / 1,000 results
Website Screenshot, Fixed Price per Image
Takes a PNG, JPEG or PDF screenshot of each web page in your list. You pay per saved screenshot. Pages that robots.txt disallows, login pages and CAPTCHA pages are skipped, listed and not charged.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Derek Derringer
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What it does
This Actor saves a PNG, JPEG or PDF of each web page in your list, in desktop, tablet or phone size, at a fixed price per saved screenshot. It reads each site's robots.txt first, and every page it skips is listed with the reason and costs nothing. It never logs in, never clicks anything on a page and never tries to get past a CAPTCHA.
How to use it
- Open the Actor in Apify Console.
- Paste your web addresses into Web pages to capture, one per line.
- Pick the device, file format and other options. The defaults give a desktop PNG of the visible screen.
- Click Start.
- When the run ends, open the Output tab for the screenshot list, REPORT and SKIPPED, or the Storage tab for the image files.
Input
| Field | What it does | Default | Limits |
|---|---|---|---|
Web pages to capture (urls) | The pages to capture, one per line. A bare host name gets https:// added. Duplicates are removed. | Required. Prefilled with the Apify docs home page | http and https only, up to 2000 characters, no user name or password in the address. An address with a control or invisible character, or full-width or other letter forms in its host name that a browser would turn into ordinary letters, is listed in SKIPPED as invalid_url and not charged |
Device (device) | Screen size. Tablet and phone use 2x pixel density with touch on. | Desktop | Desktop 1280 x 800, Tablet 768 x 1024, Phone 390 x 844 |
Full page (fullPage) | Captures the whole page height instead of the visible screen. | Off | The saved image is never taller than 15000 pixels: 15000 pixels of page on desktop, 7500 on tablet and phone. Not used for PDF |
File format (format) | PNG, JPEG, or an A4 PDF of the page as it looks on screen. | PNG | PNG, JPEG, PDF |
JPEG quality (jpegQuality) | From 1 (smallest file) to 100 (best quality). | 80 | 1 to 100, JPEG only |
Wait after load (waitSecs) | Extra seconds to wait after the page has loaded and gone quiet. | 1 | 0 to 30 seconds |
Scroll down first (scrollBeforeCapture) | Scrolls down and back once so images that load on scroll are shown, over the part of the page that is saved (with Full page off, one extra screen below the visible area). | Off | On or off |
Hide cookie banners (hideCookieBanners) | Hides common cookie and consent banners. | On | CSS only, never clicks |
Files from other websites (otherSiteFiles) | Where images, styles and scripts may load from. | Same site only (same-site) | same-site or all |
Maximum screenshots (maxScreenshots) | How many addresses one run will process. | 100 | 1 to 5000 |
Page timeout (pageTimeoutSecs) | How long one page may take to load before it is skipped. | 45 | 10 to 120 seconds |
Output
Each saved screenshot adds one item to the run's dataset. This real item is from a local test run of the prefilled input:
{"url": "https://docs.apify.com/","finalUrl": "https://docs.apify.com/","status": 200,"format": "png","device": "desktop","fullPage": false,"width": 1280,"height": 800,"sizeUnit": "px","truncated": false,"pdfPages": null,"fileSizeBytes": 56050,"imageKey": "screenshot-0001-docs-apify-com.png","imageUrl": "file:///.../storage/key_value_stores/default/screenshot-0001-docs-apify-com.png","redirectCount": 0,"capturedAt": "2026-10-15T00:24:39+00:00"}
The image file itself is saved in the run's default key-value store under the name in imageKey, numbered by its place among your accepted addresses. imageUrl is the Apify SDK's link to that record. In this local test it was a file link, shortened above. width and height are read from the saved file, in points for PDF, with the page count in pdfPages.
Pricing
This Actor is priced per event, with two charges:
- Actor start: Apify's automatic start event, $0.0001 per start (one event per GB of run memory, minimum one).
- Screenshot saved: one charge for each screenshot saved to the dataset.
Price per screenshot: $4.00 per 1,000 screenshots, which is $0.004 each.
Skipped, blocked and failed pages are never charged. They are listed in the SKIPPED record with the reason. If you set a spending limit, the Actor checks before each page that another screenshot still fits. When none does, the run stops cleanly, lists the rest in SKIPPED as spending_limit_reached and writes REPORT.
What it will not do
- Skip robots.txt. It is read for every site before any other request to that site, redirects and page files included, and cannot be switched off. The group for
website-screenshot-per-imageapplies, otherwise the*group. - Fetch disallowed pages. They are skipped, listed in SKIPPED with the matching rule, and not charged. A
Disallow: /for this Actor skips the whole site even when Allow lines exist, and so does a robots.txt that answers with a server error, 401, 403 or 429, or cannot be reached. - Get past a login or CAPTCHA. It stops at login pages, 401, 403 and 429 answers and CAPTCHA or bot check pages, and never tries to get past them. Any visible password field counts as a login page, so a page with a login box in its header is skipped.
- Click anything. Cookie banners are hidden with CSS only, so a banner it does not recognise stays in the picture.
- Hide what it is. There is no cookie, header, login, proxy or user agent input. The user agent is the browser's own plus
website-screenshot-per-image/0.1, so a site that picks its layout from the user agent alone may show its desktop layout in phone and tablet captures. - Crowd a site. One request at a time goes to each site, and a robots.txt Crawl-delay is honoured between requests, page files included. Such pages load slowly and may time out, which is not charged. A Crawl-delay over 30 seconds skips the site.
- Load video, audio or private addresses. Video and audio are not loaded, and addresses on private or local networks are skipped.
Your responsibility
You are responsible for having the right to capture each page you list and for following each website's terms of use. The Actor checks robots.txt for you, but it cannot read or judge a site's terms.
Run records
The run's key-value store also holds three records:
- REPORT: start and finish times, why the run stopped, the settings used, any input problems, counts with skips by reason, and the robots.txt result and requests for each site.
- SKIPPED: every address not captured, with the reason, a detail, and the HTTP status and final address where known. None of them is charged.
- STATE: a resume marker holding the next position in your list and the saved and charged counts. If Apify moves the run to another server part way through, the run continues from there without retaking or recharging a saved screenshot.
Limits
- Addresses: up to 5000 per run, 100 by default. Addresses past your Maximum screenshots are listed in SKIPPED as
over_max_screenshotsand not charged. - Page height: a full page image is never taller than 15000 pixels, which is 15000 pixels of page on desktop and 7500 on tablet and phone. A cut image shows
truncated: true. - Timeouts: 10 to 120 seconds per page, 45 by default. Each single request is also capped at 30 seconds and 30 MB.
- Files from other websites:
same-site, the default, loads images, styles and scripts only from the page's own website and its subdomains, so images or fonts served from another domain are missing.allloads them too, after a robots.txt check for each site. - Downloads: an address that starts a file download is skipped.