# webcap Scroll-Capture Video API

> webcap Scroll-Capture Video API is a paid API for AI agents from webcap.shoutsid.fyi, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-12).

Records a scrolling video capture of any URL as an MP4 or WebM file, with configurable viewport, duration, scroll speed, and easing

## Facts

- Endpoint: GET https://webcap.shoutsid.fyi/v1/x402/video?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/webcap-scroll-capture-video-api-b0606bbc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_WbKUvaxCZ2o_4v-AzGrOW

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-scroll-capture-video-api-b0606bbc
```

Example prompt: Record a scrolling mp4 video of https://example.com — make it 10 seconds long with a 1280x800 viewport, scroll at 600 pixels per step with ease-in-out easing.

## When to prefer this

Use this endpoint when you need a video recording of a webpage's scroll behavior rather than a static screenshot — ideal for creating demo content, visual regression testing across scroll positions, or archiving how a full-length page appears animated. Prefer this over screenshot endpoints when motion, scroll flow, or time-based rendering matters. The pay-per-call model (no account required) makes it ideal for low-frequency or automated one-off captures.

## Known failure modes

- URL is unreachable or returns an error — capture fails with no artifact
- durationMs exceeds 30000ms limit — clamped or rejected
- Viewport dimensions outside allowed range (width 320–3840, height 320–2160) — clamped
- Payment not fulfilled — 402 response with no artifact
- Invalid format enum value — validation error
- Page has heavy JavaScript that doesn't render in time — incomplete or blank video

## 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

A JSON response containing a base64-encoded video file (MP4 or WebM) of the scrolling webpage, its MIME type, and byte size, along with payment metadata (payer address and USDC amount charged).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "The page to scroll-capture"
  },
  "format": {
   "enum": [
    "mp4",
    "webm"
   ],
   "type": "string",
   "description": "Accepted for compatibility; recordings are always WebM/VP8 (mp4 is a legacy alias, default webm)"
  },
  "options": {
   "type": "object",
   "properties": {
    "viewport": {
     "type": "object",
     "properties": {
      "width": {
       "type": "integer",
       "description": "Viewport width in CSS pixels"
      },
      "height": {
       "type": "integer",
       "description": "Viewport height in CSS pixels"
      }
     },
     "description": "Recording viewport in CSS pixels (clamped to 320-3840 wide, 320-2160 tall)"
    }
   },
   "description": "Capture options (viewport forwarded to the recording context)",
   "additionalProperties": false
  },
  "durationMs": {
   "type": "integer",
   "description": "Recording duration in milliseconds (default 5000, at most 30000)"
  },
  "scrollSpeed": {
   "type": "integer",
   "description": "Pixels scrolled per choreography step (default 800, at most 5000)"
  },
  "scrollEasing": {
   "enum": [
    "linear",
    "ease-in-out"
   ],
   "type": "string",
   "description": "Scroll easing (default linear)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "payment": {
   "payer": "0x000000000000000000000000000000000000dEaD",
   "priceUsdcUnits": 5000
  },
  "artifact": {
   "data": "aGVsbG8gd29ybGQ=",
   "mime": "video/mp4",
   "bytes": 1048576
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/webcap-scroll-capture-video-api-b0606bbc/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)
