Skip to content
AgentSearch

agentsearch-web-render-v1 · New on Pocket MainNet

Headless browser rendering API for AI agents

AgentSearch Web Render loads a page in headless Chromium, lets its JavaScript run, and returns the title, rendered text/markdown and HTML. It is a JavaScript rendering API for AI agents: render SPA to text, read dashboards and client-rendered lists, and do dynamic page scraping politely.

Pocket MainNet · Beta TestNetPOST /v1/renderGET /v1/healthGET /v1/version

What it does

Real browser rendering

Headless Chromium with a fresh browser context per request. Choose formats from markdown, text, html and links, and wait with wait_until or wait_for_selector.

Optional screenshot

Set screenshot to get a PNG or JPEG back as base64. Full-page captures are capped at 4,000 px and the image at 1 MB.

Polite by design

robots.txt is honored (token AgentSearchRender). No logins, clicks or form submission. Bot walls are reported as TARGET_BOT_WALL, not bypassed.

When to use it vs. the other two

AgentSearch has three services. Pick by what your agent has in hand and where the content lives.

Find sources

Web Search

You have a question, not a URL. Get up to 5 ranked results with title, URL, snippet, score, domain and date.

Web Search API →
Read a static page

Web Extract

You have a URL and the content is in the HTML the server sends: docs, blogs, news, most marketing pages. Fast and cheap.

Web Extract API →
This page

Web Render

The content only appears after JavaScript runs: SPAs, dashboards, client-rendered lists. Headless Chromium renders it first.

Request and response

Request body (POST /v1/render)

{
  "url": "https://example.com/",
  "formats": ["text"],
  "max_chars": 500
}

# Other options from the spec:
#   "formats": ["markdown", "text", "html", "links"]
#   "screenshot": true, "screenshot_format": "png" | "jpeg"
#   "wait_until": "domcontentloaded" | "load" | "networkidle"
#   "wait_for_selector": "#app"
#   "viewport": {"width": 1280, "height": 800}

Response shape (from the spec)

{
  "request_id": "<string>",
  "url": "https://example.com/",
  "requested_url": "https://example.com/",
  "status_code": 200,
  "title": "Example Domain",
  "meta": {
    "render_ms": <integer>, "fetched_at": "<date-time>",
    "chars": <integer>, "truncated": <boolean>,
    "js": <boolean>, "robots": "<string|null>",
    "blocked_requests": <integer>,
    "content_type": "<string|null>", "lang": "<string|null>"
  },
  "error": null,
  "warnings": [],
  "links": [ ... ],
  "text": "<rendered text>",
  "markdown": "<rendered markdown>",
  "html": "<only if requested>",
  "screenshot": { "format", "width", "height", "bytes", "base64" }
}

Field names come from the render OpenAPI spec; values in angle brackets are placeholders. Target-site failures (for example TARGET_DEADLINE on the 4.2 s render deadline) return HTTP 200 with error {code, message, retryable}; bad input returns 4xx.

How to connect

Pocket relays

Call it on Pocket Network

Web Render is served by AgentSearch suppliers on Pocket MainNet (registered 2026-10-02) and Beta TestNet as agentsearch-web-render-v1. Gateways configure it as a REST passthrough service.

View on Pocket Explorer →
Agentic Portal

Portal listing: coming soon

The Agentic Portal page for Render is not live yet. Until it is, use the Explorer link and the docs below.

Use cases

Single-page apps

Read React, Vue or Angular apps whose HTML is an empty shell until JavaScript runs.

Dashboards and listings

Capture client-rendered tables, product lists and status pages as text or markdown for an agent.

Visual checks

Grab a screenshot alongside the text when an agent needs to see the page layout.

FAQ

What does the headless browser rendering API return?

The final URL, HTTP status, title, rendered text and markdown, links, and on request the rendered HTML and a PNG/JPEG screenshot, plus meta such as render time and character count.

When should I use Render instead of Extract?

Use Web Extract for static pages: it is faster. Use Render when the content only appears after JavaScript runs, or when you need a screenshot.

How do I call it today?

Through Pocket Network relays to service ID agentsearch-web-render-v1 on MainNet or Beta TestNet. The Agentic Portal listing is coming soon; the contract is in agents.md.

Does it log in or bypass bot protection?

No. It honors robots.txt, never logs in, clicks or submits forms, and reports bot walls as TARGET_BOT_WALL instead of bypassing them.

How long can a render take?

The render deadline is 4.2 seconds. A slow page returns what loaded so far with error.code TARGET_DEADLINE.

Which health endpoints are there?

GET /v1/health (readiness), GET /v1/version (identity) and GET /v1/capabilities (limits, formats and error codes).

Other AgentSearch services