# 2s.io Screenshot API

> 2s.io Screenshot API is a paid API for AI agents from 2s.io, paid per call via x402, $0.0075/call, status unknown (last checked 2026-09-15).

Captures a screenshot of any HTTPS URL and returns the image, with configurable viewport, format, and render settings

## Facts

- Endpoint: POST https://2s.io/api/ai/screenshot
- Price: $0.0075/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-screenshot-api-6a40a4a1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Kj-TSqy0g1QhkBuBWKByS

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 2s-io-screenshot-api-6a40a4a1 -d '<json body>'
```

Example prompt: Take a full-page screenshot of https://example.com at 1920x1080 in PNG format, blocking ads, and wait until the network is idle before capturing.

## When to prefer this

Use this endpoint when you need a visual rendering of a web page without setting up a browser automation environment. Ideal for agents that need to capture screenshots for previews, monitoring, or visual verification tasks. Prefer over alternatives when you want no-signup, pay-per-call pricing with no monthly commitment.

## Known failure modes

- URL is unreachable or returns an error — render timeout or HTTP error
- Timeout exceeded (max 15000ms) — page did not finish loading in time
- Invalid URL format — must be a valid HTTPS URI
- Viewport dimensions out of range (width 320-3840, height 320-2160)
- Device scale factor out of range (1-3)
- Quality value out of range for JPEG/WebP (1-100)
- Payment failure via x402 — insufficient USDC balance or wallet not connected

## How this service works

The (most) everything API: 575+ pay-per-call endpoints for AI agents — ground-truth data, a full AI gateway, and agent infrastructure (storage, queues, watchers). USDC via x402, no signup, no API keys, and upto billing: pay actual usage, not the quote.

## Output

Returns an image file (PNG, JPEG, or WebP) of the rendered webpage at the specified viewport dimensions. The response is the raw image data of the captured screenshot.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "maxLength": 2048,
   "description": "HTTPS URL to render."
  },
  "width": {
   "type": "integer",
   "maximum": 3840,
   "minimum": 320,
   "description": "Viewport width (320-3840). Default 1280."
  },
  "format": {
   "enum": [
    "png",
    "jpeg",
    "webp"
   ],
   "type": "string",
   "description": "Image format. Default png."
  },
  "height": {
   "type": "integer",
   "maximum": 2160,
   "minimum": 320,
   "description": "Viewport height (320-2160). Default 720."
  },
  "quality": {
   "type": "integer",
   "maximum": 100,
   "minimum": 1,
   "description": "JPEG/WebP quality 1-100. Ignored for PNG."
  },
  "blockAds": {
   "type": "boolean",
   "description": "Block ads + trackers. Default true."
  },
  "fullPage": {
   "type": "boolean",
   "description": "Capture the full scrollable page instead of the viewport."
  },
  "timeoutMs": {
   "type": "integer",
   "maximum": 15000,
   "minimum": 1000,
   "description": "Render timeout in milliseconds (1000-15000). Default 8000."
  },
  "waitUntil": {
   "enum": [
    "load",
    "domcontentloaded",
    "networkidle0",
    "networkidle2"
   ],
   "type": "string",
   "description": "Wait condition before snap. Default networkidle2."
  },
  "deviceScaleFactor": {
   "type": "integer",
   "maximum": 3,
   "minimum": 1,
   "description": "Pixel density multiplier 1-3. Default 1."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-screenshot-api-6a40a4a1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
