Website Screenshot & PDF API: Full-Page PNG, JPEG, PDF
Pricing
from $2.50 / 1,000 screenshots
Website Screenshot & PDF API: Full-Page PNG, JPEG, PDF
Website screenshot API: capture full-page or viewport screenshots (PNG, JPEG) or convert web pages to PDF in bulk with a real Chrome browser. Mobile and retina viewports, dark mode, element capture, lazy-load scrolling, ad blocking and cookie banner hiding. Failed pages are free.
Pricing
from $2.50 / 1,000 screenshots
Rating
0.0
(0)
Developer
Huss
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Website Screenshot & PDF API is a bulk website screenshot API and URL to PDF converter. It captures full-page or viewport screenshots (PNG or JPEG) and prints web pages to PDF in bulk, using a real Chrome browser. Paste a list of URLs, pick a format, and get a download link for every file, plus page title, final URL and HTTP status.
It works for single pages or thousands of URLs. Common uses include visual archiving, website thumbnails, compliance records, QA and design reviews, link previews, and saving articles or invoices as PDFs. It's easy to call from AI agents, Zapier, Make, n8n or your own code through the Apify API.
Why use this website screenshot API?
| Website Screenshot & PDF API | Desktop extensions and manual capture | Self-hosted Puppeteer or Playwright | |
|---|---|---|---|
| Bulk URLs | Thousands per run | One at a time | Yes, after you build it |
| Full-page, viewport and single-element capture | Yes | Partly | You write the code |
| PNG, JPEG and PDF in one tool | Yes | Rarely | You write the code |
| Retina, mobile viewport, dark mode | Yes | Limited | You write the code |
| Cookie banners, ads and trackers | Ads and trackers blocked by default, banners hidden with CSS selectors | Visible | You write the code |
| Servers, browsers and scaling | Handled by Apify | n/a | Your job |
| Failed or 404 pages | Not charged | n/a | Still cost compute |
Who uses website screenshots?
- SEO and marketing teams capturing competitor landing pages, SERPs and ad pages over time.
- Compliance and legal teams archiving web pages as dated PDFs or images for evidence.
- QA, design and dev teams checking how pages render at different viewports and in dark mode.
- Product and growth teams generating website thumbnails and link previews.
- AI agents that need to "see" a page or save it as a PDF for later reading.
What can this screenshot tool do?
- ๐ธ Full-page screenshots of the whole scrollable page, or just the visible viewport.
- ๐ Web page to PDF with paper size (A4, Letter, Legal, A3, Tabloid), landscape mode and background printing.
- ๐ผ๏ธ PNG or JPEG, with adjustable JPEG quality for smaller files.
- ๐ฑ Any viewport, from a phone view (390 px wide) to 4K, with retina (2x/3x) pixel density.
- ๐ Dark mode rendering for sites that support it.
- ๐งน Hide cookie banners, chat widgets and popups with CSS selectors.
- ๐ฏ Capture a single element, such as a pricing table, chart or tweet embed.
- โณ Lazy-loaded content: scroll to the bottom first and wait for network idle or an extra delay.
- ๐ฆ No charge for broken pages. Pages returning 404 or other HTTP errors are skipped and reported, not billed.
How to take website screenshots in bulk
- Click Try for free.
- Add your URLs, typing them in, pasting a list or uploading a text file.
- Choose Output format: PNG, JPEG or PDF.
- Optionally set the viewport size, dark mode, elements to hide, or PDF options.
- Click Start. Each result has a
fileUrlyou can open or download.
Input example
{"startUrls": [{ "url": "https://apify.com" }, { "url": "https://en.wikipedia.org/wiki/Web_scraping" }],"format": "png","fullPage": true,"viewportWidth": 1280,"viewportHeight": 800,"deviceScaleFactor": 1,"hideSelectors": ["#onetrust-banner-sdk"],"scrollToBottom": false}
For a PDF, set "format": "pdf" and optionally "pdfPaperFormat": "Letter" and "pdfLandscape": true.
Output example
Every captured page is one dataset item, and the file itself is stored in the run's key-value store:
{"url": "https://en.wikipedia.org/wiki/Web_scraping","finalUrl": "https://en.wikipedia.org/wiki/Web_scraping","statusCode": 200,"title": "Web scraping - Wikipedia","format": "png","fileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/screenshot-en.wikipedia.org-0dbff88b785a","key": "screenshot-en.wikipedia.org-0dbff88b785a","contentType": "image/png","bytes": 2439275,"viewportWidth": 1280,"viewportHeight": 800,"fullPage": true,"selector": null,"takenAt": "2026-10-07T20:16:58.699Z"}
Pages that couldn't be captured are listed with the reason (for example Page returned HTTP 404) in the RUN_SUMMARY record of the key-value store.
How much does it cost to screenshot a website?
This Actor uses pay-per-event pricing. You only pay for files that were successfully saved:
| Event | Price |
|---|---|
| Screenshot saved (PNG or JPEG) | $2.50 per 1,000 screenshots ($0.0025 each) |
| PDF saved | $3.00 per 1,000 PDFs ($0.003 each) |
| High-resolution add-on (device scale factor 2 or 3) | $3.00 per 1,000 screenshots ($0.003 each) |
| Actor start | $0.00005 per run |
For example, 1,000 full-page screenshots at standard resolution cost about $2.50, and the same 1,000 at retina (2x) resolution cost about $5.50. 1,000 PDFs cost $3. Failed pages and HTTP error pages are free when Skip pages with HTTP errors is on (the default). Set Maximum cost per run in the run options to cap spending; the Actor stops cleanly when the limit is reached.
You don't pay separately for compute or the browser: the price per file already includes them.
Tips
- Cookie banners: add selectors like
#onetrust-banner-sdk,.cookie-banneror[id*="cookie"]to Hide elements. - Blank areas in full-page screenshots usually mean lazy loading. Turn on Scroll to bottom first or add a short Extra delay.
- Heavy single-page apps: use Wait until: Network idle.
- Ads and trackers are blocked by default for faster, cleaner captures. Turn off Block ads and trackers to capture a page exactly as visitors see it.
- Smaller files: use JPEG at quality 60โ80, and keep the device scale factor at 1.
- Some websites block automated browsers. Those pages are reported as failed, and you aren't charged for them.
Use it with AI agents (MCP) and the API
Add this Actor as a tool in Claude, ChatGPT, Cursor, VS Code or any other MCP client through the Apify MCP server:
https://mcp.apify.com?tools=magenta_waterwheel/website-screenshot-pdf
Then just ask, for example: "Take full-page screenshots of these 20 competitor homepages on a mobile viewport and give me the links." The agent fills in the input, runs the Actor and reads the results. The Actor runs with limited permissions, so it can only access its own run storage.
To get results in a single HTTP request, call the synchronous endpoint with your Apify API token:
curl -X POST "https://api.apify.com/v2/acts/magenta_waterwheel~website-screenshot-pdf/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://apify.com"}],"format":"png","fullPage":true}'
You can also use the official Python and JavaScript clients, or the ready-made code on the API tab.
Integrations and scheduling
- โฐ Schedule runs hourly, daily or weekly in Apify Console, with no server to maintain.
- ๐ Send results anywhere: Google Sheets, Slack, Google Drive, Airbyte, webhooks, or no-code tools such as Make, Zapier and n8n.
- ๐ค Export the dataset as JSON, CSV, Excel, XML, RSS or HTML.
- ๐ Monitoring: get notified if a run fails, and see every run's log and cost in Console.
FAQ
Is there a free trial?
Yes. Apify's Free plan includes $5 of usage credit every month, enough for about 2,000 screenshots with this Actor. No credit card is needed to start.
How do I convert a web page to PDF?
Set Output format to PDF. Choose the paper size (A4, Letter, Legal, A3 or Tabloid), portrait or landscape, and whether to print backgrounds. Each URL becomes one PDF file with a download link.
How do I take screenshots on a schedule?
Save your input as a task and add a schedule in Apify Console, for example daily at 9:00. Every run stores new dated files, which is handy for visual change tracking and archiving.
Where do I download the files?
Each dataset item has a fileUrl that points to the file in the run's key-value store. You can also open the Storage โ Key-value store tab of the run and download all files, or fetch them via the Apify API.
How long are files kept?
Files stay in the run's default key-value store according to your Apify plan's data retention. Download them or copy them to your own storage, for example through an integration, if you need to keep them longer.
Can it capture pages behind a login?
No. The Actor captures publicly accessible pages only.
Why did a page fail with HTTP 403?
The website blocked the automated browser. You can try the Proxy configuration option, but some sites will still block screenshots. You are not charged for failed pages.
Is there a maximum page height?
Very long pages, tens of thousands of pixels, take longer and produce large files. Use JPEG, viewport-only mode, or an element selector for extremely long pages.
Can I use it from AI agents or my own app?
Yes. Call it via the Apify API, the Apify MCP server, or the JavaScript and Python clients. Pass startUrls and read fileUrl from the dataset.
I found a bug or need a feature
Open an issue in the Issues tab with a link to your run. We aim to reply within one business day.
More tools from the same developer
| Actor | What it does | Price |
|---|---|---|
| Career Site Jobs API | Jobs from Greenhouse, Lever, Ashby and SmartRecruiters career sites, with salaries | $2 / 1,000 jobs |
| App Store Reviews Scraper | Apple App Store reviews and app details in any country | $0.25 / 1,000 reviews |
| Document & PDF to Markdown | PDF, Word, PowerPoint, Excel and HTML to LLM-ready Markdown, with OCR | $3 / 1,000 pages |