{
  "serviceId": "headless-browser-render",
  "displayName": "Headless Browser Render",
  "description": "Fetch a web page and return its title and raw HTML (up to 200,000 characters). No browser engine is used and JavaScript is not executed, despite the name. POST /v1/render with {url} and get one JSON object back. Pages are cached for 5 minutes. Pay per request in USDC; no account, no API key.",
  "category": "web",
  "resourceUrl": "https://test.agent.pocket.network/v1/headless-browser-render",
  "priceUsd": "0.005000",
  "priceVersion": 1,
  "rails": [
    {
      "id": "base",
      "network": "eip155:84532",
      "chainId": 84532,
      "tokenAddress": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
      "tokenDecimals": 6,
      "payToAddress": "0xF732ea490c5766071785a2310523f7fA2CEbB829"
    }
  ],
  "paymentNetworks": [
    "eip155:84532"
  ],
  "paymentProtocols": [
    "x402"
  ],
  "protocols": [
    "rest"
  ],
  "inputSchema": {
    "type": "object",
    "description": "The request body for POST /v1/render.",
    "properties": {
      "url": {
        "type": "string",
        "description": "The page URL (http or https)."
      }
    },
    "required": [
      "url"
    ]
  },
  "outputSchema": {
    "type": "object",
    "description": "For POST /v1/render, a JSON object with url, title, html, js_rendered (false) and a cache flag. The exact shape is the service's own and is not pinned here; errors return a JSON object with an `error` field."
  },
  "methods": {
    "GET /v1/health": "read",
    "GET /v1/version": "read",
    "POST /v1/render": "read"
  },
  "example": {
    "method": "POST",
    "path": "/v1/render",
    "request": {
      "url": "https://example.com"
    },
    "response": {
      "portal": {
        "provenance": "third-party-supplier",
        "serviceId": "headless-browser-render",
        "schemaCheck": "unchecked"
      },
      "data": {
        "url": "https://example.com",
        "title": "Example Domain",
        "html": "<!doctype html><html lang=\"en\"><head><title>Example Domain</title><link rel=\"icon\" href=\"data:,\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"><style>body{background:#eee;width:60vw;margin:15vh auto;font-family:system-ui,sans-serif}h1{font-size:1.5em}div{opacity:0.8}a:link,a:visited{color:#348}</style></head><body><div><h1>Example Domain</h1><p>This domain is for use in documentation examples without needing permission. Avoid use in operations.</p><p><a href=\"https://iana.org/domains/example\">Learn more</a></p></div></body></html>\n",
        "js_rendered": false,
        "note": "raw HTML (no JS execution in stdlib runtime); supply a headless engine server-side for full render",
        "cached": true,
        "service": "headless-browser-render"
      }
    },
    "capturedAt": "2026-09-25T15:53:19Z"
  },
  "firstParty": true,
  "networks": [
    "eip155:84532"
  ],
  "serving": true,
  "page": "https://test.agent.pocket.network/services/headless-browser-render",
  "descriptor": "https://test.agent.pocket.network/services/headless-browser-render/descriptor.json"
}