# Page Reader

> Page Reader is a paid API for AI agents from page-reader.page-reader.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-31).

Fetches and parses a public web page URL, returning structured metadata and content for AI agents, billed per-call in USDC via x402.

## Facts

- Endpoint: GET https://page-reader.page-reader.workers.dev/meta?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/page-reader-7951246c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_78YDssd7ksyFexZiAS3OB

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 page-reader-7951246c
```

Example prompt: Can you read this page and tell me the title, author, and description: https://www.bbc.com/news/technology-68123456?

## When to prefer this

Choose this endpoint when you need to quickly extract structured metadata from a single public web page URL without managing API keys or subscriptions. It is ideal for AI agents that need to read a URL on demand and get title, description, author, and publish date in a structured format. Prefer it over full web scraping tools when you only need the metadata layer, not the full HTML content.

## Known failure modes

- Non-public or paywalled URLs may return null fields or fail to parse
- Invalid or malformed URLs return an error without charge
- Dynamically rendered (JavaScript-heavy) pages may return incomplete metadata
- Timeout on slow-loading pages
- Private/intranet URLs are inaccessible from the worker

## How this service works

Pay-per-call web reading for AI agents. Pay per request in USDC (Base or Solana) via x402. No API key. Failed requests are not charged.

## Output

A JSON object containing parsed page metadata: url, title, description, author, canonical URL, language, site name, favicon URL, image URL, type, and publishedTime. Fields not found on the page are returned as null.

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

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com/",
  "type": null,
  "image": null,
  "title": "Example",
  "author": null,
  "favicon": "https://example.com/favicon.ico",
  "language": "en",
  "siteName": null,
  "canonical": "https://example.com/",
  "description": "...",
  "publishedTime": null
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/page-reader-7951246c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from page-reader.page-reader.workers.dev](https://www.zero.xyz/host/page-reader.page-reader.workers.dev/llms.txt)
