---
title: "AgentSearch Web Render"
method: POST
path: "/v1/agentsearch-web-render-v1"
tags: ["web"]
---

# AgentSearch Web Render

`POST /v1/agentsearch-web-render-v1`

## Request

- Base URL: `https://agent.pocket.network`
- URL: `https://agent.pocket.network/v1/agentsearch-web-render-v1`
- Auth: none required

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.

## Request body

- object: A render request. The body is JSON and is bounded by the service at 8 KiB.
  - `url` string, required: The public page to render (http or https, port 80 or 443).
  - `formats` string[]: Which renderings to return (default markdown).
  - `max_chars` integer: Cap on returned characters (default 20000).
  - `screenshot` boolean: Include a base64 screenshot, at most 1 MB (default false).
  - `screenshot_format` 'png' | 'jpeg': Screenshot encoding (default png).
  - `full_page` boolean: Screenshot the full page, clipped to 4000 px high (default false).
  - `viewport` object: Viewport size in pixels.
    - `width` integer
    - `height` integer
  - `wait_until` 'domcontentloaded' | 'load' | 'networkidle': When the page counts as loaded (default domcontentloaded).
  - `wait_for_selector` string: A CSS selector to wait for, at most 1.5 s.
  - `wait_ms` integer: Extra wait after load, in milliseconds (default 0).
  - `block` string[]: Resource types not to load (default media and font).

## Response `200`

The upstream response, served after payment settles.

- object: 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 } }`.

## Other responses

- `400`: Malformed request.
- `402`: Payment required. The x402 v2 terms are in the PAYMENT-REQUIRED header and, identically, in this body; sign the chosen option and retry with the PAYMENT-SIGNATURE header. The receipt arrives in PAYMENT-RESPONSE.
- `503`: This service is not currently available to serve.

---

[API](https://skmtc.dev/pocket/apis/pocket-agentic-portal.md) · [All operations](https://skmtc.dev/pocket/apis/pocket-agentic-portal/llms.txt) · [OpenAPI document](https://skmtc.dev/pocket/apis/pocket-agentic-portal/revisions/96d2176db014?raw)
