# Puptra PDF Snapshot – Screenshot Capture

> Puptra PDF Snapshot – Screenshot Capture is a paid API for AI agents from puptra-pdf-snapshot.saastemly.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-12).

Captures a PNG, JPEG, or WebP screenshot of a webpage using Puppeteer with configurable options like fullPage, clip, omitBackground, and quality.

## Facts

- Endpoint: POST https://puptra-pdf-snapshot.saastemly.com/v1/screenshot?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/puptra-pdf-snapshot-screenshot-capture-98ef66a9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_RDK_pka9_SX0EbpaLdmbn

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 puptra-pdf-snapshot-screenshot-capture-98ef66a9 -d '<json body>'
```

Example prompt: Take a full-page JPEG screenshot of https://example.com at quality 85 and give me the image back.

## When to prefer this

Choose this endpoint when you need a pixel-accurate rendered screenshot of a live webpage in PNG, JPEG, or WebP format with fine-grained control over crop region, full-page vs viewport capture, background transparency, and compression quality. Prefer it over HTML/Markdown extraction endpoints when the visual appearance of the page is what matters, and over PDF endpoints when you need a raster image rather than a vector document.

## Known failure modes

- URL unreachable or returns an error — screenshot may be blank or request fails
- Invalid quality value (outside 0-100) — API returns validation error
- Quality parameter used with PNG format — ignored or error since quality only applies to JPEG/WebP
- Clip region out of bounds — may return empty or partial image
- Page load timeout — screenshot may be incomplete or request times out
- Unsupported image format string — API returns bad request error

## How this service works

Capture a PNG, JPEG or WebP screenshot with Puppeteer's page.screenshot() options (fullPage, clip, omitBackground, quality 0-100 for jpeg/webp only).

## Output

Returns the rendered screenshot as an image (PNG, JPEG, or WebP) encoded in base64 or as a binary payload, reflecting the requested format, quality, and crop/clip settings applied via Puppeteer's page.screenshot() call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "The page to capture (https). Set url or html, not both."
  },
  "html": {
   "type": "string",
   "description": "HTML to render instead of a URL."
  },
  "cookies": {
   "type": "array"
  },
  "deliver": {
   "type": "object",
   "description": "{store, name?}: keep the image in file storage"
  },
  "selector": {
   "type": "string",
   "description": "Screenshot this element instead of the page"
  },
  "viewport": {
   "type": "object",
   "description": "{width,height,deviceScaleFactor,...}; default 1920x1080"
  },
  "userAgent": {
   "type": "string"
  },
  "scrollPage": {
   "type": "boolean",
   "description": "Scroll the page before capturing (lazy content)"
  },
  "addStyleTag": {
   "type": "array"
  },
  "bestAttempt": {
   "type": "boolean"
  },
  "gotoOptions": {
   "type": "object",
   "description": "{waitUntil, timeout}"
  },
  "addScriptTag": {
   "type": "array"
  },
  "authenticate": {
   "type": "object"
  },
  "waitForTimeout": {
   "type": "number"
  },
  "waitForSelector": {
   "type": "object"
  },
  "emulateMediaType": {
   "type": "string"
  },
  "screenshotOptions": {
   "type": "object",
   "properties": {
    "clip": {
     "type": "object",
     "description": "{x,y,width,height,scale?}"
    },
    "type": {
     "type": "string",
     "description": "png|jpeg|webp (default png)"
    },
    "quality": {
     "type": "number",
     "description": "0-100, jpeg/webp only"
    },
    "fullPage": {
     "type": "boolean"
    },
    "fromSurface": {
     "type": "boolean"
    },
    "omitBackground": {
     "type": "boolean"
    },
    "optimizeForSpeed": {
     "type": "boolean"
    },
    "captureBeyondViewport": {
     "type": "boolean"
    }
   },
   "description": "Puppeteer page.screenshot() options as documented at pptr.dev/api/puppeteer.screenshotoptions."
  },
  "allowResourceTypes": {
   "type": "array"
  },
  "allowRequestPattern": {
   "type": "array"
  },
  "rejectResourceTypes": {
   "type": "array"
  },
  "setExtraHTTPHeaders": {
   "type": "object"
  },
  "rejectRequestPattern": {
   "type": "array"
  },
  "setJavaScriptEnabled": {
   "type": "boolean"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/puptra-pdf-snapshot-screenshot-capture-98ef66a9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from puptra-pdf-snapshot.saastemly.com](https://www.zero.xyz/host/puptra-pdf-snapshot.saastemly.com/llms.txt)
