Api Endpoint

Agent Screenshot Hub

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

Open interactive test console

Offering

Provider
shot.netzhandwerker.de
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Web Search Research
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://shot.netzhandwerker.de/snapshot
MIME type
application/json
First seen
2026-10-16T01:51:30.109Z
Last seen
Tags
X402, halowerk, browser_snapshot

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.006 USDC
Atomic price: 6000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "6000",
    "payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E"
  }
]

Observed health

Status
Healthy
Latest latency
1186 ms
Average latency
1408 ms
HTTP status
204
Last checked
Reachability
92.9% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "POST"
      ]
    },
    "bodyType": {
      "type": "string",
      "enum": [
        "json",
        "form-data",
        "text"
      ]
    },
    "body": {
      "type": "object",
      "required": [
        "url"
      ],
      "additionalProperties": false,
      "properties": {
        "url": {
          "type": "string",
          "format": "uri",
          "description": "Absolute http or https URL to render."
        },
        "viewport": {
          "type": "object",
          "additionalProperties": false,
          "description": "Viewport in CSS pixels. Default 1280x800.",
          "properties": {
            "width": {
              "type": "integer",
              "minimum": 360,
              "maximum": 2560,
              "default": 1280
            },
            "height": {
              "type": "integer",
              "minimum": 360,
              "maximum": 2000,
              "default": 800
            }
          }
        },
        "wait_until": {
          "type": "string",
          "enum": [
            "load",
            "domcontentloaded",
            "networkidle"
          ],
          "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."
        },
        "wait_ms": {
          "type": "integer",
          "minimum": 0,
          "maximum": 8000,
          "default": 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."
        },
        "include": {
          "type": "array",
          "default": [
            "dom",
            "a11y",
            "links",
            "forms",
            "console",
            "screenshot"
          ],
          "items": {
            "type": "string",
            "enum": [
              "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."
        },
        "screenshot_format": {
          "type": "string",
          "enum": [
            "png",
            "webp",
            "jpeg"
          ],
          "default": "webp",
          "description": "Image format. webp is the smallest and keeps the answer under the size cap most often."
        },
        "screenshot_quality": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 80,
          "description": "Compression quality for webp and jpeg. Ignored for png."
        },
        "full_page": {
          "type": "boolean",
          "default": false,
          "description": "Capture the whole document instead of the viewport. Same price on this endpoint."
        },
        "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."
        }
      }
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "const": "http"
        },
        "method": {
          "type": "string",
          "enum": [
            "POST"
          ]
        },
        "bodyType": {
          "type": "string",
          "enum": [
            "json",
            "form-data",
            "text"
          ]
        },
        "body": {
          "type": "object",
          "required": [
            "url"
          ],
          "additionalProperties": false,
          "properties": {
            "url": {
              "type": "string",
              "format": "uri",
              "description": "Absolute http or https URL to render."
            },
            "viewport": {
              "type": "object",
              "additionalProperties": false,
              "description": "Viewport in CSS pixels. Default 1280x800.",
              "properties": {
                "width": {
                  "type": "integer",
                  "minimum": 360,
                  "maximum": 2560,
                  "default": 1280
                },
                "height": {
                  "type": "integer",
                  "minimum": 360,
                  "maximum": 2000,
                  "default": 800
                }
              }
            },
            "wait_until": {
              "type": "string",
              "enum": [
                "load",
                "domcontentloaded",
                "networkidle"
              ],
              "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."
            },
            "wait_ms": {
              "type": "integer",
              "minimum": 0,
              "maximum": 8000,
              "default": 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."
            },
            "include": {
              "type": "array",
              "default": [
                "dom",
                "a11y",
                "links",
                "forms",
                "console",
                "screenshot"
              ],
              "items": {
                "type": "string",
                "enum": [
                  "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."
            },
            "screenshot_format": {
              "type": "string",
              "enum": [
                "png",
                "webp",
                "jpeg"
              ],
              "default": "webp",
              "description": "Image format. webp is the smallest and keeps the answer under the size cap most often."
            },
            "screenshot_quality": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 80,
              "description": "Compression quality for webp and jpeg. Ignored for png."
            },
            "full_page": {
              "type": "boolean",
              "default": false,
              "description": "Capture the whole document instead of the viewport. Same price on this endpoint."
            },
            "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."
            }
          }
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "input"
  ]
}