Website Screenshot API: Full Page, Mobile & URL to PDF avatar

Website Screenshot API: Full Page, Mobile & URL to PDF

Pricing

from $1.50 / 1,000 screenshots

Go to Apify Store
Website Screenshot API: Full Page, Mobile & URL to PDF

Website Screenshot API: Full Page, Mobile & URL to PDF

Take full-page website screenshots in bulk: desktop or mobile, element capture, PNG, JPEG, WebP and URL to PDF, with cookie banners hidden. $1.50 per 1,000 screenshots.

Pricing

from $1.50 / 1,000 screenshots

Rating

0.0

(0)

Developer

Giorgos Myrianthous

Giorgos Myrianthous

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

A website screenshot API for bulk captures: full-page screenshots, mobile and desktop presets, element screenshots, URL to PDF, PNG, JPEG or WebP, and cookie banners hidden automatically.

💲 $1.50 per 1,000 screenshots ($1 per 1,000 for the optional PDF). Failed pages are free. Pay only for results. No subscription, and the Apify free plan's monthly credit covers small jobs.

Also known as: website screenshot, full page screenshot, URL to image, URL to PDF, webpage to PDF, screenshot API, mobile screenshot, bulk screenshots.

Quick start

  1. Click Start. The prefilled input works as is.
  2. Or paste this input (JSON tab):
{
"urls": [
{
"url": "https://apify.com"
},
{
"url": "https://example.com"
}
],
"format": "webp",
"fullPage": true,
"device": "desktop"
}

Output (one dataset item):

{
"url": "https://example.com",
"status": 200,
"title": "Example Domain",
"screenshotUrl": "https://api.apify.com/v2/key-value-stores/…/records/example.com-327c3fda87.webp",
"widthPx": 1920,
"heightPx": 1080,
"format": "webp",
"error": null
}

Use it from the API, AI agents (MCP), n8n, Make or Zapier

curl -X POST "https://api.apify.com/v2/acts/gmyri~website-screenshot/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"urls":[{"url":"https://example.com"}],"format":"png","fullPage":true}'
  • AI agents / MCP: connect https://mcp.apify.com/?actors=gmyri/website-screenshot to Claude, Cursor, ChatGPT or any MCP client. The input schema is fully described for tool calling.
  • Python: ApifyClient(token).actor("gmyri/website-screenshot").call(run_input={...})
  • n8n / Make / Zapier: use the Apify "Run Actor" action with gmyri/website-screenshot, then read the dataset items.

Quick FAQ

  • Can it log in or bypass CAPTCHAs? No. It captures public pages only and doesn't bypass logins, paywalls or bot protection. Pages that block it return an error and are not charged.
  • What if I set a spending limit? The Actor stops cleanly at your Max cost per run and you're never charged above it.

Details

Take screenshots of any public web page in bulk: full-page or viewport, desktop, laptop, tablet or mobile, a single element, PNG, JPEG or WebP, and optionally a PDF of the page. Each result has a public image link you can drop straight into a spreadsheet, a Slack message, an AI agent's context or a report.

$1.50 per 1,000 screenshots. Failed pages are free. No subscription, no API key to manage.

Why use this screenshot API

  • Full-page that actually works. It scrolls the page first so lazy-loaded images appear, then captures the whole page (very long pages are capped at a height you choose).
  • Clean shots. Hides cookie and consent banners from OneTrust, Cookiebot, Didomi, Usercentrics, Quantcast and 20+ others with CSS. Nothing is clicked or accepted. You can also hide your own selectors, such as chat widgets.
  • Devices. Desktop 1920×1080, laptop 1366×768, tablet (2×) and mobile (3×, iPhone user agent), or any custom viewport size.
  • Element screenshots. Capture just #pricing, main or a chart.
  • Small files. WebP is usually 3–5× smaller than PNG.
  • PDF export. Print any page to an A4, Letter, Legal, A3 or Tabloid PDF.
  • Dark mode (prefers-color-scheme: dark).
  • Built for automation and AI agents. Predictable per-screenshot pricing, a flat JSON output and public file URLs.

Typical uses

  • Visual monitoring of your own sites and landing pages, scheduled daily, with screenshots kept in a dataset
  • Competitor and ad landing page archives, SEO reports, client reports
  • Thumbnails for directories, link previews and bookmarks
  • Evidence and compliance snapshots (with timestamp and final URL)
  • Giving AI agents "eyes": an agent calls the Actor and gets back an image URL it can pass to a vision model

Input example

{
"urls": [{ "url": "https://apify.com" }, { "url": "https://example.com" }],
"format": "webp",
"fullPage": true,
"device": "desktop",
"hideCookieBanners": true,
"delayMs": 1000,
"savePdf": false
}
FieldDefaultWhat it does
urls–Pages to capture (full https:// URLs)
formatpngpng, jpeg or webp
fullPagetrueWhole page instead of the viewport
devicedesktopdesktop, laptop, tablet, mobile
viewportWidth / viewportHeight–Custom size (overrides the device)
selector–CSS selector of one element to capture
hideCookieBannerstrueHide common consent banners
hideSelectors–Extra CSS selectors to hide
waitUntilloadload, domcontentloaded or networkidle
delayMs1000Extra wait before capturing
scrollToBottomtrueTrigger lazy-loaded images
darkModefalseEmulate dark mode
quality80JPEG/WebP quality
maxHeightPx15000Cap for very long pages
savePdf / pdfFormatfalse / A4Also export a PDF
timeoutSecs45Per-page timeout
maxConcurrency3Pages in parallel

Output

One dataset item per URL:

{
"url": "https://example.com",
"finalUrl": "https://example.com/",
"status": 200,
"title": "Example Domain",
"screenshotUrl": "https://api.apify.com/v2/key-value-stores/…/records/example.com-327c3fda87.webp",
"format": "webp", "widthPx": 1920, "heightPx": 1080, "bytes": 36548,
"pdfUrl": null, "loadTimeMs": 1715, "device": "desktop", "error": null
}

The images (and PDFs) are stored in the run's key-value store. Failed pages get an error message and are not charged.

Pricing (pay per event)

EventPrice
Screenshot (primary)$0.0015 ($1.50 / 1,000)
PDF generated (only with savePdf)$0.001
Actor start$0.00005 per run (Apify default)

Platform usage is included. Set Max cost per run in the run options and the Actor stops cleanly at your limit.

Use from AI agents (MCP), n8n, Make, Zapier and the API

  • MCP / AI agents: add the Actor to the Apify MCP server (gmyri/website-screenshot). Agents get a typed input schema and receive screenshotUrl links.
  • n8n / Make / Zapier: use the Apify app's "Run Actor" action and map screenshotUrl from the dataset items.
  • API (sync):
    curl -X POST "https://api.apify.com/v2/acts/gmyri~website-screenshot/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
    -H 'Content-Type: application/json' -d '{"urls":[{"url":"https://example.com"}],"format":"webp"}'

FAQ

Can it log in or get past CAPTCHAs? No. It captures publicly accessible pages only and does not bypass logins, paywalls or bot protection. Pages that block automated browsers return an error and are not charged.

Why do some pages look different from my browser? Geo-location, A/B tests and consent walls vary. Try waitUntil: networkidle, a longer delayMs, or hide the offending element with hideSelectors.

How long are files kept? As long as the run's storage is retained under your Apify plan. Download them or copy them to your own storage if you need them long-term.

Is it legal? Screenshots of public pages are generally fine for monitoring, archiving and reporting, but you are responsible for respecting each site's terms and copyright when you reuse the images.