# Web Page to Markdown Converter

> Web Page to Markdown Converter is a paid API for AI agents from x402-agent-api.onrender.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-12).

Fetches any public web page and converts its content into clean, readable Markdown text

## Facts

- Endpoint: POST https://x402-agent-api.onrender.com/api/v1/scrape-markdown?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/web-page-to-markdown-converter-0c3ae667
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_nmTichbf60ihWf_LOwIyp

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 web-page-to-markdown-converter-0c3ae667 -d '<json body>'
```

Example prompt: Can you grab the content of https://example.com/article and convert it into clean Markdown so I can read it without all the HTML noise?

## When to prefer this

Choose this endpoint when you need to convert a live, arbitrary web page URL into clean readable Markdown for an AI agent or LLM to process. It is ideal when you want to strip HTML boilerplate and ads and get just the meaningful text content. Prefer this over general-purpose web scrapers when you specifically need Markdown output with title and character metadata, and when you want a pay-per-call model with no API key registration.

## Known failure modes

- Non-public or paywalled URLs return incomplete or no content
- Invalid or malformed URL returns a 400 error
- Pages requiring JavaScript rendering may return minimal content
- Very large pages may be truncated (truncated: true in response)
- Payment not provided or invalid returns 402 with PAYMENT-REQUIRED header
- Network timeouts for slow-loading pages

## How this service works

Read any public URL as clean Markdown for an LLM: articles, docs, product pages, news, PDFs (text by page), RSS feeds and JSON. Real tables, code with language, math as TeX, absolute links; author, publish date and other metadata from meta tags and JSON-LD; optional links list; long pages in parts. Bot checks and empty pages are not charged. No account or API key. $0.002 USDC per call.

## Output

A JSON object containing the original URL, the page title, the full page content as clean Markdown, a boolean indicating whether the content was truncated, and the total character count of the Markdown output.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "maxLength": 2048,
   "description": "Public http(s) URL to read: a web page, PDF, text, JSON or RSS/Atom feed, e.g. https://example.com/article."
  },
  "mode": {
   "enum": [
    "main",
    "full"
   ],
   "type": "string",
   "default": "main",
   "description": "main (default): the article or main content only. full: the whole page, including navigation and footers."
  },
  "offset": {
   "type": "integer",
   "default": 0,
   "maximum": 9007199254740991,
   "minimum": 0,
   "description": "Start at this character of the Markdown; pass the previous response's next_offset to read a long page in parts."
  },
  "max_chars": {
   "type": "integer",
   "default": 100000,
   "maximum": 100000,
   "minimum": 1000,
   "description": "Return at most this many characters (1,000-100,000, default 100,000)."
  },
  "include_links": {
   "type": "boolean",
   "default": false,
   "description": "Also return the page's links as a list (url, text, internal). Default false."
  },
  "strip_link_urls": {
   "type": "boolean",
   "default": false,
   "description": "Write links as plain text in the Markdown (keeps the text, drops the URLs) to save tokens. Default false."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com/",
  "title": "Example Domain",
  "offset": 0,
  "source": "html",
  "status": 200,
  "markdown": "This domain is for use in documentation examples without needing permission. Avoid use in operations.\n\n[Learn more](https://iana.org/domains/example)",
  "metadata": {
   "type": null,
   "image": null,
   "pages": null,
   "author": null,
   "language": "en",
   "site_name": null,
   "description": null,
   "canonical_url": null,
   "modified_time": null,
   "published_time": null
  },
  "truncated": false,
  "char_count": 149,
  "next_calls": [
   {
    "why": "Who runs this site's email, and which SaaS does its domain use?",
    "tool": "domain_enrich",
    "price": "$0.004",
    "arguments": {
     "domain": "example.com"
    }
   }
  ],
  "word_count": 17,
  "next_offset": null,
  "total_chars": 149,
  "content_type": "text/html",
  "token_estimate": 38
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/web-page-to-markdown-converter-0c3ae667/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-agent-api.onrender.com](https://www.zero.xyz/host/x402-agent-api.onrender.com/llms.txt)
