PlainRows

Website Screenshot API: Full Page, Mobile & Bulk Capture

Take website screenshots in bulk: full page or viewport, desktop, tablet or mobile size, PNG, JPEG, WebP or PDF, dark mode, cookie banners hidden. Get a public image link, HTTP status and page title for each URL. Pay only per successful screenshot.

Try it on Apify   Actor status

Typical uses

Pricing

Pay per use, no subscription, no monthly fee. The price depends on your Apify plan. Apify's free plan includes $5 of usage every month.

You pay perFree planStarterScaleBusiness
Screenshot
One page captured and saved (viewport or full page, image plus PDF if requested), with HTTP status, title and final URL. Failed URLs, HTTP error pages, blank pages and invalid URLs are free.
$0.003$0.0025$0.002$0.0018

Run it from your code

Get an API token in the Apify Console (Settings → Integrations), then:

curl -X POST \
  "https://api.apify.com/v2/acts/plainrows~website-screenshot/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
  "urls": [
    "https://example.com",
    "https://www.wikipedia.org"
  ]
}'
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("plainrows/website-screenshot").call(run_input={'urls': ['https://example.com', 'https://www.wikipedia.org']})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)

Use it in automations and AI agents

Full documentation, input options and output fields: https://apify.com/plainrows/website-screenshot