Website screenshots
Turn any public URL into a permanently hosted PNG — desktop or mobile, viewport or full page, captured from the country you choose.
Website screenshots
We run the browsers so you don't have to. One call to webpageScreenshot
takes a public URL and hands back a hosted PNG that never expires — no
headless-browser fleet, no image storage, no cleanup.
What you can call
webpageScreenshot — POST /v1/live-fetch/webpage/screenshot
(API reference)
| Field | What it does |
|---|---|
url | The page to capture. Bare domains work too — stripe.com is treated as https://stripe.com |
fullPage | false (default) captures the visible viewport; true captures the entire scrollable page |
format | desktop (default, widescreen viewport) or mobile (phone-sized viewport) |
country | Optional ISO 3166-1 alpha-3 code (USA, GBR, DEU) for a geo-located capture; omitted = US-based |
What comes back:
| Field | What it is |
|---|---|
screenshotUrl | Hosted PNG of the capture — the URL is permanent |
pageUrl | The final URL after redirects — may differ from what you sent |
pageTitle | The page's HTML title, when available |
imageMediaType | Always image/png |
capturedAt | ISO 8601 capture timestamp |
Capture options that matter
- Full page vs viewport. Viewport shots are what a visitor sees above the fold; full-page shots scroll the whole document — long pricing pages, entire blog posts.
- Desktop vs mobile. The same page often ships different layouts;
format: "mobile"shows you the phone experience. - Geo-located capture. Pass
countryand the page is fetched from that region — localized pricing, region-gated content, and geo-targeted banners appear the way a visitor there sees them.
Behavior to know
- Public pages only. Private, internal, and non-HTTP(S) addresses are rejected with a clear error.
- Redirects are followed and the response tells you where you landed —
compare
pageUrlto your input when tracking moved pages. - Rate limit: 60 requests/minute. Heavy pages can take a while to render — give the call up to 60 seconds before timing out client-side.
Using it effectively
- Store the URL, not the image. The hosted link is permanent, so your database only needs the string.
- Record
pageUrl, not just your input — it's the page you actually captured. - Use
countrydeliberately when a target localizes; a US capture of a geo-aware page can be the wrong evidence.
Use cases
Visual context on company records from search, landing-page snapshots when a tracker signal fires, and timestamped page archives that don't rot.
Credits
2 credits per successful screenshot. Every failure — blocked URL,
render error, anything — is automatically refunded, so you pay only for
images you receive. chargeInfo on the response is the authoritative
record. See Billing & credits.