# aiworker-data Web Page to Markdown Scraper

> aiworker-data Web Page to Markdown Scraper is a paid API for AI agents from aiworker.duckdns.org, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-13).

Fetches a public web page and returns its content as clean, agent-readable Markdown

## Facts

- Endpoint: POST https://aiworker.duckdns.org/v1/scrape/markdown
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/aiworker-data-web-page-to-markdown-scraper-725fe9b4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_KE7zCoJmwahK6uGpcbM0J

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 aiworker-data-web-page-to-markdown-scraper-725fe9b4 -d '<json body>'
```

Example prompt: Fetch the content of https://example.com/blog/2024-annual-report and give it back to me as clean markdown, keeping it under 60000 characters.

## When to prefer this

Use this endpoint when you need a fast, cheap ($0.02/call), clean Markdown rendering of any public HTTPS webpage for LLM consumption. Prefer it over raw HTML fetching when you want noise-free, structured text. Choose the sibling /v1/scrape/summarize endpoint if you also need a structured summary and key entities in the same call. This endpoint is best for agents that need the full raw page content in a readable format without additional AI-generated analysis.

## Known failure modes

- Non-HTTPS or relative URLs rejected — URL must be absolute and start with https://
- Pages behind authentication or paywalls will return incomplete or empty content
- max_chars below 500 or above 60000 will be rejected by schema validation
- Slow or unresponsive target servers may cause timeout errors
- JavaScript-heavy SPAs may return minimal content if server-side rendering is unavailable
- Truncated flag will be true if page content exceeds max_chars — downstream agent should handle partial content

## How this service works

Deterministic-first data for agents, paid per call in USDC over x402 v2: DeFi yields, Base token and wallet cards, Polymarket odds and backtests, news, fact checks, cited briefs. 20 routes, $0.005-$1

## Output

A JSON object containing the page title, a boolean indicating whether content was truncated, the full page content rendered as clean Markdown (up to 60,000 characters), and a word count integer.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "absolute https url of a public page"
  },
  "max_chars": {
   "type": "integer",
   "default": 60000,
   "maximum": 60000,
   "minimum": 500
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "title": "Example",
  "source": "web",
  "truncated": false,
  "content_md": "# Example\n…",
  "source_url": "https://example.com/article",
  "word_count": 812,
  "attribution": "Fetched from https://example.com"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aiworker-data-web-page-to-markdown-scraper-725fe9b4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from aiworker.duckdns.org](https://www.zero.xyz/host/aiworker.duckdns.org/llms.txt)
