Send a URL, get back clean markdown. Strips ads, nav, and boilerplate. Returns structured text optimized for LLM context windows.
Data source: Live web fetch + readability extraction
| Param | Type | Description |
|---|---|---|
url | string (body JSON) | Full URL to convert, e.g. https://example.com/article |
curl -X POST "https://contabo-vps.taild7e69a.ts.net/markdown/api/markdown" \
-H "Content-Type: application/json" \
-d '{ "url": "https://example.com/article" }'
{
"markdown": "# Article Title\n\nClean article text...\n",
"title": "Article Title",
"url": "https://example.com/article"
}
402 Payment Required
with the exact price, the USDC contract, the network (eip155:8453 = Base), and the pay-to address.X-PAYMENT header set to the base64-encoded
signed payment payload → 200 with JSON.# 1. Get the 402 payment requirements
curl -s -X POST "https://contabo-vps.taild7e69a.ts.net/markdown/api/markdown" -H "Content-Type: application/json" -d '{ "url": "https://example.com/article" }'
# 2. Pay 0.002 USDC on Base, then retry with the payment proof
curl -X POST "https://contabo-vps.taild7e69a.ts.net/markdown/api/markdown" \
-H "Content-Type: application/json" \
-H "X-PAYMENT: <base64-signed-payment-payload>" \
-d '{ "url": "https://example.com/article" }'
Facilitators: Coinbase CDP and PayAI (no API key needed for either).
Scheme: x402 v2 exact. Asset: USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base.
Every IP gets 10/day free calls to this endpoint — no payment needed.
Free calls run automatically when you call without an X-PAYMENT header.
The X-Free-Remaining response header shows how many free calls you have left today.
When the quota is exhausted, the request falls through to the normal 402 payment flow.
All 37 x402 API docs · Postman collection (download) · About this API