{"uid":"cap_cHUrE8VbtCJZL5gl8VWPF","slug":"aiskills402-web-to-markdown-07e51bd9","name":"AISkills402: Web to Markdown","description":"Web to Markdown API: reads one public web page from the Cloudflare edge (static HTML, robots.txt respected, no JavaScript rendering) and returns clean markdown or plain text of the main content (nav and footer dropped; scope: page keeps all) with title, description, language and links. $0.005 USDC per page; you pay only when the page text is returned - refusals cost nothing. POST JSON {url, format?, links?, scope?}; free example at https://api.aiskills402.com/v1/run/web-to-markdown/example","url":"https://api.aiskills402.com/v1/run/web-to-markdown?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"minLength":1,"description":"Public https address of the page to read (port 443, a DNS name; no IP addresses, no *.workers.dev)."},"links":{"type":"boolean","default":true,"description":"true returns the page links (up to 300) and keeps links in the markdown; false returns plain text without links."},"scope":{"enum":["main","page"],"type":"string","default":"main","description":"main returns only the main content of the page (its <main> element, or its single <article>) when it has text, otherwise the whole page; page returns everything, navigation and footer included."},"format":{"enum":["markdown","text"],"type":"string","default":"markdown","description":"markdown keeps headings, lists, links, tables and code; text drops the markup signs."}}},"responseSchema":{"type":"json","example":{"ok":true,"skill":"web-to-markdown","engine":"1.0.0","replay":false,"result":{"url":"https://www.iana.org/help/example-domains","lang":null,"chars":2497,"links":[{"url":"https://www.iana.org/","text":"Homepage"},{"url":"https://www.iana.org/domains","text":"Domains"},{"url":"https://www.iana.org/protocols","text":"Protocols"},{"url":"https://www.iana.org/numbers","text":"Numbers"},{"url":"https://www.iana.org/about","text":"About"},{"url":"https://www.iana.org/help","text":"Instructions and Guides"},{"url":"https://www.iana.org/domains/reserved","text":"IANA-managed Reserved Domains"},{"url":"https://www.iana.org/go/rfc6761","text":"Special-Use Domain Names"},{"url":"https://www.iana.org/go/rfc2606","text":"Reserved Top Level DNS Names"},{"url":"https://www.iana.org/domains/root","text":"Root Zone Registry"},{"url":"https://www.iana.org/domains/int","text":".INT Registry"},{"url":"https://www.iana.org/domains/arpa","text":".ARPA Registry"},{"url":"https://www.iana.org/domains/idn-tables","text":"IDN Repository"},{"url":"https://www.iana.org/numbers/registries","text":"Number Registries"},{"url":"https://www.iana.org/numbers/allocations/","text":"RIR Allocation Data"},{"url":"https://www.iana.org/help/abuse","text":"Abuse Information"},{"url":"https://www.iana.org/time-zones","text":"Time Zone Database"},{"url":"https://www.iana.org/news","text":"News"},{"url":"https://www.iana.org/performance","text":"Performance"},{"url":"https://www.iana.org/about/organization","text":"The Organization"},{"url":"https://www.iana.org/archive","text":"Archive"},{"url":"https://www.iana.org/contact","text":"Contact Us"},{"url":"https://pti.icann.org/","text":"Public Technical Identifiers"},{"url":"https://www.icann.org/","text":"ICANN"},{"url":"https://www.icann.org/privacy/policy","text":"Privacy Policy"},{"url":"https://www.icann.org/privacy/tos","text":"Terms of Service"}],"title":"Example Domains","format":"markdown","status":200,"charset":"utf-8","content":"[![Homepage](https://www.iana.org/static/img/iana-logo-header.426b3ac01d35.svg)](https://www.iana.org/)\n\n- [Domains](https://www.iana.org/domains)\n- [Protocols](https://www.iana.org/protocols)\n- [Numbers](https://www.iana.org/numbers)\n- [About](https://www.iana.org/about)\n\n1. [Instructions and Guides](https://www.iana.org/help)\n\n# Example Domains\n\nA number of domains such as `example.com` and `example.org` are maintained for documentation purposes. These domains may be used as illustrative examples in documents without prior coordination with us. They are not available for registration or transfer.\n\nWe provide a web service on the example domain hosts to provide basic information on the purpose of the domain. These web services are provided as best effort, but are not designed to support production applications. We strongly recommend you do not design applications that require the example domains to have operating HTTP service.\n\n## Further Reading\n\n- [IANA-managed Reserved Domains](https://www.iana.org/domains/reserved)\n- [Special-Use Domain Names](https://www.iana.org/go/rfc6761) (RFC 6761)\n- [Reserved Top Level DNS Names](https://www.iana.org/go/rfc2606) (RFC 2606)\n\nLast revised 2026-09-27.\n\n| [Domain Names](https://www.iana.org/domains) | - [Root Zone Registry](https://www.iana.org/domains/root) - [.INT Registry](https://www.iana.org/domains/int) - [.ARPA Registry](https://www.iana.org/domains/arpa) - [IDN Repository](https://www.iana.org/domains/idn-tables) |\n| --- | --- |\n| [Number Resources](https://www.iana.org/numbers) | - [Number Registries](https://www.iana.org/numbers/registries) - [RIR Allocation Data](https://www.iana.org/numbers/allocations/) - [Abuse Information](https://www.iana.org/help/abuse) |\n| [Protocols](https://www.iana.org/protocols) | - [Protocol Registries](https://www.iana.org/protocols) - [Time Zone Database](https://www.iana.org/time-zones) |\n| [About Us](https://www.iana.org/about) | - [News](https://www.iana.org/news) - [Performance](https://www.iana.org/performance) - [The Organization](https://www.iana.org/about/organization) - [Archive](https://www.iana.org/archive) - [Contact Us](https://www.iana.org/contact) |\n\nThe IANA functions coordinate the Internet’s globally unique identifiers, and are provided by [Public Technical Identifiers](https://pti.icann.org/), an affiliate of [ICANN](https://www.icann.org/).\n\n- [Privacy Policy](https://www.icann.org/privacy/policy)\n- [Terms of Service](https://www.icann.org/privacy/tos)","rendered":"static","final_url":"https://www.iana.org/help/example-domains","redirects":0,"truncated":false,"fetched_at":"2026-10-17T12:32:11.860Z","description":null,"links_total":26,"content_type":"text/html","bytes_fetched":6774},"receipt":{"tx":"0x<settlement transaction>","settled":true},"refusal":null,"input_sha256":"<sha256 of the request>"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_fBato471sBa1CE2yxD4-1","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a public web page from the Cloudflare edge and returns clean markdown or plain text of its main content, with metadata and links extracted.","exampleAgentPrompt":"Can you fetch the page at https://blog.example.com/intro-to-ai and give me the main content as markdown, including all the links on the page?","exampleUseCases":[{"title":"Extract article for summarization","prompt":"Grab the article at https://techcrunch.com/2024/05/01/openai-news/ and return the main content as markdown so I can summarize it — include the links too."},{"title":"Competitive research page scrape","prompt":"Pull the text from https://www.competitor.com/pricing and give me just the plain text of the main content, no markdown formatting or links needed."},{"title":"Full page archive for reference","prompt":"Fetch the full page content of https://docs.python.org/3/library/json.html including navigation and footer as markdown, and include all the links you find on the page."}],"resultDescription":"A JSON object with ok:true, the resolved URL, character count, language, HTTP status, charset, page title, format used, and either a markdown or plain-text rendering of the page content; optionally includes up to 300 extracted links with their anchor text. Navigation and footer are stripped when scope is 'main'. Refusals (robots.txt blocks, non-200 responses) return an error without charging.","failureModes":["robots.txt disallows crawl — returns refusal, no charge","Non-public or IP-addressed URLs rejected at input validation","JavaScript-rendered content not available — only static HTML is fetched","Page returns non-200 HTTP status — error returned, no charge","URL exceeds 2048 characters or is malformed — validation error","Port other than 443 or non-DNS hostname rejected"],"whenToPreferThis":"Choose this endpoint when you need to read a single static public web page and get clean, readable markdown or plain text back quickly, especially when you want nav/footer stripped automatically. It runs on the Cloudflare edge for low latency and respects robots.txt. Prefer it over general-purpose scraping tools when you need structured metadata (title, language, links) alongside the content, and when a per-page micropayment model ($0.005 USDC) is acceptable.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-18T12:30:13.141Z","isFirstParty":false,"canonicalSlug":"aiskills402-web-to-markdown-07e51bd9"}