Website Screenshot

Capture a public web page as an image: desktop or mobile viewport, the visible screen or the full page, or one element by CSS selector

Try Website Screenshot in the playground

Last updated View as MarkdownAgent setup

Website Screenshot

Node type: research:website_screenshot
Category: Research

Description

Capture a public web page as an image: desktop or mobile viewport, the visible screen or the full page, or one element by CSS selector

Canvas ports

These appear as port handles on the left side of the node.

ID Label Details
url Page URL TEXT (required)

These render as form fields in the right-side config panel when the node is selected.

ID Label Details
viewport Viewport TEXT · options: desktop, mobile, custom · default: "desktop"
viewport_width Custom width (px, 320-3840; used when Viewport is custom) NUMBER
viewport_height Custom height (px, 320-4096; used when Viewport is custom) NUMBER
full_page Full page (the whole scroll, not just the screen) BOOLEAN · default: false
selector CSS selector (optional; captures just that element) TEXT
wait_ms Extra wait after load (ms, 0-10000; blank = 0) NUMBER

Outputs

ID Label Type
image Image IMAGE
width Width NUMBER
height Height NUMBER

What it is for

The homepage or product screen a launch video, an ad or a brand board needs, captured on the board. Wire a text node holding the URL into Page URL, press Capture, and the page comes back as a PNG on our CDN, ready to wire into the Compositor, the Video Editor or any image model.

The URL comes from the port only. A #fragment is kept for the browser, so a hash-routed app (example.com/#/pricing) captures the screen you named.

Settings

Setting What it does
Viewport desktop is 1440 x 900 at 1x. mobile is 390 x 844 at 3x, like the phone it imitates, so the PNG is 1170 x 2532. custom uses the two fields below at 1x.
Custom width / height 320 to 3840 wide, 320 to 4096 tall, in CSS pixels. Only read when Viewport is custom. A value outside the range is refused, never quietly clamped.
Full page Off: the visible screen. On: the whole scroll.
CSS selector Captures one element (header, #pricing, .hero). Waits up to 10 seconds for it to appear, and wins over Full page.
Extra wait Up to 10000 ms after the page loads, for sites that animate in.

Width and Height come off the PNG itself, so they are the captured size (3x on mobile), not the requested one.

What it refuses

  • Private, loopback, link-local, metadata and internal-only addresses, judged on what the URL says AND on what the hostname resolves to, on the URL you give and on every redirect it answers with. A public page that redirects to 169.254.169.254 or 10.0.0.1 is refused before any capture happens.
  • Pages the site's robots.txt disallows for WireflowBot or *. No readable robots.txt means allowed.
  • A PNG over 25 MB. A very long page on Full page can get there: turn Full page off, or crop to one element.

It sends no cookies, no logins and no custom headers, so it only ever sees what a signed-out visitor sees. A URL with a username and password in it is refused rather than stripped.

How it captures

The page runs in a sandboxed browser outside our network. It waits for the page to go network-idle for up to 30 seconds and captures what is there if it never does (a chat widget that polls forever does not fail the capture). The whole capture has a 90 second budget.

What it costs

No credits. Captures are counted instead: 10 a day on the free plan and 300 a day on a paid plan, reset at 00:00 UTC. A capture refused before the browser runs (a blocked address, robots.txt, a bad setting) does not count.

It is run-gated: it never re-captures on its own when something upstream changes, only when you press Capture or run the workflow, because every capture is a real visit to someone else's site.


Auto-generated from the Wireflow node registry.

For AI agents: the full documentation index is at /llms.txt, and most docs pages are available as Markdown by adding .md to the URL.

© 2026 Wireflow. All rights reserved.