# Surefact Web Page Reader

> Surefact Web Page Reader is a paid API for AI agents from api.surefact.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-14).

Fetches and converts any public web page to clean Markdown with metadata, verified against the live source

## Facts

- Endpoint: GET https://api.surefact.workers.dev/v1/read?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/surefact-web-page-reader-dab9cd02
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cOJSFuNIzh4dWD5Jl-KGx

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 surefact-web-page-reader-dab9cd02
```

Example prompt: Can you read the web page at https://techcrunch.com/2024/01/15/openai-news and give me the main content as text, keeping it under 5000 characters?

## When to prefer this

Choose this endpoint when you need a verified, pay-per-successful-call web page fetch with no API key setup, no subscription, and payment in USDC via x402. It is ideal for AI agents that need to read live web content on demand and only pay when the call succeeds. Prefer it over generic scraping APIs when you want Markdown-formatted output with structured metadata (author, dates, canonical URL) and proof that the content was actually fetched from the source.

## Known failure modes

- URL is unreachable or returns a non-2xx status — call is not charged
- URL points to a non-HTML resource that cannot be parsed (e.g. binary file)
- URL is malformed or not an absolute http/https URL — validation error
- Page requires JavaScript rendering and serves empty HTML to crawlers
- Content exceeds max_chars and is truncated — indicated by truncated:true in response
- Rate limiting or network timeouts from the target server

## How this service works

Verified, pay-per-call tools for AI agents: read web pages, check emails, audit DNS and domains, convert currencies, vet package versions for vulnerabilities, and roll provably fair dice for games. Every answer is checked against its source or comes with a proof. No signup or API key: pay each call in USDC on Base with x402. Failed calls are never charged.

## Output

A JSON object containing the page's title, full markdown-rendered body text, word count, language code, content type, canonical and final URLs, metadata fields (author, published date, modified date, site name, OG image, article type), a document outline, a description, and a truncated flag indicating whether the max_chars limit was hit.

## 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": "Absolute http(s) URL of the page."
      },
      "max_chars": {
       "type": "string",
       "pattern": "^-?\\d+$",
       "description": "Cap on Markdown length (1000-40000, default 20000)."
      }
     }
    }
   },
   "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",
  "lang": "en",
  "meta": {
   "type": null,
   "image": null,
   "author": null,
   "modified": null,
   "canonical": null,
   "published": null,
   "site_name": null
  },
  "title": "Example Domain",
  "outline": [],
  "markdown": "This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.",
  "final_url": "https://example.com/",
  "truncated": false,
  "word_count": 25,
  "description": null,
  "content_type": "text/html"
 }
}
```

## More

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