{"uid":"cap_23-f9jmPVh6DoXW5z_lJI","slug":"blackwood-web-markdown-extractor-84d33bc2","name":"Blackwood Web Markdown Extractor","description":"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 for pages that need JavaScript to render, sit behind a login or paywall, or are not HTML (PDFs go to blackwood_pdf_extract). Returns JSON with the clean Markdown of a public web page plus its title, description, language, canonical URL and links for 0.01 USDC per call. Typical response time 2500 ms (p95). Category: Data.","url":"https://x402-gateway.blackwoodstate8.workers.dev/v1/web-markdown?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public http(s) URL of the web page to read, e.g. https://example.com/article"},"maxChars":{"type":"integer","maximum":100000,"minimum":500,"description":"Maximum length of the returned markdown (500-100000 characters, 50000 when omitted)"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["url","finalUrl","status","title","description","lang","canonical","markdown","links","wordCount","truncated"],"properties":{"url":{"type":"string"},"lang":{"type":["string","null"]},"next":{"type":"object","required":["service","tool","method","url","useWhen","sample"],"properties":{"url":{"type":"string","description":"Paid route of the next call"},"tool":{"type":"string","description":"MCP tool name of the same call"},"method":{"enum":["GET","POST"],"type":"string"},"sample":{"type":"string","description":"Free fixed sample of the whole family"},"service":{"type":"string","description":"Service id of the suggested next paid call"},"useWhen":{"type":"string","description":"When the next call is the right one"}},"description":"Suggested next paid call in the same family (call it in a loop when the task continues)","additionalProperties":false},"links":{"type":"array","items":{"type":"object","required":["text","href"],"properties":{"href":{"type":"string"},"text":{"type":"string"}},"additionalProperties":false}},"title":{"type":["string","null"]},"status":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"finalUrl":{"type":"string"},"markdown":{"type":"string"},"canonical":{"type":["string","null"]},"truncated":{"type":"boolean"},"wordCount":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991},"description":{"type":["string","null"]}},"additionalProperties":false}}}}},"responseSchema":{"type":"json","example":{"url":"https://httpbin.org/html","lang":null,"links":[],"title":null,"status":200,"finalUrl":"https://httpbin.org/html","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","canonical":null,"truncated":true,"wordCount":78,"description":null}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_d01Avyz7bo2eTDIBGHmLc","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a public web page and returns its content as clean Markdown, along with metadata like title, description, language, canonical URL, and links.","exampleAgentPrompt":"Can you fetch the article at https://www.bbc.com/news/technology-12345678 and give me its content as clean markdown so I can summarize it?","exampleUseCases":[{"title":"Research article extraction for AI summary","prompt":"Go to https://techcrunch.com/2024/05/01/openai-launches-new-model/ and pull out the full article text as markdown so I can summarize the key points."},{"title":"Competitive intelligence from a product page","prompt":"Scrape the content from https://www.competitor.com/pricing and return it as markdown — I want to see all their pricing tiers and feature lists."},{"title":"News monitoring for a daily briefing","prompt":"Fetch the article at https://www.reuters.com/article/markets-stocks-idUSL1N3AB0XY and give me the clean readable text, up to 20000 characters, so I can include it in today's briefing."}],"resultDescription":"Returns a JSON object containing: clean Markdown of the page body, page title, meta description, detected language, canonical URL, array of links (text + href), word count, a truncated flag, and a suggested next-call hint for chaining requests in the same family.","failureModes":["Page requires JavaScript to render — HTML-only scraper returns empty or partial content","Page is behind a login or paywall — returns limited or no content","URL points to a PDF or non-HTML resource — should use the PDF extractor instead","URL is malformed or unreachable — returns an error status","Page content exceeds maxChars and is truncated — truncated flag is set true","Network timeout on slow or geographically restricted pages"],"whenToPreferThis":"Choose this endpoint when you need to extract readable text content from a publicly accessible, server-rendered HTML web page and want it formatted as Markdown suitable for LLM consumption. It is ideal for articles, blog posts, documentation pages, and marketing pages. Avoid it for JavaScript-heavy single-page apps, paywalled content, login-required pages, or PDFs (use the sibling PDF extractor for those).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-22T18:41:11.903Z","isFirstParty":false,"canonicalSlug":"blackwood-web-markdown-extractor-84d33bc2"}