{"protocol":"streamable-http","version":"2025-03-26","runtime":"x402-pay-per-call","description":"Web to Markdown API — AI agents pay per-call in USDC via x402. No accounts, no API keys.","base_url":"","payment":{"method":"x402","network":"eip155:8453","asset":"USDC","pay_to":"0x9e938648c19a25Cb8Ef164dd002Bf4d1dAA24954","note":"First request returns HTTP 402 with payment requirements. Sign USDC payment and retry."},"tools":[{"name":"web_extract","description":"Extract clean markdown text from any web page ($0.002 per call via x402)","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL of the web page to extract"}},"required":["url"]}},{"name":"web_meta","description":"Extract page metadata: title, description, OG/Twitter tags, canonical URL ($0.002 per call)","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to extract metadata from"}},"required":["url"]}},{"name":"web_links","description":"Extract all links from a page, classified as internal/external with anchor text ($0.002 per call)","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to extract links from"}},"required":["url"]}},{"name":"web_images","description":"Extract all images from a page: src, alt text, width, height, type ($0.002 per call)","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to extract images from"}},"required":["url"]}},{"name":"web_headings","description":"Extract heading structure (h1-h6 tree) from a page, flat list + nested tree ($0.002 per call)","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to extract heading structure from"}},"required":["url"]}},{"name":"web_redirect","description":"Resolve URL redirect chain: follow redirects step-by-step, return final URL, status codes, hops ($0.002 per call)","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to resolve redirect chain for"}},"required":["url"]}},{"name":"pdf_extract","description":"Extract text from a PDF file URL (papers, reports, docs) — returns title, content, pages ($0.002 per call)","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL of the PDF file to extract text from"}},"required":["url"]}},{"name":"web_struct","description":"Extract structured data (JSON-LD, schema.org microdata, RDFa links) from a page ($0.002 per call)","inputSchema":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to extract structured data from"}},"required":["url"]}},{"name":"web_batch_extract","description":"Batch extract up to 10 URLs to clean markdown in one call ($0.005 per batch, 50% savings vs individual)","inputSchema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string","format":"uri"},"minItems":1,"maxItems":10,"description":"Array of URLs to extract (max 10)"}},"required":["urls"]}},{"name":"uuid_generate","description":"Generate one or more UUIDs (v4). Pure computation, no external dependencies ($0.001 per call)","inputSchema":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"description":"Number of UUIDs to generate (1-100, default 1)"}}}},{"name":"timestamp_convert","description":"Convert timestamps between formats: unix, ISO 8601, RFC 2822, human-readable ($0.001 per call)","inputSchema":{"type":"object","properties":{"value":{"type":"string","description":"Timestamp value to convert"},"from_format":{"type":"string","enum":["unix","iso","rfc2822","auto"],"description":"Input format (default: auto)"},"to_format":{"type":"string","enum":["unix","iso","rfc2822","human"],"description":"Output format (default: unix)"}},"required":["value"]}},{"name":"url_encode","description":"URL encode or decode a string. Pure computation ($0.001 per call)","inputSchema":{"type":"object","properties":{"text":{"type":"string","description":"Text to encode or decode"},"mode":{"type":"string","enum":["encode","decode"],"description":"Encode or decode (default: encode)"}},"required":["text"]}},{"name":"text_diff","description":"Compute line-by-line or word-level diff between two text strings. Returns unified diff format ($0.001 per call)","inputSchema":{"type":"object","properties":{"text_a":{"type":"string","description":"First text (original)"},"text_b":{"type":"string","description":"Second text (modified)"},"mode":{"type":"string","enum":["lines","words"],"description":"Diff mode: lines or words (default: lines)"}},"required":["text_a","text_b"]}}]}