# Agent Screenshot Hub – Full Page Snapshot

> Agent Screenshot Hub – Full Page Snapshot is a paid API for AI agents from shot.netzhandwerker.de, paid per call via x402, $0.006/call, status unknown (last checked 2026-10-10).

Renders a URL in Chrome and returns DOM, accessibility tree, links, forms, console output, screenshot, and network timings in a single call

## Facts

- Endpoint: POST https://shot.netzhandwerker.de/snapshot?utm_source=zero.xyz
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-screenshot-hub-full-page-snapshot-5a27404f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tw12CUdquMM-cchsRr_tv

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 agent-screenshot-hub-full-page-snapshot-5a27404f -d '<json body>'
```

Example prompt: Take a full snapshot of https://example.com — give me the DOM, accessibility tree, all links with internal/external labels, any console errors, and a webp screenshot at 80% quality, waiting until the network is idle before capturing.

## When to prefer this

Choose this endpoint when an AI agent needs a comprehensive, multi-signal snapshot of a page in a single call — combining visual screenshot, structured DOM, accessibility tree, link graph, form metadata, and console diagnostics. It is superior to a plain screenshot service when you also need machine-readable page structure, or superior to a raw HTML fetcher when you need JavaScript-rendered output plus visual confirmation. Ideal for QA agents, accessibility auditors, web scraping pipelines, and link-checking workflows that need everything in one round-trip.

## Known failure modes

- URL is unreachable or returns non-2xx — snapshot may be partial or empty
- Page exceeds 20-second render budget including wait_ms — timeout error returned
- DOM exceeds 2 MB cap — content is truncated
- JavaScript-heavy page not fully rendered if wait_until is set too early (e.g. domcontentloaded instead of networkidle)
- Pages behind authentication return logged-out content since Chrome runs without cookies or credentials
- check_links only resolves up to 50 links; remainder carry no status field

## How this service works

One page load answers everything an agent needs to reason about a page: the DOM after JavaScript capped at 2 MB, the CDP accessibility tree flattened with parent references, every link with rel and target and an internal or external verdict, every form field with its label and autocomplete hint, console errors and warnings with source and line, a screenshot, navigation timings and a summary of the requests the page fired. Chrome runs without credentials, without cookies and without login, so a s

## Output

A JSON object containing any requested subset of: the rendered DOM HTML (capped at 2 MB), the CDP accessibility tree flattened with parent references, an array of all links with rel, target, and internal/external classification (plus optional HTTP status), all form fields with labels and autocomplete attributes, console errors and warnings with source file and line number, a base64-encoded screenshot in the requested format, and navigation timing metrics plus a summary of network requests fired by the page.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "description": "Absolute http or https URL to render."
  },
  "include": {
   "type": "array",
   "items": {
    "enum": [
     "dom",
     "a11y",
     "links",
     "forms",
     "console",
     "screenshot"
    ],
    "type": "string"
   },
   "default": [
    "dom",
    "a11y",
    "links",
    "forms",
    "console",
    "screenshot"
   ],
   "description": "Which parts to return. Omit for all of them. Leaving parts out makes the answer smaller, not cheaper: the page is loaded once either way."
  },
  "wait_ms": {
   "type": "integer",
   "default": 0,
   "maximum": 8000,
   "minimum": 0,
   "description": "Wait this long after the page is ready before reading it. Counts against the 20 second budget, it is not added on top."
  },
  "viewport": {
   "type": "object",
   "properties": {
    "width": {
     "type": "integer",
     "default": 1280,
     "maximum": 2560,
     "minimum": 360
    },
    "height": {
     "type": "integer",
     "default": 800,
     "maximum": 2000,
     "minimum": 360
    }
   },
   "description": "Viewport in CSS pixels. Default 1280x800.",
   "additionalProperties": false
  },
  "full_page": {
   "type": "boolean",
   "default": false,
   "description": "Capture the whole document instead of the viewport. Same price on this endpoint."
  },
  "wait_until": {
   "enum": [
    "load",
    "domcontentloaded",
    "networkidle"
   ],
   "type": "string",
   "default": "networkidle",
   "description": "When the page counts as ready. networkidle waits until at most two connections stay open for half a second, which is what most JavaScript pages need."
  },
  "check_links": {
   "type": "boolean",
   "default": false,
   "description": "Look up the HTTP status of up to 50 links with HEAD, without following redirects. No extra charge. Without this, links carry no status field."
  },
  "screenshot_format": {
   "enum": [
    "png",
    "webp",
    "jpeg"
   ],
   "type": "string",
   "default": "webp",
   "description": "Image format. webp is the smallest and keeps the answer under the size cap most often."
  },
  "screenshot_quality": {
   "type": "integer",
   "default": 80,
   "maximum": 100,
   "minimum": 1,
   "description": "Compression quality for webp and jpeg. Ignored for png."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-screenshot-hub-full-page-snapshot-5a27404f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from shot.netzhandwerker.de](https://www.zero.xyz/host/shot.netzhandwerker.de/llms.txt)
