Screenshot

$0.004 per callUSDC via x402GET /api/screenshot

Screenshot any public URL in headless Chromium. Send GET /api/screenshot with the required field url and pay $0.004 per call over x402 or MPP (there is no free tier). It returns raw bytes, not JSON, with Content-Type image/png.

Returns a PNG image. Use when you need VISUAL evidence (layout, charts, a rendered receipt); when you need the text, extract or render are cheaper and machine-readable.

Category: Web & documentsTags: browser screenshot png visual

Try in playground →

Parameters

NameTypeRequiredDescription
urlstringyesPublic http(s) URL to screenshot Also accepted as link, uri, href, page.
fullPagestringnotrue for full-page capture (default false)

Example request

curl -i "https://agent402.tools/api/screenshot?url=https%3A%2F%2Fagent402.tools&fullPage=false"

Without payment this returns HTTP 402 Payment Required with the exact price for screenshot; any x402 v2 or MPP client pays it and retries.

Example response

A 200 carries raw bytes, not JSON, with Content-Type image/png: the file itself.

From an MCP client

catalog.call {
  "slug": "screenshot",
  "params": {
    "url": "https://agent402.tools",
    "fullPage": "false"
  }
}

The hosted connector at https://agent402.tools/mcp needs a payment for screenshot; the stdio package pays it from a wallet or from an AGENT402_CREDITS_KEY issued earlier. Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.({ maxAmountPerPayment: "$0.004" }); // refuse any quote above this tool's price
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/screenshot?url=https%3A%2F%2Fagent402.tools&fullPage=false");

Related tools

HTML frames (render contract, frame check)

from $0.02 · POST /api/html-frames

Freeze frames of an animation under the render contract: the page defines window.renderAt(t).

Image convert

FREE w/ compute · or $0.005 · POST /api/image-convert

Convert an image between formats (PNG, JPEG, BMP).

Image resize

FREE w/ compute · or $0.001 · POST /api/image-resize

Resize an image to given pixel dimensions.

Page speed (one lab measurement)

$0.01 · POST /api/page-speed

Load one public URL once in headless Chromium and report what that load measured: navigation timings (TTFB.

Browser render

$0.01 · POST /api/render

Render a page in a real headless Chromium browser (JavaScript executed), then extract the main content as clean.

Image search

$0.02 · GET /api/search-images

Live image search: ranked image results (title, source page, image URL, thumbnail URL, dimensions) from an independent.