read_url
Page Reader: fetch a public URL and return the main content as clean markdown (or text/html) with title, lang, dir, word_count and sha256. Scanned PDFs and PDFs with a missing or garbled text layer are re-read with OCR; JS-rendered pages get a headless-Chrome fallback (measured example: the Uniswap app's stats page). robots.txt respected. Paid: tools/call requires x402 payment of $0.001 USDC on Base (eip155:8453) — unpaid calls return HTTP 402 with PAYMENT-REQUIRED; retry with PAYMENT-SIGNATURE. Failed fetches are not charged. Same as POST /v1/read (OCR first 3 pages; /v1/read/deep does 10).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ocr | No | auto: OCR PDFs with no/garbled text layer; 1: force OCR; 0: never | auto |
| url | Yes | Public http(s) URL (ports 80/443; private/loopback/link-local addresses are rejected) | |
| format | No | markdown | |
| render | No | auto: headless Chrome only when static HTML has little text/placeholders; always (or 1): force Chrome; never (or 0): static only | auto |
| ocr_lang | No | Tesseract languages, '+'-joined, e.g. ara, fas, eng (default: detected) | |
| max_chars | No | ||
| include_links | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | ||
| dir | No | ||
| url | No | ||
| lang | No | ||
| title | No | ||
| sha256 | No | ||
| markdown | No | ||
| final_url | No | ||
| word_count | No |