Website Screenshot API: Full Page, Mobile & URL to PDF
Pricing
from $1.50 / 1,000 screenshots
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
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
- Click Start. The prefilled input works as is.
- 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-screenshotto 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,mainor 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}
| Field | Default | What it does |
|---|---|---|
urls | – | Pages to capture (full https:// URLs) |
format | png | png, jpeg or webp |
fullPage | true | Whole page instead of the viewport |
device | desktop | desktop, laptop, tablet, mobile |
viewportWidth / viewportHeight | – | Custom size (overrides the device) |
selector | – | CSS selector of one element to capture |
hideCookieBanners | true | Hide common consent banners |
hideSelectors | – | Extra CSS selectors to hide |
waitUntil | load | load, domcontentloaded or networkidle |
delayMs | 1000 | Extra wait before capturing |
scrollToBottom | true | Trigger lazy-loaded images |
darkMode | false | Emulate dark mode |
quality | 80 | JPEG/WebP quality |
maxHeightPx | 15000 | Cap for very long pages |
savePdf / pdfFormat | false / A4 | Also export a PDF |
timeoutSecs | 45 | Per-page timeout |
maxConcurrency | 3 | Pages 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)
| Event | Price |
|---|---|
| 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 receivescreenshotUrllinks. - n8n / Make / Zapier: use the Apify app's "Run Actor" action and map
screenshotUrlfrom 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.