# x402 Reader

> x402 Reader is a paid API for AI agents from reader.outbid.sh, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-02).

Fetches any public web page and returns its content as clean Markdown, billed at $0.002 USDC per call via x402 micropayment.

## Facts

- Endpoint: GET https://reader.outbid.sh/scrape?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-reader-d0a28879
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5xbw0lm9rWRnkGLQLaBai

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-reader-d0a28879
```

Example prompt: Can you grab the content of https://www.bbc.com/news/technology-12345678 and give it to me as clean Markdown?

## When to prefer this

Use this endpoint when you need to retrieve and read a public web page as clean, LLM-friendly Markdown with a simple per-call micropayment model and no API key setup. It is ideal for one-off or low-volume page reads where you want structured metadata (title, word count, hashes) alongside the content. Prefer it over browser automation or full crawlers when you only need readable text from a single public URL.

## Known failure modes

- URL is not publicly accessible or requires authentication — origin_status will reflect 401/403
- Page returns non-HTML content (PDF, binary) — conversion may be incomplete or empty
- URL is invalid or malformed — request rejected before fetch
- Origin server is down or times out — error returned with no content
- Paywalled or JavaScript-rendered content may return minimal or incomplete Markdown
- Payment not accepted or x402 handshake fails — call not processed

## How this service works

HTML to markdown. $0.002 USDC.

## Output

A JSON object with ok status, the page title, the full Markdown content of the page, the final resolved URL (after redirects), the fetch timestamp, word count, origin HTTP status code, SHA-256 hashes of the Markdown and raw origin body, the origin content type, origin body size in bytes, and the extractor version used.

## 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",
       "format": "uri",
       "description": "Public http(s) URL to convert to markdown"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "title": "Example article",
  "content": "# Example article",
  "markdown": "# Example article",
  "final_url": "https://example.com/article",
  "fetched_at": "2026-09-13T00:00:00.000Z",
  "word_count": 2,
  "origin_status": 200,
  "requested_url": "https://example.com/article",
  "markdown_sha256": "1111111111111111111111111111111111111111111111111111111111111111",
  "extractor_version": "x402-reader.readability-markdown.v1",
  "origin_body_bytes": 1234,
  "origin_body_sha256": "0000000000000000000000000000000000000000000000000000000000000000",
  "origin_content_type": "text/html; charset=utf-8"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-reader-d0a28879/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from reader.outbid.sh](https://www.zero.xyz/host/reader.outbid.sh/llms.txt)
