Returns JSON with the clean Markdown of a public web page plus its title, description, language, canonical URL and links.
Use when you need to scrape a web page, extract content from a url or read an article as markdown for an LLM.
Do not use when the page needs JavaScript to render, sits behind a login or paywall, or is not HTML (use a PDF reader for PDFs).
Price: 0.01 USDC per call (x402, eip155:8453). Typical response time: 2500 ms (p95).
POST https://x402-gateway.blackwoodstate8.workers.dev/v1/web-markdown. A request without payment gets 402 Payment Required with the
PAYMENT-REQUIRED header; any x402 client signs an EIP-3009 authorization and retries with
PAYMENT-SIGNATURE (or X-PAYMENT). Invalid input is answered with 400 and not charged.
curl -i -X POST https://x402-gateway.blackwoodstate8.workers.dev/v1/web-markdown -H 'content-type: application/json' -d '{"url":"https://httpbin.org/html","maxChars":500}'
| Pay to | 0x5A6c77758820182484EA8DE614FC65423E80749a |
|---|---|
| Asset | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC) |
| Amount | 10000 atomic units (0.01 USDC) |
| Authorization window | 60 s |
Streamable HTTP at https://x402-gateway.blackwoodstate8.workers.dev/mcp, tool web-markdown_v1. Payment goes in
_meta["x402/payment"]; without it the tool returns the payment requirements.
| Field | Type | Meaning |
|---|---|---|
url | string | Public http(s) URL of the web page to read |
maxChars (optional) | integer | Maximum length of the returned markdown (500-100000 characters, 50000 when omitted) |
Example:
{
"url": "https://httpbin.org/html",
"maxChars": 500
}
Real example:
{
"url": "https://httpbin.org/html",
"finalUrl": "https://httpbin.org/html",
"status": 200,
"title": null,
"description": null,
"lang": null,
"canonical": null,
"markdown": "# Herman Melville - Moby-Dick\n\nAvailing himself of the mild, summer-cool weather that now reigned in these latitudes, and in preparation for the peculiarly active pursuits shortly to be anticipated, Perth, the begrimed, blistered old blacksmith, had not removed his portable forge to the hold again, after concluding his contributory work for Ahab's leg, but still retained it on deck, fast lashed to ringbolts by the foremast; being now almost incessantly invoked by the headsmen, and harpooneers, a",
"links": [],
"wordCount": 78,
"truncated": true
}
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"finalUrl": {
"type": "string"
},
"status": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"title": {
"type": [
"string",
"null"
]
},
"description": {
"type": [
"string",
"null"
]
},
"lang": {
"type": [
"string",
"null"
]
},
"canonical": {
"type": [
"string",
"null"
]
},
"markdown": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"href": {
"type": "string"
}
},
"required": [
"text",
"href"
],
"additionalProperties": false
}
},
"wordCount": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"truncated": {
"type": "boolean"
}
},
"required": [
"url",
"finalUrl",
"status",
"title",
"description",
"lang",
"canonical",
"markdown",
"links",
"wordCount",
"truncated"
],
"additionalProperties": false
}Free schema and example: GET https://x402-gateway.blackwoodstate8.workers.dev/v1/web-markdown.
OpenAPI 3.1 · llms.txt · All services