Agentic Portal

AgentSearch Web Render

web
Serving

Load a URL in headless Chromium with JavaScript executed and get the rendered page back for an LLM or RAG pipeline: markdown, text, HTML, title, links and an optional screenshot. POST /v1/render with {url}. Robots.txt is honored and private addresses are refused. JSON in, JSON out, errors included. Pay per request in USDC; no account, no API key.

Endpoint
POST https://agent.pocket.network/v1/agentsearch-web-render-v1/v1/render
Price per call
$0.005 USD
Networks payable on
Base (eip155:8453), Tempo (eip155:4217)
Protocol
rest

Calling it

The first call returns 402 Payment Required with the terms. Sign for those terms and retry the same request with the payment attached.

Example request

Derived from the published request schema.

curl -X POST https://agent.pocket.network/v1/agentsearch-web-render-v1/v1/render \
  -H 'content-type: application/json' \
  -d '{"url":"string","formats":["markdown"],"max_chars":0,"screenshot":true,"screenshot_format":"png","full_page":true,"viewport":{"width":0,"height":0},"wait_until":"domcontentloaded","wait_for_selector":"string","wait_ms":0,"block":["image"]}'
Example response

This service declares its response shape in prose rather than as fields, so there is nothing more specific to sample.

{}

Try it

Make one real paid call from your own wallet — about $0.005 on Base (eip155:8453). The wallet signs; nothing here holds a key. You'll see exactly what the service answers.

No browser wallet found. Install MetaMask, Rabby, or Coinbase Wallet to try a call here.

Supported methods

Methods the registry lists for this service. The portal forwards any call as sent; the supplier decides what it answers, and a delivered answer is settled.

Methods AgentSearch Web Render accepts, and whether each reads or writes.
MethodEffect
GET /v1/capabilitiesread
GET /v1/healthread
GET /v1/versionread
POST /v1/renderread

Schemas

Published by the service itself. The example above is generated from these.

Request schema
{
  "type": "object",
  "description": "A render request. The body is JSON and is bounded by the service at 8 KiB.",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 4096,
      "description": "The public page to render (http or https, port 80 or 443)."
    },
    "formats": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "markdown",
          "text",
          "html",
          "links"
        ]
      },
      "description": "Which renderings to return (default markdown)."
    },
    "max_chars": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000,
      "description": "Cap on returned characters (default 20000)."
    },
    "screenshot": {
      "type": "boolean",
      "description": "Include a base64 screenshot, at most 1 MB (default false)."
    },
    "screenshot_format": {
      "type": "string",
      "enum": [
        "png",
        "jpeg"
      ],
      "description": "Screenshot encoding (default png)."
    },
    "full_page": {
      "type": "boolean",
      "description": "Screenshot the full page, clipped to 4000 px high (default false)."
    },
    "viewport": {
      "type": "object",
      "description": "Viewport size in pixels.",
      "properties": {
        "width": {
          "type": "integer",
          "minimum": 320,
          "maximum": 1920
        },
        "height": {
          "type": "integer",
          "minimum": 240,
          "maximum": 1600
        }
      }
    },
    "wait_until": {
      "type": "string",
      "enum": [
        "domcontentloaded",
        "load",
        "networkidle"
      ],
      "description": "When the page counts as loaded (default domcontentloaded)."
    },
    "wait_for_selector": {
      "type": "string",
      "maxLength": 300,
      "description": "A CSS selector to wait for, at most 1.5 s."
    },
    "wait_ms": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1500,
      "description": "Extra wait after load, in milliseconds (default 0)."
    },
    "block": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "image",
          "media",
          "font",
          "stylesheet"
        ]
      },
      "description": "Resource types not to load (default media and font)."
    }
  },
  "required": [
    "url"
  ]
}
Response schema
{
  "type": "object",
  "description": "For POST /v1/render, a JSON object with request_id, url, requested_url, status_code, title, meta (render_ms, fetched_at, chars, truncated, js, robots, content_type, lang), error (null on success), warnings, links and the requested renderings, plus screenshot when asked. A page that cannot be rendered answers 200 with an error code such as ROBOTS_DISALLOWED; a bad request answers 4xx with `{ error: { code, message, retryable } }`."
}