# Agent Data Desk – Markdown / Web Page Fetcher

> Agent Data Desk – Markdown / Web Page Fetcher is a paid API for AI agents from x402-seller.zshnfaizal.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Fetches a public web page and returns its content as clean Markdown (or JSON with metadata), paid per-call via USDC on Base with no API keys required.

## Facts

- Endpoint: GET https://x402-seller.zshnfaizal.workers.dev/v1/markdown
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-data-desk-markdown-web-page-fetcher-1599997b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vf3S9F8jz7OPCNsI5V9yq

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 agent-data-desk-markdown-web-page-fetcher-1599997b
```

Example prompt: Fetch the contents of https://en.wikipedia.org/wiki/Markdown and give me back the full page as markdown text — return the JSON format so I also get the title and final URL.

## When to prefer this

Choose this endpoint when you need a lightweight, pay-per-call web page fetcher that returns LLM-ready Markdown with no account setup, no API keys, and micropayment billing via USDC on Base. Ideal for AI agents that need to read arbitrary public URLs on demand without managing subscriptions. Prefer it over browser automation tools when the page content is accessible without JavaScript rendering.

## Known failure modes

- Non-public or authentication-gated URLs return empty or error content
- Very large pages may be truncated (truncated: true in response)
- Invalid or malformed URLs cause a 4xx error
- Payment failure via x402 protocol blocks the request before fetching
- Pages with heavy JavaScript rendering may not return full dynamic content
- DNS resolution failures or unreachable hosts return an error status

## How this service works

Pay-per-call data for AI agents: weather ($0.005), defi_yields ($0.002), token_balance ($0.002), markdown ($0.01). USDC on Base mainnet via x402 v2; no API keys, no accounts.

## Output

Returns a JSON object containing the original URL, final redirected URL, page title, HTTP status code, full page content as Markdown, character count, a boolean indicating whether the content was truncated, the fetch timestamp, and content-type header. In 'md' format mode, returns only the raw Markdown/text body.

## 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 a public page."
      },
      "format": {
       "enum": [
        "json",
        "md"
       ],
       "type": "string",
       "description": "json = {url, final_url, title, markdown, truncated}; md = raw text/markdown body."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "url",
      "markdown",
      "truncated"
     ],
     "properties": {
      "url": {
       "type": "string"
      },
      "chars": {
       "type": "integer"
      },
      "title": {
       "type": "string"
      },
      "status": {
       "type": "integer"
      },
      "markdown": {
       "type": "string"
      },
      "final_url": {
       "type": "string"
      },
      "truncated": {
       "type": "boolean"
      },
      "fetched_at": {
       "type": "string"
      },
      "content_type": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com",
  "chars": 231,
  "title": "Example Domain",
  "status": 200,
  "markdown": "# Example Domain\n\nThis domain is for use in illustrative examples in documents...\n\n[More information...](https://www.iana.org/domains/example)",
  "final_url": "https://example.com/",
  "truncated": false,
  "fetched_at": "2026-08-29T20:05:12.000Z",
  "content_type": "text/html; charset=UTF-8"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-data-desk-markdown-web-page-fetcher-1599997b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-seller.zshnfaizal.workers.dev](https://www.zero.xyz/host/x402-seller.zshnfaizal.workers.dev/llms.txt)
