{"uid":"cap_8dbv33ORx3kT-EdIuWWqW","slug":"webread-7fbc52c5","name":"WebRead","description":"Read any public web page as clean Markdown for LLMs: main content only, absolute links, title/description/lang metadata. Respects robots.txt; only successful reads are charged.","url":"https://webread.agentgate.workers.dev/v1/read?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Absolute http(s) URL of a public web page (HTML or plain text)"},"maxChars":{"type":"integer","maximum":200000,"minimum":100,"description":"Truncate the Markdown to this many characters (default 200000)"}},"description":"Search intents: url to markdown, web page to markdown api, web scraper for llm, html to markdown, read web page api, extract article text"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"url":{"type":"string"},"lang":{"type":"string"},"chars":{"type":"number"},"links":{"type":"number"},"title":{"type":"string"},"robots":{"type":"string"},"status":{"type":"number"},"fetchMs":{"type":"number"},"finalUrl":{"type":"string"},"markdown":{"type":"string"},"canonical":{},"fetchedAt":{"type":"string"},"redirects":{"type":"number"},"truncated":{"type":"boolean"},"wordCount":{"type":"number"},"contentType":{"type":"string"},"description":{},"sourceBytes":{"type":"number"}}}}}}},"responseSchema":{"type":"json","example":{"url":"https://example.com/","lang":"en","chars":156,"links":0,"title":"Example Domain","robots":"allowed","status":200,"fetchMs":17,"finalUrl":"https://example.com/","markdown":"This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.","canonical":null,"fetchedAt":"2026-10-21T21:32:28.690Z","redirects":0,"truncated":false,"wordCount":25,"contentType":"text/html; charset=utf-8","description":null,"sourceBytes":577}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_CV5lyFkRZtogPhdfEXzWL","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches any public web page and returns its main content as clean, LLM-ready Markdown with title, description, language metadata, and absolute links.","exampleAgentPrompt":"Can you read the article at https://www.bbc.com/news/world-us-canada-68000001 and give me a clean summary — just the main content, no ads or nav clutter?","exampleUseCases":[{"title":"Summarize a news article from URL","prompt":"Grab the full text of this article at https://www.nytimes.com/2024/05/01/technology/openai-gpt5.html and summarize the key points for me."},{"title":"Extract pricing page for competitor research","prompt":"Read https://www.notion.so/pricing for me and pull out all the plan names, prices, and features so I can compare them to ours."},{"title":"Monitor a documentation page for changes","prompt":"Fetch the content of https://docs.stripe.com/changelog as clean text so I can check if anything new was added since last week."}],"resultDescription":"A JSON object containing: the final URL after redirects, the page's main content as clean Markdown (up to 200,000 characters), page title, meta description, language code, link count, word count, character count, HTTP status, fetch duration in milliseconds, content type, robots.txt status, canonical URL, fetch timestamp, redirect count, and a truncated flag indicating if the content was cut off.","failureModes":["URL is blocked by robots.txt — returns robots: 'disallowed' and no Markdown; not charged","URL is not reachable or returns a non-200 status — fetch fails; not charged","Invalid or non-absolute URL provided — validation error before fetch","Page is behind authentication or a paywall — returns partial or empty content","Timeout fetching a slow server — may return error without charge","maxChars out of allowed range (100–200000) — schema validation error"],"whenToPreferThis":"Choose WebRead when you need to extract the readable main content of a specific public web page as clean Markdown for an LLM — especially when you want noise-free output (no navbars, ads, or boilerplate HTML) with guaranteed absolute links and structured metadata. It is ideal for one-shot article reads, documentation fetches, or any workflow where a downstream LLM needs digestible page content. It respects robots.txt and only charges on successful reads, making it safe and cost-efficient. Prefer it over raw HTTP fetch when you need LLM-ready text rather than raw HTML.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T06:38:16.656Z","isFirstParty":false,"canonicalSlug":"webread-7fbc52c5"}