Fetch a URL: page text, document, or resource
fetchRetrieve a URL's text content as Markdown, or a description of non-text resources. Ideal for reading known pages, verifying claims, or identifying files before further processing.
Instructions
Fetch one URL: page text, or a description of a non-text resource.
Handles any http(s) resource, not just HTML:
- HTML pages -> reader-mode Markdown (nav/footer/scripts stripped).
- PDF/DOCX/XLSX/PPTX/EPUB/CSV/code/archives -> parsed text (same engine as
`read_doc`, which you should prefer when you need pagination).
- Images, video, audio, fonts, opaque binaries -> a description
(media type, byte size, dimensions, sha256), NOT the bytes.
Best for:
- You already have a URL (from `search`, the user, or your own knowledge)
and need the actual page text.
- Verifying a single claim by reading the source.
- Checking what a resource IS before deciding to spend tokens on it.
Not recommended for:
- Multiple URLs at once -> use `fetch_batch` (concurrent, one round-trip).
- "Search then read top N" -> use `research` (one call, not two).
- Long documents you need to page through -> use `read_doc` (start/length).
- You don't have a URL yet -> use `search` first.
Returns:
- markdown (default): a small header (URL, render method, token count)
plus the cleaned page body.
- json: {url, title, content, method, truncated, tokens_estimated,
author, published_date, sitename}, plus {media_type, bytes_size, sha256,
width, height} for non-text resources.
- With `inline=True` on an image: the image itself, viewable by a
vision-capable model.
Common mistakes:
- Passing a search query instead of a URL.
- Using `render="http"` on a JS-only SPA — it returns near-empty content;
use "auto" (default) or "browser".
- Setting `inline=True` on a large image out of habit. A 1MB image costs
well over a thousand tokens; fetch it plainly first and inline only if
the description says it's worth looking at.
- Forgetting that results are cached 7 days — use `force_refresh=True`
or `max_age_hours=0` for a fresh pull.
Args:
url: Absolute http(s) URL.
render: "auto" (try HTTP, fall back to stealth Chromium), "http"
(fast, fails on JS), "browser" (slow, robust).
force_refresh: Bypass the page cache entirely.
max_age_hours: Treat cached pages older than this as a miss. 0 = same
as force_refresh. None = server default TTL (7 days).
inline: For images only — return the image itself instead of a
description, so a vision-capable model can see it. Ignored for
text resources.
format: "markdown" or "json".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| format | No | markdown | |
| inline | No | ||
| render | No | auto | |
| force_refresh | No | ||
| max_age_hours | No |