# X402 Web-to-Markdown Converter

> X402 Web-to-Markdown Converter is a paid API for AI agents from x402.feld-feder.at, paid per call via x402, $0.004/call, status down (last checked 2026-10-23).

Fetches a web page and returns its content converted to Markdown format, billed per-request via the x402 micropayment protocol.

## Facts

- Endpoint: POST https://x402.feld-feder.at/v1/web/markdown?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: down
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-web-to-markdown-converter-9a5ad33f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_tuLF3w1AAzfkE34Bq_XdG

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 x402-web-to-markdown-converter-9a5ad33f -d '<json body>'
```

Example prompt: Can you fetch the page at https://example.com/article and give me the full content as clean markdown so I can read it?

## When to prefer this

Choose this endpoint when you need a quick, pay-per-use web page to Markdown conversion without setting up your own scraping infrastructure. It's ideal for AI agents that need to ingest web content as clean text for summarization, indexing, or analysis, and where cost-per-call micropayment via x402 is acceptable. Prefer alternatives if you need bulk crawling, authenticated sessions, or JavaScript rendering.

## Known failure modes

- URL is unreachable or returns a non-200 status — likely returns ok: false with an error message
- Page is behind a login or CAPTCHA and cannot be fetched
- Payment via x402 fails or is rejected — request is not processed
- Malformed or missing URL input causes a 400-level error
- Page content is not parseable into meaningful Markdown (e.g. heavy JavaScript SPA with no static HTML)

## How this service works

Pay-per-request data tools for AI agents.

## Output

A JSON object with `ok: true` and a `data.markdown` field containing the fetched web page's content rendered as Markdown text.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "title": "WebUrlRequest",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "title": "Url",
       "maxLength": 4096,
       "minLength": 1
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "title": "ResponseEnvelope[WebMarkdownData]",
     "required": [
      "data"
     ],
     "properties": {
      "ok": {
       "type": "boolean",
       "const": true,
       "title": "Ok",
       "default": true
      },
      "data": {
       "type": "object",
       "title": "WebMarkdownData",
       "required": [
        "markdown"
       ],
       "properties": {
        "markdown": {
         "anyOf": [
          {
           "type": "string"
          },
          {
           "type": "null"
          }
         ],
         "title": "Markdown"
        }
       }
      },
      "cache": {
       "anyOf": [
        {
         "type": "object",
         "title": "CacheInfo",
         "required": [
          "hit"
         ],
         "properties": {
          "hit": {
           "type": "boolean",
           "title": "Hit"
          },
          "age_seconds": {
           "type": "integer",
           "title": "Age Seconds",
           "default": 0,
           "minimum": 0
          }
         }
        },
        {
         "type": "null"
        }
       ],
       "default": null
      },
      "source": {
       "anyOf": [
        {
         "type": "object",
         "title": "SourceInfo",
         "required": [
          "requested_url",
          "final_url",
          "retrieved_at"
         ],
         "properties": {
          "final_url": {
           "type": "string",
           "title": "Final Url
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "data": {
   "markdown": "# Example"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-web-to-markdown-converter-9a5ad33f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.feld-feder.at](https://www.zero.xyz/host/x402.feld-feder.at/llms.txt)
