Website Screenshot & PDF API
Pricing
from $4.00 / 1,000 renders
Website Screenshot & PDF API
Render any public URL to a PNG/JPEG screenshot (viewport or full page) or a PDF, with size, format, quality, wait and proxy options. Playwright Chromium. Clean HTTP API + MCP. Pay per render.
Pricing
from $4.00 / 1,000 renders
Rating
0.0
(0)
Developer
Synthetic
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Render any public web page to a screenshot (PNG or JPEG) or a PDF, behind a clean HTTP API (and MCP tool). Viewport or full-page capture, custom size, retina scale, JPEG quality, paper size and orientation for PDFs, wait strategies, an extra delay for lazy content, and optional Apify Proxy for pages that block datacenter IPs. Powered by a real Chromium browser. Pay per render.
- ๐ธ Screenshot โ PNG or JPEG, viewport or full page, custom width/height, retina
deviceScaleFactor. - ๐ PDF โ A4/Letter/Legal/A3โฆ, portrait or landscape, with or without backgrounds, custom scale and margins.
- โฑ๏ธ Control the wait โ
waitUntil(load / DOM ready / network idle) plus an optionaldelayMsfor animations and lazy images. - ๐ก๏ธ Safe by design โ only public http(s) URLs; localhost, private, link-local and cloud-metadata addresses are refused.
- ๐ Optional proxy โ route through Apify Proxy (incl. residential) for pages that block datacenter IPs.
- ๐ต Pay per render.
The use case it was built for
Thumbnails for links, PDF exports of invoices and reports, visual regression snapshots, "render this page for my agent" โ one call in, a hosted image or PDF URL out. No browser to run, no key.
Sample output (screenshot, url "https://example.com")
{"ok": true, "operation": "screenshot", "requestedUrl": "https://example.com","contentType": "image/png", "key": "screenshot-1750000000000-a1b2c3.png","url": "https://api.apify.com/v2/key-value-stores/<storeId>/records/screenshot-1750000000000-a1b2c3.png","format": "png", "fullPage": false, "title": "Example Domain","finalUrl": "https://example.com/", "bytes": 26543, "width": 1280, "height": 800}
The url points at the rendered file in the run's key-value store (fetch it with a plain GET โ no token needed for the record).
How to use
- HTTP API (Standby): POST or GET
/screenshot,/pdf.GET /returns help. Example:GET /screenshot?url=https://news.ycombinator.com&fullPage=true. - Normal run: pass
{ operation, url, ... }; the JSON result lands in the dataset + key-value store, and the rendered file is stored alongside it. - MCP tool: expose it to your agent via Apify's MCP server.
Input
- operation โ
screenshotยทpdf. url โ the page to render. - Screenshot: fullPage, format (png/jpeg), quality, width, height, deviceScaleFactor.
- PDF: paper (A4/Letter/โฆ), landscape, printBackground, scale, margin.
- Both: waitUntil, delayMs, timeoutMs, useApifyProxy (+ apifyProxyGroups).
Pricing
Per render from $0.008 (down to $0.003 on higher tiers). One successful screenshot or PDF = one render.
Related Actors
- PDF Tools โ merge, split, extract, render existing PDFs.
- Image Converter โ convert, resize and optimize images.
FAQ
Do I need a key? No. For pages that block datacenter IPs, enable useApifyProxy (proxy usage is billed by Apify separately).
Can it capture the whole page? Yes โ set fullPage: true for a screenshot.
Why is my screenshot missing late content? Increase delayMs, or set waitUntil: networkidle so lazy images and fonts finish loading.
Which private URLs are blocked? Anything non-public: localhost, 10.x, 192.168.x, 172.16โ31.x, 169.254.x (incl. cloud metadata) and their IPv6 equivalents.
Notes & limits
Uses Playwright Chromium (a real browser is required to render pages faithfully). Rendered files live in the key-value store for the run's retention window. Navigation timeout is capped at 60s. Some sites deliberately block automated browsers.