Api Endpoint

DiffiCat

Captures a full-page screenshot of one public web page in Chromium and returns a link to the PNG. Use it for a one-off visual check of a page, or to keep a reference image before a change. 0.02 USD per call.

Open interactive test console

Offering

Provider
app.difficat.com
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://app.difficat.com/api/v1/screenshots
MIME type
Not provided
First seen
2026-10-16T01:50:24.663Z
Last seen
Tags
screenshot, visual-regression, Web

Payment pricing

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

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

Observed health

Status
Healthy
Latest latency
144 ms
Average latency
490 ms
HTTP status
204
Last checked
Reachability
100% over 14 checks

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

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "properties": {
        "auth": {
          "properties": {
            "password": {
              "description": "Password for HTTP basic auth.",
              "type": "string"
            },
            "username": {
              "description": "Username for HTTP basic auth.",
              "type": "string"
            }
          },
          "required": [
            "username",
            "password"
          ],
          "type": "object"
        },
        "url": {
          "format": "uri",
          "maxLength": 2048,
          "type": "string"
        },
        "viewportWidth": {
          "maximum": 2560,
          "minimum": 320,
          "type": "integer"
        },
        "visual": {
          "additionalProperties": false,
          "description": "Capture rules applied to both sides.",
          "properties": {
            "freeze": {
              "additionalProperties": false,
              "properties": {
                "animations": {
                  "description": "Stop CSS animations and transitions before the screenshot.",
                  "type": "boolean"
                },
                "clock": {
                  "description": "Pause timers and the clock after load; a page that needs a timer to render may stay empty.",
                  "type": "boolean"
                },
                "clockSeconds": {
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "masks": {
              "description": "CSS selectors of elements hidden on both sites before the screenshot (at most 50, each up to 200 characters). The layout keeps its place.",
              "items": {
                "maxLength": 200,
                "minLength": 1,
                "type": "string"
              },
              "maxItems": 50,
              "type": "array"
            }
          },
          "type": "object"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "example": {
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}