Skip to main content

Overview

web_fetch lets the agent make outbound HTTP requests. It supports all common HTTP methods, custom headers, request bodies, and can optionally extract readable text from HTML pages. Every request passes through SsrfGuard before execution - a defense layer that blocks private IP ranges, cloud metadata endpoints, and DNS rebinding attacks.

Tool: web_fetch

Security level: moderate | Tier: Essential
string
required
Full URL to fetch. Must be a valid http:// or https:// URL.
string
default:"GET"
HTTP method: GET, POST, PUT, DELETE.
object
Custom request headers as key-value pairs.
string
Request body for POST or PUT. Typically JSON-encoded.
number
default:"30"
Request timeout in seconds. Maximum enforced by server policy.
boolean
default:"false"
Extract readable text content from HTML pages (strips tags, navigation, scripts).

Examples

Response

A successful fetch returns:

Content Limits

Responses are capped at 500KB. Larger responses are truncated. For large downloads, consider fetching a specific resource path rather than a whole page.

SSRF Protection

The SsrfGuard blocks requests to: The guard resolves DNS before connecting to defend against DNS rebinding attacks. Redirect chains are re-validated at each hop, up to 5 redirects.
To allow specific internal hosts (e.g., for self-hosted integrations), add them to security.ssrfGuard.allowedHosts in your settings.yml.

Allowed Hosts Setting

Web Search

Search the web instead of fetching a specific URL.

Browser Tools

Interact with JavaScript-rendered pages using a real browser.