Api Endpoint

Tanod sitepeek

Convert a web page to Markdown: fetch a public URL and return clean readable text, optionally with JavaScript or a screenshot. Input: url, format, js. Returns title, Markdown and status. Use when an agent needs the text of a web page, not raw HTML.

Open interactive test console

Offering

Provider
tanod.dev
Method
POST
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://tanod.dev/v1/render
MIME type
application/json
First seen
2026-10-16T01:51:02.144Z
Last seen
Tags
web-scraping, markdown, web-page, scrape, sitepeek

Payment pricing

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

Payment option 1
0.002 USDC
Atomic price: 2000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.002 USDC
Atomic price: 2000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Payment option 3
0.002 USDC
Atomic price: 2000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Payment option 4
0.002 USDC
Atomic price: 2000000000000000 · Network: eip155:56 · Asset: USDC · Scheme: exact
Payment option 5
0.002 USDC
Atomic price: 2000 · Network: eip155:42161 · Asset: USDC · Scheme: exact
Payment option 6
0.002 USDC
Atomic price: 2000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 7
0.002 USDC
Atomic price: 2000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "2000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "2000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "2000",
    "payTo": "RMk9k3VC8dr4hhjgFh88rGhjAbzfBzHxJJ5n2fTcqus"
  },
  {
    "scheme": "exact",
    "network": "eip155:56",
    "asset": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
    "amount": "2000000000000000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "2000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "2000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "2000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  }
]

Observed health

Status
Healthy
Latest latency
286 ms
Average latency
512 ms
HTTP status
204
Last checked
Reachability
100% over 11 checks

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

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "properties": {
        "format": {
          "default": "markdown",
          "description": "markdown (default) or screenshot.",
          "enum": [
            "markdown",
            "screenshot"
          ],
          "type": "string"
        },
        "height": {
          "default": 800,
          "description": "Screenshot/viewport height.",
          "maximum": 4000,
          "minimum": 200,
          "type": "integer"
        },
        "js": {
          "default": false,
          "description": "Markdown only: run page JavaScript in a sandboxed headless browser (slower, higher price).",
          "type": "boolean"
        },
        "output": {
          "default": "base64",
          "description": "base64 (default): the file comes back inline as base64. url: the file is stored for 24 hours and the reply carries a download link (url, expires_at, bytes, content_type, sha256) instead of the base64, which keeps the file out of your context window. Screenshots only.",
          "enum": [
            "base64",
            "url"
          ],
          "type": "string"
        },
        "url": {
          "description": "Public http(s) URL to fetch.",
          "maxLength": 2048,
          "type": "string"
        },
        "width": {
          "default": 1280,
          "description": "Screenshot/viewport width.",
          "maximum": 1920,
          "minimum": 320,
          "type": "integer"
        }
      },
      "required": [
        "url"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "format": {
              "default": "markdown",
              "description": "markdown (default) or screenshot.",
              "enum": [
                "markdown",
                "screenshot"
              ],
              "type": "string"
            },
            "height": {
              "default": 800,
              "description": "Screenshot/viewport height.",
              "maximum": 4000,
              "minimum": 200,
              "type": "integer"
            },
            "js": {
              "default": false,
              "description": "Markdown only: run page JavaScript in a sandboxed headless browser (slower, higher price).",
              "type": "boolean"
            },
            "output": {
              "default": "base64",
              "description": "base64 (default): the file comes back inline as base64. url: the file is stored for 24 hours and the reply carries a download link (url, expires_at, bytes, content_type, sha256) instead of the base64, which keeps the file out of your context window. Screenshots only.",
              "enum": [
                "base64",
                "url"
              ],
              "type": "string"
            },
            "url": {
              "description": "Public http(s) URL to fetch.",
              "maxLength": 2048,
              "type": "string"
            },
            "width": {
              "default": 1280,
              "description": "Screenshot/viewport width.",
              "maximum": 1920,
              "minimum": 320,
              "type": "integer"
            }
          },
          "required": [
            "url"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "final_url": {
              "type": "string"
            },
            "format": {
              "type": "string"
            },
            "markdown": {
              "type": "string"
            },
            "status": {
              "type": "integer"
            },
            "title": {
              "type": [
                "string",
                "null"
              ]
            },
            "truncated": {
              "type": "boolean"
            },
            "untrusted_content": {
              "type": "boolean"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "markdown",
            "untrusted_content"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}