# 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-10).

Captures a full or partial screenshot of any public webpage and returns it as base64-encoded JPEG, PNG, WebP, or PDF in JSON, along with metadata like final URL and image dimensions.

## Facts

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

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-96d6cff3 -d '<json body>'
```

Example prompt: Take a full-page desktop screenshot of https://example.com and give me a PNG — use dark mode and wait 1500ms before capturing.

## When to prefer this

Use this endpoint when you need a visual rendering of a webpage — for QA, archiving, thumbnails, or UI review — rather than its text content. Prefer this over scraping endpoints when the output must be an image or PDF. Note: it shows what a normal browser sees and cannot bypass bot protection; use the Unblocker sibling endpoint for protected pages' text content.

## Known failure modes

- Page is behind bot protection — content won't be captured (use the Unblocker endpoint for text instead)
- Page renders blank — not charged but returns an empty or error response
- Invalid or unreachable URL returns an error
- CSS selector not found on page results in failed capture
- Timeout if page doesn't load within the delay window

## How this service works

Screenshot API for AI agents: send {url} and get a JPEG, PNG, WebP or PDF of the page as base64 in JSON, with final URL, byte size and pixel size. Pick a desktop, mobile or tablet viewport, full page, dark mode, a delay or one element by CSS selector. It shows what a normal browser sees and does not get past bot protection (use unblock for those pages' text). A page that can't be captured, or renders blank, is not charged.

## Output

A JSON object containing the base64-encoded image (in the requested format: JPEG, PNG, WebP, or PDF), the final resolved URL after any redirects, the file size in bytes, and the pixel dimensions (width × height) of the captured image.

## 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-96d6cff3/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)
