# offercheck /v1/read — Web Page to Markdown Reader

> offercheck /v1/read — Web Page to Markdown Reader is a paid API for AI agents from offercheck.offercheck.workers.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-11).

Fetches any public URL and returns its content as clean Markdown with metadata including title, author, links, language, and publishing details

## Facts

- Endpoint: GET https://offercheck.offercheck.workers.dev/v1/read?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/offercheck-v1-read-web-page-to-markdown-reader-73f2bcb9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Bd2YC2fsleb7jZYiO7s4m

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 offercheck-v1-read-web-page-to-markdown-reader-73f2bcb9
```

Example prompt: Can you fetch the article at https://techcrunch.com/2024/01/15/openai-news/ and give me the full text as clean readable Markdown, keeping up to 50000 characters?

## When to prefer this

Choose this endpoint when you need to read the text content of any public web page as structured Markdown without writing a scraper. It is ideal when you want clean, readable content with rich metadata (author, publish date, links, OG image) in a single pay-per-call request with no API signup. Prefer it over general web search APIs when you already have a specific URL and need its full content, or over browser automation when you just need readable text rather than interactive page control.

## Known failure modes

- URL is behind a login or paywall — returns limited or no content
- Page returns non-200 HTTP status — http_status field reflects this, content may be empty
- Content exceeds max_chars — response is truncated with truncated:true
- URL is invalid or unreachable — request fails with error
- JavaScript-heavy SPAs may return incomplete content if JS is required to render
- Robots policy may block the fetch — reported in warnings

## How this service works

Read any public web page as clean Markdown: main-content extraction (navigation, footers, scripts and hidden elements removed), headings, lists, tables, code blocks, links (absolute, deduplicated), images, plus title, description, canonical URL, language, author and publish date, and a content hash + fetch time as evidence. JSON and plain-text URLs are returned as-is. No JavaScript rendering. $0.001 per page.

## Output

A JSON object containing the page content as clean Markdown, along with metadata: title, author, language, canonical URL, final URL after redirects, site name, description, published time, HTTP status, content type, word count, link count, OG image, an array of links with href and text, evidence fields (bytes, fetch timestamp, SHA-256 hash), truncation status, and any warnings.

## 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": "Any public http/https URL"
      },
      "max_chars": {
       "type": "integer",
       "default": 50000,
       "maximum": 200000,
       "minimum": 1000,
       "description": "Cap on returned content length"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ms": 640,
  "url": "https://example.com/blog/post",
  "lang": "en",
  "chars": 91,
  "image": "https://example.com/og.png",
  "links": [
   {
    "href": "https://example.com/other",
    "text": "link"
   }
  ],
  "title": "Post title",
  "author": "Jane Doe",
  "format": "markdown",
  "content": "# Post title\n\nFirst paragraph with a [link](https://example.com/other).\n\n- item one\n- item two",
  "evidence": {
   "bytes": 48213,
   "fetched_at": "2026-09-25T20:00:00.000Z",
   "content_sha256": "…"
  },
  "warnings": [],
  "canonical": "https://example.com/blog/post",
  "final_url": "https://example.com/blog/post",
  "site_name": "Example",
  "truncated": false,
  "link_count": 1,
  "word_count": 14,
  "description": "Meta description",
  "http_status": 200,
  "content_type": "text/html; charset=utf-8",
  "published_time": "2026-09-01T00:00:00Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/offercheck-v1-read-web-page-to-markdown-reader-73f2bcb9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from offercheck.offercheck.workers.dev](https://www.zero.xyz/host/offercheck.offercheck.workers.dev/llms.txt)
