Web page to Markdown
scrape_markdownUse it when an agent needs to read a web page, article, documentation, PDF, blog post, product or pricing page, news story or RSS feed. Returns the main content as clean Markdown ready for an LLM: navigation, ads, footers and sidebars removed (or mode: "full" for the whole page), real tables as Markdown tables, code blocks with their language, math as TeX, the real (not lazy-loaded placeholder) images, absolute links without same-page anchors, and no needless escaping. Also returns metadata from meta tags and JSON-LD (description, author, published and modified time, language, site name, canonical URL, image, schema.org type), the HTTP status, word and token counts, and optionally the page's links. PDFs come back as text by page (up to 100 pages, 15 MB; no OCR), RSS/Atom feeds as item lists, JSON pretty-printed, and JavaScript-built pages that embed their content as data (JSON-LD articleBody, Next.js) are read from it. Long pages are returned in parts of up to 100,000 characters: pass next_offset back as offset; strip_link_urls saves tokens. Bot checks ("Just a moment...") and pages with no readable text answer 422 and are not charged; JavaScript is not executed. No account or API key. You are only charged when a result is returned: invalid input (400) and upstream failures (4xx/5xx) are not settled. Costs $0.002 USDC per call via x402. Paid per call with x402 inside MCP (see the server instructions).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL to read: a web page, PDF, text, JSON or RSS/Atom feed, e.g. https://example.com/article. | |
| via | No | Optional: the tool whose next_calls suggested this call (filled in for you). | |
| mode | No | main (default): the article or main content only. full: the whole page, including navigation and footers. | main |
| offset | No | Start at this character of the Markdown; pass the previous response's next_offset to read a long page in parts. | |
| max_chars | No | Return at most this many characters (1,000-100,000, default 100,000). | |
| include_links | No | Also return the page's links as a list (url, text, internal). Default false. | |
| strip_link_urls | No | Write links as plain text in the Markdown (keeps the text, drops the URLs) to save tokens. Default false. |