Website Screenshot API
GET /api/website-screenshot $0.04 per call
USDC on Base · x402
WEBSITE SCREENSHOT — render any public URL in a real browser and get the pixels. GET ?url=… returns a PNG as base64 JSON (add &raw=1 for the image bytes directly). Options: width 320-1920 (default 1280), height, full_page=1 for the whole scrolled page, format=png|jpeg. Ads and cookie banners are blocked automatically. For agents that need to SEE a page: visual QA, previews, archiving, design reference.
Parameters
| Name | In | Description | |
|---|---|---|---|
url | query | required | Public http(s) URL of the page to capture |
width | query | viewport width in px (320-1920, default 1280) | |
height | query | viewport height in px (320-2160, default 800) | |
full_page | query | 1 = capture the entire scrolled page, not just the viewport | |
format | query | png (default) or jpeg | |
raw | query | 1 = respond with raw image bytes instead of JSON |
Example request
curl "https://api.webbersites.com/api/website-screenshot?url=https%3A%2F%2Fexample.com&width=1280&full_page=0"
# first call returns 402 + payment requirements; an x402 client pays and retries automaticallyExample response
{
"url": "https://example.com",
"format": "png",
"width": 1280,
"height": 800,
"full_page": false,
"content_type": "image/png",
"bytes": 184320,
"image_base64": "iVBORw0…"
}MCP tool: get_website_screenshot — via npx -y webbersites-x402-mcp (local, key stays on your machine) or the remote endpoint https://api.webbersites.com/mcp.
How payment works
There is no signup and no API key. Call the endpoint; it replies 402 Payment Required with machine-readable payment requirements. Your client signs a USDC transfer authorization (EIP-3009, gasless) and retries with the X-PAYMENT header — @x402/fetch does this automatically. See the overview for a working snippet.