Website Screenshot API & PDF - Full Page, No Cookie Banners avatar

Website Screenshot API & PDF - Full Page, No Cookie Banners

Pricing

from $3.50 / 1,000 page captureds

Go to Apify Store
Website Screenshot API & PDF - Full Page, No Cookie Banners

Website Screenshot API & PDF - Full Page, No Cookie Banners

Full-page screenshots and PDFs of any list of URLs, with cookie banners and most pop-ups hidden, lazy images loaded, animations finished and sticky headers shown once. Emoji and Chinese, Japanese and Korean text render. Desktop, tablet or phone; JPEG, PNG or WebP. Failed pages are not charged.

Pricing

from $3.50 / 1,000 page captureds

Rating

0.0

(0)

Developer

Samuel Anttila

Samuel Anttila

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Security

Limited permissions

Share

Give it a list of URLs and get a clean full-page screenshot of each page (and a PDF if you want one). The things that usually spoil website screenshots are handled for you:

  • Cookie and consent banners are hidden. Banners from OneTrust, Cookiebot, Didomi, Quantcast, TrustArc, Usercentrics, CookieYes, Sourcepoint, iubenda, Complianz, Borlabs and many hand-made ones are hidden with CSS, and page scrolling is restored. Nothing is clicked, so no consent is given on anyone's behalf.
  • Pop-ups are hidden too. Newsletter, app-install and notification pop-ups and closable bars that float over the page are hidden. Only floating elements with a close button (or marked as a modal dialog) count, so headers, menus and tab bars stay. You can turn this off.
  • Lazy images are loaded. The page is scrolled through first, so images, maps and lists that load on scroll are in the picture, then it goes back to the top.
  • Sticky headers don't repeat or cover content. Fixed headers, sidebars and chat buttons are shown once, where they sit at the top of the page (or hidden, if you choose). Sidebars that scroll inside themselves are shown in full instead of being cut at screen height.
  • Nothing is caught half-way. Animations and transitions jump to their end state and videos pause before the capture, so charts are fully drawn and fade-in sections are visible. You can turn this off.
  • Long pages stay fast. In our tests a plain Chrome capture of a very long page (the Wikipedia articles on Japan and Finland, about 47,000 pixels tall) took 53 to 68 seconds. This actor trims the page to the part being captured, and the same capture took about half a second.
  • Emoji and Chinese, Japanese and Korean text render (the fonts are installed), instead of empty boxes.
  • You choose the height. Capture the whole page, only the first screen, the top N pixels, or a single element by CSS selector.
  • Failed pages are not charged. Each URL is retried (2 times by default). Pages that could not be captured, invalid URLs and error pages (HTTP 4xx/5xx) cost nothing; each row says whether it was charged.

What you get

For every URL, one row in the dataset with links to the files in the run's key-value store (this row is from a real run with "Also save a PDF" on; the site sent its English edition):

{
"url": "https://www.lemonde.fr/",
"finalUrl": "https://www.lemonde.fr/en/",
"statusCode": 200,
"title": "Le Monde in English – World news, culture and opinion",
"screenshotUrl": "https://api.apify.com/v2/key-value-stores/<store id>/records/screenshot-0001-lemonde-fr-en.jpg?signature=<signature>",
"screenshotKey": "screenshot-0001-lemonde-fr-en.jpg",
"format": "jpeg",
"widthPx": 1440,
"heightPx": 6000,
"device": "desktop-1440",
"deviceScaleFactor": 1,
"bytes": 730458,
"truncated": true,
"pdfUrl": "https://api.apify.com/v2/key-value-stores/<store id>/records/pdf-0001-lemonde-fr-en.pdf?signature=<signature>",
"pdfKey": "pdf-0001-lemonde-fr-en.pdf",
"pdfBytes": 9206417,
"charged": true,
"note": "",
"loadTimeMs": 7106,
"capturedAt": "2026-10-23T22:53:12.185Z"
}

The links carry a signature, so they open without your API token (on accounts where storage access is restricted, plain record links do not).

truncated is true when the page was taller than your maximum height. charged is false for error pages (the screenshot is still saved, so you can see what the site returned). Pages that could not be captured get a row with an error message instead, also shown in the Note column (no charge). If a page never stopped loading in the background (live tickers, chat widgets), it is captured once the document itself has loaded and the row gets a note saying so. The Output tab shows the screenshots as a table you can scroll through.

Options

OptionWhat it does
DeviceDesktop 1920 / 1440 / 1366, iPad, iPhone, Android phone, or a custom size. Phone and tablet presets send a mobile user agent.
Pixel density1x or retina 2x/3x.
Full page / Maximum heightWhole page, or stop at a height (default 15,000 px).
Capture one elementA CSS selector, e.g. #pricing.
Image formatJPEG (default), PNG or WebP, with quality for JPEG/WebP.
Also save a PDFA4, Letter, Legal or A3, portrait or landscape, backgrounds printed. Stops after 50 pages by default (you can raise it to 1,000).
Hide cookie banners / Hide pop-ups / Also hide these elementsBoth on by default; add your own selectors for anything else, such as a chat widget.
Sticky headersShow once at the top (default), hide, or leave as is.
Wait until / Wait for element / Extra delayFor pages that render late.
Dark modeRenders sites that support prefers-color-scheme: dark in dark mode.
Stop animationsOn by default: animations end, videos pause. Off captures the page as it moves.
Block common ad networksBlocks well-known ad servers (empty ad slots may stay as blank space).
CookiesYour own session cookies for pages you are allowed to access.

Use it from code

Run it with the Apify API or any Apify client. Example input:

{
"urls": [{ "url": "https://www.theguardian.com/international" }, { "url": "https://example.com/pricing" }],
"device": "mobile-iphone",
"fullPage": true,
"maxHeight": 8000,
"format": "webp",
"savePdf": true
}

Use it from AI agents

Add the Apify MCP server (https://mcp.apify.com) to Claude, Cursor or another MCP client, and agents can call this actor as a tool, for example to take a clean full-page screenshot of a page and pass on the image link.

Pricing

Pay per event, with Apify's platform usage included:

EventFree planStarterScaleBusiness
Page captured$5.00 / 1,000$4.50 / 1,000$4.00 / 1,000$3.50 / 1,000
PDF saved (only with "Also save a PDF")$3.00 / 1,000$2.70 / 1,000$2.40 / 1,000$2.00 / 1,000

A run start costs $0.00001. Failed pages, invalid URLs and error pages are free. A file larger than 10 MB counts once per started 10 MB (a 54 MB PDF of a news front page with hundreds of photos counts as 6); nearly every screenshot and PDF is under 10 MB, and the row's note says when a file counted more than once. You can set a maximum total charge for a run; the actor stops when it is reached and lists the remaining URLs as skipped.

Good to know

  • Pages behind a login need your own cookies. Sites that block automated browsers may still show a block page; the row then has the page as the site served it, with its HTTP status.
  • Chrome cannot paint one image much taller than about 16,000 device pixels, so extremely long pages are cut there (marked truncated). Use a lower pixel density or the maximum height option for very long pages.
  • When "Also save a PDF" is on, the whole page is scrolled through first (not only down to the maximum height), so the PDF has every image. Long, photo-heavy pages make large PDFs; lower the page limit if you only need the start.
  • Banner hiding covers the common consent tools and obvious consent dialogs. If a site uses an unusual one, add its selector to "Also hide these elements".
  • Only capture pages you are allowed to capture, and respect the sites' terms.