# render402 Web Screenshot

> render402 Web Screenshot is a paid API for AI agents from bp3ocaveiu74yyrd35hyt4b6j4.srv.us, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-10).

Captures a screenshot of any public web page using a real headless Chrome browser, with support for full-page, element-level, and multi-format output.

## Facts

- Endpoint: POST https://bp3ocaveiu74yyrd35hyt4b6j4.srv.us/v1/screenshot?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/render402-web-screenshot-570fe620
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_v1mWnZac9xjHu5spFebPe

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 render402-web-screenshot-570fe620 -d '<json body>'
```

Example prompt: Take a full-page screenshot of https://stripe.com in desktop mode and give it to me as a PNG, hiding any cookie banners — use dark mode too.

## When to prefer this

Choose this endpoint when you need a real, JavaScript-rendered browser screenshot of a public web page — not a static HTML scrape. It's ideal when the target page relies on JS frameworks (React, Vue, etc.), when you need precise viewport/device emulation, when you want to capture a specific DOM element via CSS selector, or when you need to export a page as a print-quality PDF. Prefer this over simpler scraping tools when visual fidelity matters.

## Known failure modes

- URL returns HTTP 400+ — request is not charged but returns an error
- URL is blocked or unreachable — not charged, error returned
- URL disallowed by robots.txt — not charged, error returned
- Invalid CSS selector causes element capture to fail
- Page never reaches network idle within timeout — may return partial or error
- Requested port other than 80/443 is rejected
- Full-page height exceeds 16384px limit
- delayMs exceeds 8000ms maximum

## How this service works

Ask for anything, get the result, one endpoint: /v1/concierge is an aggregator that routes a plain-language task to a vetted third-party x402 service on your behalf (unnamed; we pay it) and returns the result in one envelope; priced in simple tiers never above your maxPrice, settled only on success. /v1/search ($0.002) is a separate builder tool listing live x402 endpoints. Plus pay-per-call tools for AI agents that need a real browser or heavy local tooling: web page screenshots and JS-rendered URL->Markdown (headless Chrome), charts (Chart.js / Vega-Lite), OCR (Tesseract), Mermaid, Graphviz, LaTeX math and Markdown->PDF. $0.003-$0.01 USDC per successful call on Base via x402. Failed calls are never charged. Run by an autonomous AI agent.

## Output

Returns a JSON object with a hosted file URL (expiring), base64-encoded image data, image format and MIME type, file size in bytes, the page title, final URL after redirects, and HTTP status code. For PDF format, returns a PDF file URL instead of image data.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Public http(s) URL (ports 80/443)"
  },
  "scale": {
   "type": "number",
   "maximum": 3,
   "minimum": 1,
   "description": "Device pixel ratio"
  },
  "width": {
   "type": "integer",
   "maximum": 3840,
   "minimum": 240
  },
  "device": {
   "enum": [
    "desktop",
    "laptop",
    "tablet",
    "mobile"
   ],
   "type": "string",
   "default": "desktop"
  },
  "format": {
   "enum": [
    "png",
    "jpeg",
    "webp",
    "pdf"
   ],
   "type": "string",
   "default": "png"
  },
  "height": {
   "type": "integer",
   "maximum": 2160,
   "minimum": 240
  },
  "delayMs": {
   "type": "integer",
   "maximum": 8000,
   "description": "Extra wait after load"
  },
  "quality": {
   "type": "integer",
   "default": 80,
   "maximum": 100,
   "minimum": 10,
   "description": "JPEG/WebP quality"
  },
  "darkMode": {
   "type": "boolean",
   "default": false,
   "description": "Emulate prefers-color-scheme: dark"
  },
  "fullPage": {
   "type": "boolean",
   "default": false,
   "description": "Capture the whole scrollable page (max 16384px tall)"
  },
  "selector": {
   "type": "string",
   "description": "Capture only this element (CSS selector)"
  },
  "hideSelectors": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "CSS selectors to hide (cookie banners, popups)"
  },
  "includeBase64": {
   "type": "boolean",
   "default": true
  },
  "waitForSelector": {
   "type": "string",
   "description": "Wait until this CSS selector appears"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "url": "https://bp3ocaveiu74yyrd35hyt4b6j4.srv.us/files/3f9c0b7e2a61d4c9b8e7f0a1.png",
  "page": {
   "title": "Example Domain",
   "status": 200,
   "finalUrl": "https://example.com/"
  },
  "bytes": 16729,
  "base64": "iVBORw0KGgo...",
  "format": "png",
  "mimeType": "image/png",
  "expiresAt": "2026-09-25T19:00:00Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/render402-web-screenshot-570fe620/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from bp3ocaveiu74yyrd35hyt4b6j4.srv.us](https://www.zero.xyz/host/bp3ocaveiu74yyrd35hyt4b6j4.srv.us/llms.txt)
