Read several web pages at once
scrape_batchUse it when an agent needs to read several web pages at once: compare competitors' pricing pages, read the top search results, or the pages a site_map call found. Reads 2-5 public URLs in one paid call (one payment round trip instead of five), each exactly like scrape_markdown: the main content as clean Markdown (or mode: "full"), real tables, code blocks, metadata from meta tags and JSON-LD (author, dates, language, canonical URL), PDFs as text by page, RSS feeds as item lists, optionally each page's links. Results come back in request order, each either ok: true with the page or ok: false with an error code and message (bot check, unreachable, unsupported content), so one bad URL does not spoil the batch. Each page is cut at max_chars_per_page (default 20,000); next_calls continue a long page with scrape_markdown. If no page at all can be read, the call fails and is not charged. JavaScript is not executed. No account or API key. Costs $0.008 USDC per call via x402 ($0.002 per page when read one by one). Paid per call with x402 inside MCP (see the server instructions).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| via | No | Optional: the tool whose next_calls suggested this call (filled in for you). | |
| mode | No | main (default): each page's article or main content only. full: whole pages, including navigation and footers. | main |
| urls | Yes | 2-5 different public http(s) URLs to read, e.g. ["https://example.com/pricing", "https://example.com/docs"]. Results come back in the same order. | |
| include_links | No | Also return each 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. | |
| max_chars_per_page | No | Return at most this many characters of each page (1,000-50,000, default 20,000). Read the rest of a long page with scrape_markdown and its next_offset. |