# how.is Screenshot

> how.is Screenshot is a paid API for AI agents from how.is, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-31).

Captures a 1280px-wide JPEG screenshot of any public URL, returning the image, final URL, HTTP status, and page title

## Facts

- Endpoint: POST https://how.is/v1/site/screenshot?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/how-is-screenshot-256a2152
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LZGWkOJNoAdBk-vsRLWlk

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 how-is-screenshot-256a2152 -d '<json body>'
```

Example prompt: Can you take a full-page screenshot of https://example.com and show me what it looks like, including the final URL and page title?

## When to prefer this

Choose this endpoint when you need a visual, rendered representation of a webpage — not just its raw HTML or text content. It is ideal when you need to verify how a page actually looks in a browser, capture a visual record for archiving or QA, or check rendering of dynamic/JavaScript-heavy pages. Prefer this over plain HTTP fetchers or markdown extractors when the visual layout, images, or styling matter.

## Known failure modes

- URL is not publicly accessible or returns an error HTTP status
- URL exceeds 2000-character limit
- Page renders blank or times out during rendering
- Full-page height exceeds the 6000px cap, resulting in a truncated capture
- Invalid or non-HTTP(S) URL format causes rejection
- Payment failure via x402 protocol prevents request from completing

## How this service works

See a web page: a 1280-wide JPEG of any public URL, viewport or full page (capped at 6000 px), with its final URL, HTTP status and title.

## Output

A base64-encoded JPEG image (1280px wide, up to 6000px tall for full-page), along with the final URL after redirects, HTTP status code, page title, MIME type, image dimensions, and an optional note — plus a payment receipt with charge amount and settlement transaction hash.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "maxLength": 2000,
   "description": "A public http(s) URL"
  },
  "full_page": {
   "type": "boolean",
   "description": "Capture the whole page, not just the first screen"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "_shape": "data: image_base64 (JPEG), mime, width, height, final_url, http_status, title, note."
  },
  "result": "Website screenshot for the requested subject",
  "receipt": {
   "rail": "x402",
   "tool": "screenshot",
   "charge_usd": 0.02,
   "settlement_tx": "0x…"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/how-is-screenshot-256a2152/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from how.is](https://www.zero.xyz/host/how.is/llms.txt)
