{
  "x402Version": 2,
  "id": 33412,
  "slug": "33412",
  "resource": "https://web.tollkit.dev/read",
  "description": "Read any web page as clean text: give a URL, get the visible text rendered in a real browser, with the title and final URL. For scraping, RAG and research.",
  "type": "http",
  "serviceName": "Read Web Page as Text",
  "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1791089541/bazaar-icons/6490ef4ad700a0e0.png",
  "resourceType": "Beauty & Personal Care",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xBbfCE2D320dE6aB328Ba93A771c531ebFC9cE704",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "2000",
      "amountUsd": 0.002,
      "maxTimeoutSeconds": 300
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "HBasGEGD1szEkNCWckRoZg2vZGhzt7yLSixLgSHi3gYf",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "amount": "2000",
      "amountUsd": 0.002,
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "properties": {
      "example": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "fetched_at": {
            "description": "ISO 8601 render time.",
            "type": "string"
          },
          "final_url": {
            "description": "Where the browser ended up after redirects.",
            "type": "string"
          },
          "http_status": {
            "type": "integer"
          },
          "redirected": {
            "type": "boolean"
          },
          "text": {
            "description": "The page's visible text, rendered in a real browser, navigation and boilerplate stripped.",
            "type": "string"
          },
          "text_length": {
            "type": "integer"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "truncated": {
            "description": "True when the page went on past the 50,000-character cap.",
            "type": "boolean"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "url",
          "final_url",
          "http_status",
          "text",
          "text_length",
          "truncated",
          "fetched_at"
        ],
        "type": "object"
      }
    },
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "url": "https://en.wikipedia.org/wiki/HTTP_402"
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "example": {
            "fetched_at": "2026-10-04T12:00:00.000Z",
            "final_url": "https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#402",
            "http_status": 200,
            "redirected": true,
            "text": "List of HTTP status codes … 402 Payment Required: Reserved for future use. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, as proposed, for example, by GNU Taler, but that has not yet happened, and this code is not widely used. …",
            "text_length": 48211,
            "title": "List of HTTP status codes - Wikipedia",
            "truncated": false,
            "url": "https://en.wikipedia.org/wiki/HTTP_402"
          },
          "type": "json"
        }
      },
      "schema": {
        "properties": {
          "input": {
            "properties": {
              "body": {
                "properties": {
                  "url": {
                    "description": "Absolute http(s) URL of a public page. JavaScript pages are rendered first.",
                    "format": "uri",
                    "type": "string"
                  }
                },
                "required": [
                  "url"
                ],
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method",
              "body"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "properties": {
                  "fetched_at": {
                    "description": "ISO 8601 render time.",
                    "type": "string"
                  },
                  "final_url": {
                    "description": "Where the browser ended up after redirects.",
                    "type": "string"
                  },
                  "http_status": {
                    "type": "integer"
                  },
                  "redirected": {
                    "type": "boolean"
                  },
                  "text": {
                    "description": "The page's visible text, rendered in a real browser, navigation and boilerplate stripped.",
                    "type": "string"
                  },
                  "text_length": {
                    "type": "integer"
                  },
                  "title": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "truncated": {
                    "description": "True when the page went on past the 50,000-character cap.",
                    "type": "boolean"
                  },
                  "url": {
                    "type": "string"
                  }
                },
                "required": [
                  "url",
                  "final_url",
                  "http_status",
                  "text",
                  "text_length",
                  "truncated",
                  "fetched_at"
                ],
                "type": "object"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "read",
    "scrape",
    "webpage",
    "text",
    "browser",
    "bazaar"
  ],
  "sourceHost": "web.tollkit.dev",
  "lastUpdated": "2026-10-11T08:20:26.994Z",
  "quality": {
    "calls30d": 6,
    "uniquePayers30d": 4,
    "lastCalledAt": "2026-10-11T08:20:26.695Z"
  },
  "metadata": {
    "serviceName": "Read Web Page as Text",
    "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1791089541/bazaar-icons/6490ef4ad700a0e0.png",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "url": "https://en.wikipedia.org/wiki/HTTP_402"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "fetched_at": "2026-10-04T12:00:00.000Z",
              "final_url": "https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#402",
              "http_status": 200,
              "redirected": true,
              "text": "List of HTTP status codes … 402 Payment Required: Reserved for future use. The original intention was that this code might be used as part of some form of digital cash or micropayment scheme, as proposed, for example, by GNU Taler, but that has not yet happened, and this code is not widely used. …",
              "text_length": 48211,
              "title": "List of HTTP status codes - Wikipedia",
              "truncated": false,
              "url": "https://en.wikipedia.org/wiki/HTTP_402"
            },
            "type": "json"
          }
        },
        "schema": {
          "properties": {
            "input": {
              "properties": {
                "body": {
                  "properties": {
                    "url": {
                      "description": "Absolute http(s) URL of a public page. JavaScript pages are rendered first.",
                      "format": "uri",
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ],
                  "type": "object"
                },
                "bodyType": {
                  "enum": [
                    "json"
                  ],
                  "type": "string"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "properties": {
                    "fetched_at": {
                      "description": "ISO 8601 render time.",
                      "type": "string"
                    },
                    "final_url": {
                      "description": "Where the browser ended up after redirects.",
                      "type": "string"
                    },
                    "http_status": {
                      "type": "integer"
                    },
                    "redirected": {
                      "type": "boolean"
                    },
                    "text": {
                      "description": "The page's visible text, rendered in a real browser, navigation and boilerplate stripped.",
                      "type": "string"
                    },
                    "text_length": {
                      "type": "integer"
                    },
                    "title": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "truncated": {
                      "description": "True when the page went on past the 50,000-character cap.",
                      "type": "boolean"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "url",
                    "final_url",
                    "http_status",
                    "text",
                    "text_length",
                    "truncated",
                    "fetched_at"
                  ],
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "web.tollkit.dev",
    "manifest_name": "web.tollkit.dev",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-14T01:15:01.050Z"
  },
  "exampleResponse": {
    "example": {
      "fetched_at": "string",
      "final_url": "string",
      "http_status": 0,
      "redirected": true,
      "text": "string",
      "text_length": 0,
      "title": "string",
      "truncated": true,
      "url": "string"
    }
  }
}