Api Endpoint

2s

Render a URL in a real headless browser (JavaScript executed) and return its article content with the clutter stripped — same cleaning + output formats as /api/url/clean, but for client-rendered / SPA pages whose content only appears after JS runs (where a raw HTTP fetch returns an empty shell). `format`: markdown (default), text, both (JSON envelope), html (self-contained reader page, raw text/html), or pdf (typeset reading doc, raw application/pdf). Optional `waitUntil` (load|domcontentloaded|networkidle0|networkidle2, default networkidle2) and `timeoutMs` (1000-15000, default 12000) control how long to let JS settle. Use /api/url/clean instead for server-rendered pages — it is faster and cheaper; only reach for render when JS rendering is required.

Open interactive test console

Offering

Provider
2s.io
Method
GET
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://2s.io/api/url/render
MIME type
application/json
First seen
2026-10-16T01:58:03.323Z
Last seen
Tags
public-records, identifiers, AI-agents, us-gov-data, X402, upto-billing, ai-gateway, agent-infrastructure

Payment pricing

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

Payment option 1
0.015 USDC
Atomic price: 15000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.015 USDC
Atomic price: 15000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "15000",
    "payTo": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "15000",
    "payTo": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn"
  }
]

Observed health

Status
Healthy
Latest latency
99 ms
Average latency
773 ms
HTTP status
402
Last checked
Reachability
100% over 13 checks

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

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "const": "http"
    },
    "method": {
      "const": "GET"
    },
    "queryParams": {
      "properties": {
        "url": {
          "type": "string"
        },
        "format": {
          "type": "string",
          "enum": [
            "markdown",
            "text",
            "both",
            "html",
            "pdf"
          ],
          "default": "markdown"
        },
        "waitUntil": {
          "type": "string",
          "enum": [
            "load",
            "domcontentloaded",
            "networkidle0",
            "networkidle2"
          ],
          "default": "networkidle2"
        },
        "timeoutMs": {
          "type": "integer",
          "minimum": 1000,
          "maximum": 15000,
          "default": 12000
        }
      },
      "required": [
        "url"
      ]
    }
  },
  "required": [
    "type",
    "method",
    "queryParams"
  ]
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "object",
      "properties": {
        "type": {
          "const": "http"
        },
        "method": {
          "const": "GET"
        },
        "queryParams": {
          "properties": {
            "url": {
              "type": "string"
            },
            "format": {
              "type": "string",
              "enum": [
                "markdown",
                "text",
                "both",
                "html",
                "pdf"
              ],
              "default": "markdown"
            },
            "waitUntil": {
              "type": "string",
              "enum": [
                "load",
                "domcontentloaded",
                "networkidle0",
                "networkidle2"
              ],
              "default": "networkidle2"
            },
            "timeoutMs": {
              "type": "integer",
              "minimum": 1000,
              "maximum": 15000,
              "default": 12000
            }
          },
          "required": [
            "url"
          ]
        }
      },
      "required": [
        "type",
        "method",
        "queryParams"
      ]
    }
  },
  "required": [
    "input"
  ]
}