# Netzhandwerker Screenshot API

> Netzhandwerker Screenshot API is a paid API for AI agents from tools.netzhandwerker.de, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-13).

Captures a screenshot of any URL and returns the image, with configurable viewport size, wait time, and full-page or base64 options.

## Facts

- Endpoint: POST https://tools.netzhandwerker.de/v1/screenshot
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/netzhandwerker-screenshot-api-c579cc0a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QOdCBVPo88rkOCPZNiFaY

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 netzhandwerker-screenshot-api-c579cc0a -d '<json body>'
```

Example prompt: Can you take a full-page screenshot of https://example.com at 1280x800 resolution, wait 2000ms for it to fully load, and give me the base64 image?

## When to prefer this

Choose this endpoint when you need a quick, pay-per-call screenshot of any public URL without managing your own headless browser infrastructure. It is especially useful for AI agents that need visual verification of web content, archival snapshots, or visual regression checks, and that require base64 output for direct embedding or storage. At $0.004 per call it suits low-to-medium volume use cases where spinning up a browser is impractical.

## Known failure modes

- Invalid or unreachable URL returns an error (e.g. DNS failure or timeout)
- Malformed URL (missing http/https prefix) causes a validation error
- Target site blocks headless browsers, resulting in a blank or error-page screenshot
- wait_until condition never fires (e.g. page never reaches 'networkidle'), causing a timeout
- Payment not processed or insufficient USDC balance returns a 402 error

## How this service works

x402-Werkzeuge für autonome Agenten.

## Output

Returns a screenshot image of the rendered webpage, either as a binary image file or a base64-encoded string (when include_base64 is true), captured at the specified viewport dimensions after the configured wait period.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Ziel-URL, http oder https"
  },
  "width": {
   "type": "integer",
   "default": 1280,
   "maximum": 2560,
   "minimum": 320
  },
  "height": {
   "type": "integer",
   "default": 800,
   "maximum": 2000,
   "minimum": 320
  },
  "wait_ms": {
   "type": "integer",
   "default": 0,
   "maximum": 10000
  },
  "full_page": {
   "type": "boolean",
   "default": false
  },
  "wait_until": {
   "enum": [
    "domcontentloaded",
    "load",
    "networkidle0",
    "networkidle2"
   ],
   "type": "string",
   "default": "domcontentloaded"
  },
  "include_base64": {
   "type": "boolean",
   "default": true
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com",
  "bytes": 48213,
  "title": "Example Domain",
  "width": 1280,
  "format": "png",
  "height": 800,
  "final_url": "https://example.com/",
  "image_url": "https://tools.halowerk.com/shots/abc123.png",
  "image_base64": "iVBORw0KGgoAAAANS..."
 }
}
```

## More

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