URL Screenshot Generator avatar
URL Screenshot Generator

Pricing

from $0.00 / result

Go to Apify Store
URL Screenshot Generator

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

JavaScript Room

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

7

Monthly active users

24 days ago

Last modified

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 topOffset and height.
  • Configurable viewport width, page waitUntil, delay, and timeout.

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.
  • format: string (required)

    • Allowed values: jpg (default), png
    • Description: Output image format. jpg uses a quality of 80.
  • waitUntil: string (required)

    • Allowed values: load (default), domcontentloaded, networkidle0
    • Description: Puppeteer page.goto waitUntil option; controls when the page is considered loaded.
  • 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 height to 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 proxyConfig to avoid IP blocks for large crawls. The schema pre-fills useApifyProxy: 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/height are provided.
  • JPG is generally smaller than PNG. Use png if you need lossless screenshots.