Screenshot & HTML to PDF API
Pricing
$4.00 / 1,000 capture createds
Screenshot & HTML to PDF API
Screenshot or PDF any list of web pages, or turn your own HTML into a PDF. Full page, phone or desktop size, dark mode, cookie banners hidden, element capture. Direct file links. $0.004 per capture, charged only when it works.
Pricing
$4.00 / 1,000 capture createds
Rating
0.0
(0)
Developer
ensorcelling _melilot
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Give it a list of web pages (or your own HTML) and get back screenshots (PNG, JPEG) or PDFs as direct file links. Built on a real Chrome browser, so JavaScript-heavy pages render properly.
What you can do
- Screenshot a list of URLs: full page or just the first screen, at any size from phone to 4K.
- Make PDFs of web pages: A4, Letter, Legal or A3, portrait or landscape, with backgrounds.
- Turn your own HTML into a PDF: invoices, reports, certificates, tickets. Paste the HTML in the input or send it through the API.
- Mobile and dark-mode captures: narrow viewport, touch and mobile user agent,
prefers-color-scheme: dark. - Clean captures: common cookie banners and chat widgets are hidden by default.
- Capture one element: pass a CSS selector such as
#chartto crop to it. - Wait for slow pages: wait for the network to go quiet, for an element to appear, or for a fixed extra delay.
Output
One row per page in the dataset:
| Field | Example |
|---|---|
url | https://example.com/ |
status | ok, failed or skipped |
fileUrl | direct link to the PNG, JPEG or PDF |
fileSize | bytes |
title | the page title |
httpStatus | 200 |
error | the reason, when a capture failed |
The files themselves sit in the run's key-value store as capture-0001.png, capture-0002.png...
Pricing
$0.004 per capture ($4 per 1,000). You are only charged for captures that succeed. Failed pages, skipped inputs and blocked addresses are free. No start fee.
Good to know
- Pages behind a login or paywall are captured as a visitor would see them. You can send extra request headers (for example a language) but there is no cookie or login support yet.
- Very long pages are cut at 16,000 pixels high.
- For safety the Actor refuses private and local addresses (localhost, 10.x, 192.168.x, cloud metadata addresses), including links a page tries to load from them.
- Some sites detect and block automated browsers. Those show up as failed rows with the reason.
- You are responsible for having the right to capture the pages you submit and for how you use the images.
Use it from code
curl -X POST "https://api.apify.com/v2/acts/<username>~screenshot-pdf/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"urls":["https://example.com"],"format":"pdf"}'
HTML to PDF: send {"html":"<h1>Invoice 42</h1>","format":"pdf"} and read fileUrl from the result.