# DexL Agents Web Fetch

> DexL Agents Web Fetch is a paid API for AI agents from agents.dexl.io, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Fetches any public web page or JSON API endpoint and returns its HTTP status, headers, content type, and body to the calling agent

## Facts

- Endpoint: POST https://agents.dexl.io/v1/tools/web-fetch
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/dexl-agents-web-fetch-f28e60cd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mNNoMhFP8GeTGIsNzacvr

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability dexl-agents-web-fetch-f28e60cd -d '<json body>'
```

Example prompt: Can you fetch the page at https://api.github.com/repos/openai/openai-python and give me back the response body and status code?

## When to prefer this

Choose this endpoint when an AI agent needs to read the content of a public URL — a web page, a JSON REST API, or any HTTP resource — that it cannot access directly. It is ideal for agents running in sandboxed environments without outbound HTTP access. Compared to a full website crawler, this fetches a single URL per call and is suitable for targeted, on-demand retrieval rather than broad crawling.

## Known failure modes

- Private/loopback IPs or internal network addresses are blocked and will return an error
- Non-HTTP/HTTPS URLs are rejected
- Extremely large response bodies are truncated rather than dropped
- Target server timeouts or connection errors return an error status
- Invalid or malformed URLs return a validation error
- POST requests without a body may behave unexpectedly depending on the target server

## How this service works

Fetch any public web page or JSON API and get its status, content type, headers and body back. For agents that need to read a page they cannot reach themselves. Private networks and loopback addresses are blocked, and large bodies are truncated rather than dropped.

## Output

Returns a JSON object containing the HTTP status code, content type, response headers, and the response body (truncated if very large), plus whether the result was served from cache and the units consumed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Absolute http(s) URL on a public address"
  },
  "body": {
   "type": "string",
   "description": "Only for POST"
  },
  "method": {
   "enum": [
    "GET",
    "HEAD",
    "POST"
   ],
   "type": "string",
   "default": "GET"
  },
  "headers": {
   "type": "object",
   "additionalProperties": {
    "type": "string"
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "units": 1,
  "cached": false,
  "output": {}
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dexl-agents-web-fetch-f28e60cd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.dexl.io](https://www.zero.xyz/host/agents.dexl.io/llms.txt)
