mirrored listing x402 eip155:8453

Capture a screenshot of any public web page with a headless Chrome browser

Capture a screenshot of any public web page with a headless Chrome browser. Set the viewport, grab the full scrollable page or just the fold, and choose PNG, JPEG or WebP with an optional quality. Returns the raw image bytes — ideal for link previews, thumbnails, visual monitoring and archiving. No browser to run, pay per capture.

Do you run 402utils.com? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
8000 (raw units)
price
3
calls / 30d
2
unique payers
2026-08-30
updated

Provider

402utils.com · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0xc55A2D530b53CBaD1001e4AfD4720B7E71f9C291",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "8000",
    "maxTimeoutSeconds": 60
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "body": {
          "format": "png",
          "fullPage": true,
          "url": "https://example.com"
        },
        "bodyType": "json",
        "method": "POST",
        "type": "http"
      },
      "output": {
        "example": "<binary image/png stream>",
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "body": {
              "description": "Screenshot a public http(s) URL.",
              "properties": {
                "delayMs": {
                  "description": "Extra wait after load before capturing (animations, lazy content).",
                  "maximum": 5000,
                  "minimum": 0,
                  "type": "integer"
                },
                "format": {
                  "default": "png",
                  "description": "Image format.",
                  "enum": [
                    "png",
                    "jpeg",
                    "webp"
                  ],
                  "type": "string"
                },
                "fullPage": {
                  "default": false,
                  "description": "Capture the full scrollable page.",
                  "type": "boolean"
                },
                "quality": {
                  "description": "Compression quality (jpeg/webp only).",
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "url": {
                  "description": "Public http(s) URL to capture (required).",
                  "format": "uri",
                  "type": "string"
                },
                "viewport": {
                  "description": "Browser viewport in pixels (each side 320–2560). Default 1280×800.",
                  "properties": {
                    "height": {
                      "maximum": 2560,
                      "minimum": 320,
                      "type": "integer"
                    },
                    "width": {
                      "maximum": 2560,
                      "minimum": 320,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "waitUntil": {
                  "default": "load",
                  "description": "When to consider the page ready. Use 'networkidle' for JS-heavy pages.",
                  "enum": [
                    "load",
                    "networkidle"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object"
            },
            "bodyType": {
              "enum": [
                "json",
                "form-data",
                "text"
              ],
              "type": "string"
            },
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method",
            "bodyType",
            "body"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "contentMediaType": "image/png",
              "description": "The HTTP response body is the raw image (Content-Type image/png, image/jpeg or image/webp).",
              "format": "binary",
              "type": "string"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}

Use it

curl

curl "https://402utils.com/v1/screenshot"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://402utils.com/v1/screenshot");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://402utils.com/v1/screenshot")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/5896.json, and this resource appears in /discovery/resources and /discovery/search.