Screenshot Capture
screenshot_captureCapture a static screenshot of any webpage and get a shareable download URL. Choose full page, specific element, format, and more for a customized capture.
Instructions
Capture a static screenshot of a webpage and return a JSON response containing the screenshot URL which can be downloaded or shared directly. Always ask the user before calling this tool:
Full page or just the visible viewport?
Specific element, or the whole page? (If a specific element is needed, help identify the CSS selector via web_fetch on the target URL first.)
Image format: PNG, JPG, WebP, or PDF?
Should ads or cookie banners be blocked for a cleaner result?
Any viewport size / device to simulate?
Use screenshot_capture_scrolling instead when the user wants a scrolling video/GIF of the page.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL of the webpage to screenshot (e.g. 'https://example.com'). | |
| full_page | No | If true, captures the entire scrollable page height — not just the visible viewport. Ideal for long landing pages, documentation, or blog posts. | |
| file_type | No | Output image format. PNG (default) — lossless with transparency support. JPG — smaller file size, lossy. WebP — modern format, good compression. PDF — renders the page as a PDF document. | PNG |
| image_quality | No | JPEG compression quality from 0 (smallest file) to 100 (best quality), default 80. Only applies when file_type is JPG — ignored for PNG, WebP, and PDF. | |
| width | No | Viewport width in pixels (default 1680, max 7680). Use to simulate specific device widths (e.g. 375 for iPhone, 768 for tablet). | |
| height | No | Viewport height in pixels (default 867, max 4320). | |
| selector | No | CSS selector to capture only a specific element on the page (e.g. '#hero', '.pricing-table'). Falls back to full-page capture if the selector is not found. | |
| remove_selector | No | CSS selector(s) for elements to remove from the page before rendering (e.g. '.cookie-bar, #live-chat'). Multiple selectors separated by commas. | |
| no_cookie_banners | No | Block cookie consent banners before rendering for a clean, overlay-free screenshot. | |
| block_ads | No | Block advertisements before rendering. | |
| dark_mode | No | Enable dark mode for websites that support it via CSS prefers-color-scheme. | |
| delay | No | Delay in milliseconds before rendering begins. Useful to let animations finish or dynamic content settle after page load. | |
| lazy_load | No | If true, automatically scrolls the page before rendering to trigger lazy-loaded images and off-screen content. | |
| wait_for_event | No | 'load' (default) — fires when the page load event completes. 'domcontentloaded' — fires earlier, before images/stylesheets finish. 'networkidle' — waits for all network activity to stop (slowest but most complete — good for heavy SPAs). | load |
| extract_html | No | If true, the response includes a URL to the raw HTML source of the page as a .html file. ⚠️ Token usage warning: downloading and reading that file can significantly increase token consumption — only enable if the user explicitly needs the HTML source. | |
| extract_text | No | If true, the response includes a URL to the plain-text content of the page as a .txt file. ⚠️ Token usage warning: reading that content will increase token usage — only enable if the user explicitly needs the extracted text. |