{"uid":"cap_FFIHQPRRl6zfTADiIV3tB","slug":"agent-utility-suite-batch-web-scrape-scrape-batch-3760d76f","name":"Agent Utility Suite – Batch Web Scrape (scrape-batch)","description":"Read 2-5 public URLs as clean Markdown in one call: articles, docs, pricing pages, PDFs, feeds. Per page: main content, tables, code, author and dates, optional links; failures reported per URL so one bad page does not spoil the batch. Not charged when no page can be read. One payment instead of five. No account or API key. $0.008 USDC per call.","url":"https://x402-agent-api.onrender.com/api/v1/scrape-batch?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"via":{"type":"string","maxLength":64,"description":"Optional: the tool whose next_calls suggested this call (filled in for you)."},"mode":{"enum":["main","full"],"type":"string","default":"main","description":"main (default): each page's article or main content only. full: whole pages, including navigation and footers."},"urls":{"type":"array","items":{"type":"string","format":"uri","maxLength":2048},"maxItems":5,"minItems":2,"description":"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":{"type":"boolean","default":false,"description":"Also return each page's links as a list (url, text, internal). Default false."},"strip_link_urls":{"type":"boolean","default":false,"description":"Write links as plain text in the Markdown (keeps the text, drops the URLs) to save tokens. Default false."},"max_chars_per_page":{"type":"integer","default":20000,"maximum":50000,"minimum":1000,"description":"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."}}},"responseSchema":{"type":"json","example":{"failed":1,"results":[{"ok":true,"url":"https://example.com/","title":"Example Domain","offset":0,"source":"html","status":200,"markdown":"This domain is for use in documentation examples without needing permission. Avoid use in operations.\n\n[Learn more](https://iana.org/domains/example)","metadata":{"type":null,"image":null,"pages":null,"author":null,"language":"en","site_name":null,"description":null,"canonical_url":null,"modified_time":null,"published_time":null},"final_url":"https://example.com/","truncated":false,"char_count":149,"word_count":17,"next_offset":null,"total_chars":149,"content_type":"text/html","token_estimate":38},{"ok":false,"url":"https://example.org/missing","error":{"code":"UPSTREAM_FAILED","message":"The page returned HTTP 404."}}],"succeeded":1,"next_calls":[{"why":"Who runs this site's email, and which SaaS does its domain use?","tool":"domain_enrich","price":"$0.004","arguments":{"domain":"example.com"}}]}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.008","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.008/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_fL6RepQ9eUhosliWpwBLb","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.008","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches 2–5 public URLs simultaneously and returns each page as clean Markdown, with optional link extraction and per-page character limits.","exampleAgentPrompt":"Can you fetch the content of these three pages for me — https://example.com/pricing, https://example.com/docs, and https://example.com/about — and return just the main content of each as clean Markdown, with a max of 15,000 characters per page?","exampleUseCases":[{"title":"Compare competitor pricing pages","prompt":"Grab the main content from these four competitor pricing pages and give me clean Markdown for each so I can compare them side by side: https://acme.com/pricing, https://beta.com/pricing, https://gamma.com/plans, https://delta.io/pricing — limit each to 10,000 characters."},{"title":"Aggregate news articles for briefing","prompt":"Fetch the main article content from these three news URLs and return them as Markdown so I can summarize them: https://techcrunch.com/article-a, https://reuters.com/story-b, https://ft.com/story-c. Include any links on the pages too."},{"title":"Onboarding doc research across multiple pages","prompt":"Read the full content (not just the main section) of these two documentation pages — https://docs.stripe.com/payments and https://docs.stripe.com/connect — and return everything including navigation, up to 30,000 characters each."}],"resultDescription":"A JSON object with a results array (one entry per URL, in the same order as the input). Each successful entry contains: the page URL, HTTP status, page title, Markdown content (up to max_chars_per_page characters), word count, character count, token estimate, truncation flag, next_offset for reading more of a long page, source type, final URL after redirects, and rich metadata (author, language, description, canonical URL, published/modified time, OG image). Failed URLs include an error code and message. The top-level object also reports succeeded and failed counts, plus optional next_calls suggestions.","failureModes":["UPSTREAM_FAILED: one or more target URLs returned a non-200 HTTP status (e.g. 404, 403, 500) — that URL's result has ok:false with an error code","Payment required (402): the x402 payment was not provided or was invalid — retry with a valid PAYMENT-SIGNATURE header","Too few or too many URLs: the urls array must contain 2–5 items; providing 1 URL or more than 5 returns a validation error","Invalid URL format: any URL that is not a valid http/https URI will cause a validation error","Timeout: slow or unresponsive target servers may cause individual page fetches to fail with a timeout error","Content too large: pages exceeding 50,000 characters are truncated; use next_offset with the single-URL scrape endpoint to read the remainder"],"whenToPreferThis":"Use this endpoint when you need to fetch 2–5 distinct URLs in a single paid call, saving round-trips and cost compared to calling the single-URL scrape endpoint repeatedly. It is ideal when you already know the set of URLs you need (e.g. a company's pricing, docs, and about pages) and want their clean Markdown in one response. Prefer the single-URL endpoint for one page at a time, or when you need to paginate through a very long document using next_offset.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-10T06:43:53.796Z","isFirstParty":false,"canonicalSlug":"agent-utility-suite-batch-web-scrape-scrape-batch-3760d76f"}