# agdata Screenshot API

> agdata Screenshot API is a paid API for AI agents from agdata.shveik.dev, paid per call via x402, $0.01897/call, status unknown (last checked 2026-10-14).

Captures a screenshot of any URL and returns the image as base64-encoded data, with configurable dimensions, device type, format, and capture options.

## Facts

- Endpoint: POST https://agdata.shveik.dev/v1/mpp/screenshot?utm_source=zero.xyz
- Price: $0.01897/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agdata-screenshot-api-a5421da6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3ou-lr09r3YF_FOHO1Pel

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 agdata-screenshot-api-a5421da6 -d '<json body>'
```

Example prompt: Take a desktop screenshot of https://example.com at 1920x1080 in JPEG format, wait 1000ms before capturing, and give me the full page as base64.

## When to prefer this

Use this endpoint when you need a visual representation of a webpage rather than its text content — for UI verification, visual regression testing, sharing previews, or capturing content that is hard to parse as HTML. Prefer this over markdown-extraction endpoints when the layout, images, or visual design of a page matter. No account or API key required; pay per call in stablecoins via x402 or MPP.

## Known failure modes

- URL unreachable or returns non-200 status — screenshot may fail or return blank
- Page takes longer than delayMs to render — content may be partially loaded
- Invalid CSS selector provided — capture may fail or fall back to full viewport
- Unsupported or paywalled URL — may return login/block page instead of target content
- Requested dimensions outside allowed range (width 320-1920, height 240-1200) — validation error

## How this service works

Unblock any URL as Markdown, or get search, social, maps, jobs and news as data. Paid per call in stablecoins over x402 or MPP, with no account.

## Output

Returns a JSON object containing the image as a base64-encoded string (imageBase64), the image format, width, height, file size in bytes, the final URL after any redirects, the timestamp when the capture occurred, and the content type.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "maxLength": 2048
  },
  "width": {
   "type": "integer",
   "maximum": 1920,
   "minimum": 320
  },
  "device": {
   "enum": [
    "desktop",
    "desktop_hd",
    "mobile",
    "tablet"
   ],
   "type": "string"
  },
  "format": {
   "enum": [
    "jpeg",
    "png",
    "webp",
    "pdf"
   ],
   "type": "string"
  },
  "height": {
   "type": "integer",
   "maximum": 1200,
   "minimum": 240
  },
  "delayMs": {
   "type": "integer",
   "maximum": 5000,
   "minimum": 0
  },
  "fullPage": {
   "type": "boolean"
  },
  "selector": {
   "type": "string",
   "maxLength": 200
  },
  "colorScheme": {
   "enum": [
    "light",
    "dark"
   ],
   "type": "string"
  },
  "waitForSelector": {
   "type": "string",
   "maxLength": 200
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "bytes": 66615,
  "width": 1920,
  "format": "jpeg",
  "height": 1080,
  "finalUrl": "https://…",
  "fullPage": false,
  "capturedAt": "2026-10-…",
  "contentType": "image/jp…",
  "imageBase64": "/9j/4AAQ…"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agdata-screenshot-api-a5421da6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agdata.shveik.dev](https://www.zero.xyz/host/agdata.shveik.dev/llms.txt)
