Web hub

Web Screenshot API

Pass a public URL, get a page screenshot back in the shared Social Fetch envelope — same API key as markdown extract and social lookups.

GET /v1/web/screenshot

1 credit +1 credit for region Max 2 credits Free when the page blocks the capture (restricted)

About this endpoint

GET /v1/web/screenshot takes a required url (http or https) and returns a screenshot in the shared { data, meta } envelope. On lookupStatus: found or restricted, data.artifact holds a hosted image URL (default response=url, valid for 7 days) with format, mime, bytes, and dimensions. Optional response=base64 returns inline bytes when small enough. Tune capture with fullPage, viewport size, format (png / jpeg / webp), selector, waitUntil, cookie/ad blockers, darkMode, and optional region (ISO country code, +1 credit). Optional cacheMode is enabled (default), bypass, or write_only. Bill from meta.creditsCharged.

This route captures one page you already know. Prefer GET /v1/web/markdown or GET /v1/web/html for text or markup. Discover candidate URLs first with GET /v1/web/search. All share one Social Fetch API key.

Web Screenshot API FAQ

What does the Web Screenshot API return?

A data object with lookupStatus (found or restricted), the rendered url, optional finalUrl and title, HTTP status when available, and an artifact with a hosted CDN url plus format, mime, bytes, width, height, and expiresAt. When response=base64, data.base64 may include the image bytes. The response uses the shared Social Fetch envelope with meta.requestId and meta.creditsCharged.

How do I call web screenshot?

Send GET /v1/web/screenshot with x-api-key and a required url query parameter (public http or https, up to 2083 characters). Optionally add fullPage, viewportWidth, viewportHeight, format, selector, waitUntil, region, cacheMode, and response (url or base64). Full enums and examples are in the API docs.

How much does web screenshot cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.

What does lookupStatus restricted mean?

restricted means bot or access protection blocked a clean fetch. A screenshot artifact may still be returned (for example a challenge page). The request can still bill as a completed lookup — read meta.creditsCharged and treat restricted as a hard stop for that URL when you need the real page content.

Is this the same as web markdown or HTML?

No. GET /v1/web/screenshot returns an image of the rendered page. GET /v1/web/markdown and GET /v1/web/html return text or cleaned markup. Typical flow: search for candidates, then screenshot (or markdown/html) on the URLs you keep.

Can web screenshot read pages behind a login?

No. Only publicly reachable pages without your session cookies. Private dashboards and authenticated app screens are out of scope.