URL Screenshot Generator
Pricing
from $0.00 / result
URL Screenshot Generator
Generate screenshots for provided list of URLs and crop them on the go!
Pricing
from $0.00 / result
Rating
0.0
(0)
Developer

JavaScript Room
Actor stats
0
Bookmarked
8
Total users
7
Monthly active users
24 days ago
Last modified
Categories
Share
This actor visits a list of websites and captures screenshots, then returns input urls with attached links to taken screenshots.
Features
- Capture full-page screenshots (JPG or PNG).
- Optional cropping via
topOffsetandheight. - Configurable viewport
width, pagewaitUntil,delay, andtimeout.
Inputs
-
urls: array (required)- Description: List of sources. Each item should be an object like
{ "url": "https://example.com" }. You can provide URLs manually, upload a file, or use a Google Sheet.
- Description: List of sources. Each item should be an object like
-
format: string (required)- Allowed values:
jpg(default),png - Description: Output image format.
jpguses a quality of 80.
- Allowed values:
-
waitUntil: string (required)- Allowed values:
load(default),domcontentloaded,networkidle0 - Description: Puppeteer
page.gotowaitUntiloption; controls when the page is considered loaded.
- Allowed values:
-
delay: number (required)- Unit: milliseconds
- Default:
500 - Description: Wait this long after navigation before taking the screenshot. Useful for client-side rendering or animations.
-
timeout: number (required)- Unit: milliseconds
- Default:
30000 - Description: Navigation timeout for
page.goto.
-
width: number (required)- Unit: pixels
- Default:
1280 - Description: Viewport width used when launching the browser.
-
height: number (optional)- Unit: pixels
- Description: When specified together with
topOffset, defines a rectangular crop height to extract from the full-page screenshot.
-
topOffset: number (optional)- Unit: pixels
- Description: How many pixels from the top to begin the crop. Combined with
heightto extract a portion of the page.
-
proxyConfig: object (optional, recommended)- Description: Proxy configuration for crawling. Use Apify Proxy (recommended) or custom proxies to avoid throttling and geo-based blocks.
Required fields
The schema marks the following fields as required: urls, format, timeout, delay, width, waitUntil.
Example input
Example JSON you can paste into the actor input panel:
{"urls": [ { "url": "https://example.com" }, { "url": "https://roomjs.com" } ],"format": "jpg","waitUntil": "load","delay": 500,"timeout": 30000,"width": 1280,"topOffset": 0,"height": 800,"proxyConfig": { "useApifyProxy": true }}
Adjust or remove topOffset / height if you want full-page screenshots instead of a cropped fragment.
Output
- Screenshots are saved into the default Key-Value Store (
Actor.setValue). Each image record key is generated from the page URL and a timestamp. - For every stored screenshot the actor pushes a dataset record with the shape:
{"url": "https://example.com","screenshotUrl": "https://api.apify.com/v2/key-value-stores/<STORE_ID>/records/<KEY>"}
Notes & Tips
- Use the
proxyConfigto avoid IP blocks for large crawls. The schema pre-fillsuseApifyProxy: true. - If you need a very tall viewport for full-length screenshots, the actor takes a full-page screenshot and then extracts a portion when
topOffset/heightare provided. - JPG is generally smaller than PNG. Use
pngif you need lossless screenshots.
