# x402 Web Tools – Web Page Reader (Readability to Markdown)

> x402 Web Tools – Web Page Reader (Readability to Markdown) is a paid API for AI agents from web.kagurazaka.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-29).

Fetches a public web page and returns its main content as clean Markdown using Mozilla Readability, stripping navigation, ads, and footers, with metadata like title, byline, date, language, and token estimate.

## Facts

- Endpoint: GET https://web.kagurazaka.dev/v1/read?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-web-tools-web-page-reader-readability-to-markdown-f86567ad
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_VhkRUzcTYMUkVS-2kwWHX

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402-web-tools-web-page-reader-readability-to-markdown-f86567ad
```

Example prompt: Fetch the main article content from https://www.theverge.com/2024/1/1/example-article and give it to me as clean Markdown — title, author, date, and body text only, no ads or menus, and cap it at 20000 characters.

## When to prefer this

Prefer this endpoint when you need clean, reader-view-style Markdown from a public article or blog page — especially when feeding content to an LLM and you want clutter removed automatically. It is purpose-built for the Mozilla Readability extraction pattern (like Firefox Reader View), returns rich metadata, and does not charge for failed reads. Use it over generic HTML scrapers when you want structured article metadata alongside the content.

## Known failure modes

- Page is not HTML (PDF, binary) — not charged, returns error
- HTTP error fetching URL (4xx, 5xx) — not charged, returns error
- Page content not parseable by Readability (no main article detected) — may return empty markdown
- max_chars out of range (below 1000 or above 200000) — validation error
- URL is not HTTPS — rejected by schema validation
- Paywalled or login-required pages may return minimal content

## How this service works

Fetch a public web page and return its main content as clean Markdown (Mozilla Readability, as in Firefox Reader View, then Markdown with absolute links and tables), with title, byline, site name, published date, language, excerpt and a token estimate. Navigation, ads and footers are left out. Pages that cannot be read (errors, not HTML) are not charged.

## Output

A JSON object containing the cleaned Markdown body of the page, the canonical URL, title, byline, site name, published date, language code, excerpt, character count, a truncation flag, and an estimated token count. Navigation, ads, sidebars, and footers are excluded.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "https URL of the page"
      },
      "max_chars": {
       "type": "integer",
       "description": "cut the Markdown at this many characters (1000-200000, default 50000)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "url": {},
      "lang": {},
      "chars": {},
      "title": {},
      "markdown": {},
      "truncated": {},
      "tokens_estimate": {}
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://en.wikipedia.org/wiki/HTTP_402",
  "lang": "en",
  "chars": 50000,
  "title": "List of HTTP status codes",
  "markdown": "This article lists standard and notable non-standard [HTTP response status codes](https://en.wikipedia.org/wiki/HTTP#response-status-code)...",
  "truncated": true,
  "tokens_estimate": 12500
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-web-tools-web-page-reader-readability-to-markdown-f86567ad/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from web.kagurazaka.dev](https://www.zero.xyz/host/web.kagurazaka.dev/llms.txt)
