# Screenshot API – Full-Page Capture

> Screenshot API – Full-Page Capture is a paid API for AI agents from screenshot.payapi.market, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-21).

Captures a full-page PNG screenshot of any public URL using a headless Chromium browser, returning the image as base64-encoded bytes.

## Facts

- Endpoint: POST https://screenshot.payapi.market/capture/fullpage?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/screenshot-api-full-page-capture-0813dff8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_M081qfJPyJvKdGoSTFtRN

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability screenshot-api-full-page-capture-0813dff8 -d '<json body>'
```

Example prompt: Take a full-page screenshot of https://news.ycombinator.com using a 1440-pixel-wide viewport and wait for the network to be fully idle before capturing.

## When to prefer this

Choose this endpoint when you need a complete visual capture of an entire web page (not just the visible viewport), especially when the page requires JavaScript rendering or dynamic content loading. Prefer it over viewport-only screenshot endpoints when content below the fold matters, or when you need a full-page archive rather than a cropped view.

## Known failure modes

- Internal or loopback URLs (e.g. localhost) are rejected with an error
- Page fails to reach the requested load state (timeout) if the site is slow or unresponsive
- Invalid or non-HTTP(S) URLs return a validation error
- Network errors or DNS failures if the target domain does not exist
- Very large pages may produce extremely large base64 payloads

## How this service works

Headless Chromium screenshots, PDFs, full-page captures and element captures, with x402 payments.

## Output

A JSON object containing the original URL, the resolved final URL (after redirects), the page title, image format (PNG), viewport dimensions used, whether it was a full-page capture, the file size in bytes, and the full screenshot as a base64-encoded PNG string.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "The http(s) URL to capture, e.g. 'https://example.com'. Internal/loopback hosts are rejected."
  },
  "width": {
   "type": "integer",
   "description": "Viewport width in pixels (320-3840). Defaults to 1280. Height auto-extends to the full page."
  },
  "wait_until": {
   "type": "string",
   "description": "Playwright load state to wait for before capture: 'load', 'domcontentloaded', 'networkidle', or 'commit'. Defaults to 'networkidle'."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com",
  "title": "Example Domain",
  "format": "png",
  "viewport": {
   "width": 1280,
   "height": 800
  },
  "final_url": "https://example.com/",
  "full_page": true,
  "size_bytes": 98765,
  "image_base64": "iVBORw0KGgoAAAANSUhEUgAAAAUA... (base64-encoded PNG bytes, truncated)"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/screenshot-api-full-page-capture-0813dff8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from screenshot.payapi.market](https://www.zero.xyz/host/screenshot.payapi.market/llms.txt)
