# Animica Web Fetch API

> Animica Web Fetch API is a paid API for AI agents from animica.dev, paid per call via x402, $0.001794/call, status unknown (last checked 2026-09-15).

Fetches and extracts text content from any public web page URL, returning metadata, cleaned text, and optional raw HTML

## Facts

- Endpoint: POST https://animica.dev/x402/web/fetch
- Price: $0.001794/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/animica-web-fetch-api-de1ea58b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_U4fq4WlIX5gttyn5F_jH8

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 animica-web-fetch-api-de1ea58b -d '<json body>'
```

Example prompt: Fetch the content of https://techcrunch.com/2024/01/15/openai-update/ and extract the article text, limiting to 5000 characters so I can summarize it.

## When to prefer this

Use this endpoint when an AI agent needs to read the text content of any public webpage without a browser, particularly for summarization, fact-checking, or data extraction tasks. Prefer it over general web search when you already have the exact URL and need the full page content rather than a search snippet. It is also suitable when you need raw HTML alongside text, or when you want to follow redirects and know the final resolved URL.

## Known failure modes

- URL is not publicly accessible — returns non-200 status
- Network timeout fetching slow or unreachable pages
- URL requires authentication — returns 401 or 403
- Malformed or non-HTTP URL — validation error on required field
- Page returns no extractable text (e.g. JavaScript-rendered SPA) — text field may be empty
- Payment failure via x402 — call not executed
- max_chars too small — content truncated, body_truncated flag set

## How this service works

Fetch a public web page and return clean readable text with its title and metadata - the form a model can actually use, with navigation, scripts and styling removed. Follows up to 3 redirects, caps the download at 2000000 bytes and gives up after 15000ms. Reaches the PUBLIC internet only: the hostname is resolved and every redirect hop re-checked against private, loopback, link-local and CGNAT ranges, so this cannot read internal services or cloud metadata. Returns raw HTML too on request.

## Output

A JSON object containing: the original URL, the final URL after any redirects, HTTP status code, page title, meta description, extracted readable text, character and byte counts, content type, fetch timestamp, a list of redirects followed, flags for whether text or body was truncated, and optionally the raw HTML if requested.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "absolute http(s) URL of a public page"
  },
  "max_chars": {
   "type": "integer",
   "description": "truncate extracted text to this many characters"
  },
  "include_html": {
   "type": "boolean",
   "description": "also return raw HTML (default false)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json"
}
```

## More

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