# AgentRead > Clean web content for AI agents. Turns a public web page into clean Markdown plus metadata, headings and links. Pay per call with x402 (USDC on Base (eip155:8453)); no accounts or API keys. Failed extractions are not charged. ## Operations - [inspect_url](https://agentread.omar-cv.workers.dev/openapi.json): POST https://agentread.omar-cv.workers.dev/v1/inspect {"url": "..."}. Free. Reachability, status, content type, title, and whether extraction will work. - [extract_url](https://agentread.omar-cv.workers.dev/openapi.json): POST https://agentread.omar-cv.workers.dev/v1/extract {"url": "...", "maxCharacters"?: number, "includeLinks"?: boolean}. $0.003 per successful call. Clean Markdown, title, description, headings. - [extract_url_structured](https://agentread.omar-cv.workers.dev/openapi.json): POST https://agentread.omar-cv.workers.dev/v1/extract/structured, same input. $0.005 per successful call. Metadata (canonical URL, language, site name, byline, published time), Markdown, headings, links. ## Paying - Unpaid paid-endpoint requests return HTTP 402 with an x402 v2 `PAYMENT-REQUIRED` header. Retry with a `PAYMENT-SIGNATURE` header from an x402 client such as @x402/fetch. - MCP (Streamable HTTP, stateless): https://agentread.omar-cv.workers.dev/mcp. Tools: inspect_url (free), extract_url, extract_url_structured. Paid tools return an x402 PaymentRequired tool result; pay via _meta["x402/payment"] (e.g. @x402/mcp). ## Limits - Public http(s) URLs only, default ports, no IP literals or internal hosts. JavaScript is not executed. HTML and plain text only. ## Docs - [OpenAPI](https://agentread.omar-cv.workers.dev/openapi.json) - [Service index](https://agentread.omar-cv.workers.dev/) - [Source and README](https://github.com/omarhassanatef/agentread)