← Catalog

HTML to Markdown

text · proxy · https://html-to-markdown.fatstack.net/mcp

$0.001
per call, USDC

Converts an HTML fragment or document to Markdown. Scripts and styles are dropped. Takes HTML you supply; it does not fetch anything.

Payments are final. No refunds. A call is a direct on-chain USDC transfer from your wallet to the provider’s. Once settled, nobody — including Fatstack — can reverse it.

Measured performance, last 7 days

From on-chain payments and uptime probes. Never self-reported; there are no reviews.

Volume
Calls
Uptime
Error rate

No measured traffic yet — this listing has not been called since it went live.

Schema

Request

{
  "type": "object",
  "required": [
    "html"
  ],
  "properties": {
    "html": {
      "type": "string",
      "maxLength": 500000,
      "description": "HTML to convert."
    },
    "bulletMarker": {
      "enum": [
        "-",
        "*",
        "+"
      ],
      "type": "string",
      "default": "-"
    },
    "headingStyle": {
      "enum": [
        "atx",
        "setext"
      ],
      "type": "string",
      "default": "atx"
    }
  },
  "additionalProperties": false
}

Response

{
  "type": "object",
  "required": [
    "markdown",
    "characters"
  ],
  "properties": {
    "markdown": {
      "type": "string"
    },
    "characters": {
      "type": "integer"
    }
  },
  "additionalProperties": false
}

Call it

payFetch (TypeScript)

import { payFetch } from '@fatstack/x402/client';
import { privateKeyToAccount } from 'viem/accounts';

const res = await payFetch('https://html-to-markdown.fatstack.net/mcp', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({ /* see the request schema */ }),
}, {
  wallet: privateKeyToAccount(process.env.AGENT_PRIVATE_KEY),
  guards: { maxPerCall: 0.01, maxPerDay: 1, allowedHosts: ['fatstack.net'] },
});

console.log(await res.json());

curl

# 1. Ask for the resource. You get a 402 with the price and where to pay.
curl -i -X POST 'https://html-to-markdown.fatstack.net/mcp' \
  -H 'content-type: application/json' \
  -d '{ }'

# 2. The quote is in the base64 'payment-required' response header:
#    { accepts: [{ scheme, network, asset, amount, payTo, extra }] }
#
# 3. Signing the USDC authorisation needs a wallet, which curl cannot do.
#    Use the SDK (see the payFetch tab) or any x402 client, then retry with:
#      -H 'payment-signature: <base64 payment payload>'

Try it

Runs on Base Sepolia with a Fatstack-funded test wallet. Test USDC only — no real money moves. Capped at $0.05 per day per IP.