# Webcap Web Capture API — Screenshot, Extract & Monitor

> Webcap Web Capture API — Screenshot, Extract & Monitor is a paid API for AI agents from webcap.shoutsid.fyi, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-12).

Captures a screenshot of any URL as PNG, JPEG, or PDF, with options for full-page capture, mobile viewport, post-load actions, and structured content extraction.

## Facts

- Endpoint: POST https://webcap.shoutsid.fyi/v1/capture/jobs?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/webcap-web-capture-api-screenshot-extract-monitor-93bdbeb8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vlL4Xio05_Wb0HSaqH5Iz

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 webcap-web-capture-api-screenshot-extract-monitor-93bdbeb8 -d '<json body>'
```

Example prompt: Take a full-page PNG screenshot of https://example.com using a desktop viewport of 1280x900 pixels, wait for the selector '#main-content' to appear before capturing, and give me the image.

## When to prefer this

Choose this endpoint when you need to programmatically capture a visual or textual snapshot of any public URL without managing API keys or accounts. It is especially well-suited for agents that need pay-per-call simplicity (x402/USDC micropayments), support for post-load browser interactions (click, type, wait), mobile/desktop viewport rendering, stealth proxy access, and structured content extraction in a single API call. Prefer it over headless browser infrastructure you'd have to self-host, or over screenshot SaaS products requiring OAuth and subscriptions.

## Known failure modes

- Target URL is unreachable or returns an error — capture fails with a network or HTTP error
- CSS selector wait timeout exceeded (capped at 10s) — partial or failed capture returned
- Requested format not supported for the target page type
- Proxy unavailable or blocked by target site when using stealth/auto proxy
- Page load timeout exceeded — capture returns incomplete or blank result
- Invalid viewport dimensions outside clamped range — request rejected
- Payment not provided or insufficient — 402 Payment Required response

## How this service works

Screenshot any URL. Extract structured data. Monitor for changes. Developer API with pay-per-call pricing — no API keys, no accounts.

## Output

Returns a JSON object containing: a base64-encoded image or PDF artifact (`artifact.data`), the artifact's public URL (`artifact.url`), its size in bytes (`artifact.bytes`), and the output format (`artifact.format`). Also includes payment metadata (payer address, price in USDC units). For extraction requests, structured page content is included in the artifact.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "The page to capture"
  },
  "format": {
   "enum": [
    "png",
    "jpeg",
    "pdf"
   ],
   "type": "string",
   "description": "Screenshot format (default png)"
  },
  "options": {
   "type": "object",
   "properties": {
    "proxy": {
     "type": "string",
     "description": "Proxy: \"auto\", \"stealth\", or an http(s) proxy URL string"
    },
    "actions": {
     "type": "array",
     "items": {
      "type": "object",
      "properties": {
       "text": {
        "type": "string",
        "description": "Text to type (type only)"
       },
       "type": {
        "enum": [
         "click",
         "type",
         "wait"
        ],
        "type": "string",
        "description": "Action kind"
       },
       "selector": {
        "type": "string",
        "description": "CSS selector (click/type)"
       },
       "timeoutMs": {
        "type": "integer",
        "description": "Wait duration in milliseconds (wait only, capped at 10000)"
       }
      }
     },
     "maxItems": 5,
     "minItems": 1,
     "description": "Post-load actions: click/type/wait objects (1 to 5)"
    },
    "waitFor": {
     "type": "object",
     "properties": {
      "selector": {
       "type": "string",
       "description": "CSS selector to wait for"
      },
      "timeoutMs": {
       "type": "integer",
       "description": "Wait timeout in milliseconds (capped at 10000)"
      }
     },
     "description": "Wait for a selector before capture (timeoutMs capped at 10000)"
    },
    "fullPage": {
     "type": "boolean",
     "description": "Capture the full scrollable page"
    },
    "isMobile": {
     "type": "boolean",
     "description": "Render with a mobile viewport"
    },
    "viewport": {
     "type": "object",
     "properties": {
      "width": {
       "type": "integer",
       "description": "Viewport width in CSS pixels"
      },
      "height": {
       "type": "integer",
       "description": "Viewport height in CSS pixels"
      }
     },
     "description": "Capture viewport in CSS pixels (clamped to 320-3840 wide, 320-2160 tall)"
    },
    "timeoutMs": {
     "type": "integer",
     "description": "Page load timeout in milliseconds"
    },
    "userAgent": {
     "type": "string",
     "description": "Custom user agent string"
    },
    "maxContentWords": {
     "type": "integer",
     "description": "Word budget for the extracted main content (par
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "payment": {
   "payer": "0x000000000000000000000000000000000000dEaD",
   "priceUsdcUnits": 1000
  },
  "artifact": {
   "url": "https://example.com/v1/artifacts/00000000-0000-4000-8000-000000000000",
   "data": "aGVsbG8gd29ybGQ=",
   "bytes": 2048,
   "format": "png"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/webcap-web-capture-api-screenshot-extract-monitor-93bdbeb8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from webcap.shoutsid.fyi](https://www.zero.xyz/host/webcap.shoutsid.fyi/llms.txt)
