# Animica Web Search

> Animica Web Search is a paid API for AI agents from animica.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-11).

Searches the live web via multiple engines and returns deduplicated, ranked results with titles, URLs, snippets, and engine attribution — pay-per-query with no account required.

## Facts

- Endpoint: POST https://animica.dev/x402/search?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/animica-web-search-b1bdd5cb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vQ029i4GXQnXHqTUpiWZo

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-search-b1bdd5cb -d '<json body>'
```

Example prompt: Search the web for 'best practices for securing a Kubernetes cluster' and give me the top 5 results in English — titles, URLs, and snippets.

## When to prefer this

Choose this endpoint when an AI agent needs live web results mid-task without pre-arranging API credentials or subscriptions. It is ideal for one-off lookups where you want multi-engine coverage, transparent engine attribution, and guaranteed non-payment on empty results. Prefer it over single-engine APIs when deduplication across sources and coverage transparency matter. It is well-suited for agents that need to verify current facts, find documentation, or retrieve recent news with minimal setup overhead.

## Known failure modes

- No engine responds — request fails with an error and the caller is not charged
- Query string is empty or exceeds 400 characters — validation error
- Limit parameter is outside the 1–20 range — validation error
- Some engines unavailable — response returns with degraded:true and lists unavailable engines, but partial results are still returned
- Payment failure via x402 protocol — request not processed

## How this service works

Animica Python Cloud: deploy a Python function to animica.dev, get a public endpoint, and earn ANM every time someone runs it. Free AI (OpenAI-compatible, no key), free scheduled Workers, and an 80/20 developer split.

## Output

A JSON object containing: the original query, total result count, list of engines that were queried, and an array of ranked results — each with URL, title, snippet, rank, engine attribution, and optional published date. Also includes response time in milliseconds, a degraded flag if some engines were unavailable, the names of unavailable engines, a deduplicated result count before deduplication, and a timestamp. If no engine responds, the request fails and no charge is made.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "lang": {
   "type": "string",
   "description": "two-letter language hint, e.g. en"
  },
  "limit": {
   "type": "integer",
   "description": "results to return, 1..20 (default 10)"
  },
  "query": {
   "type": "string",
   "description": "what to search for (1..400 characters)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 3,
  "query": "erc20 token standard",
  "engines": [
   "google cse",
   "duckduckgo"
  ],
  "results": [
   {
    "url": "https://ethereum.org/developers/docs/standards/tokens/erc-20",
    "rank": 1,
    "title": "ERC-20 Token Standard | ethereum.org",
    "engines": [
     "google cse",
     "duckduckgo"
    ],
    "snippet": "The ERC-20 introduces a standard for Fungible Tokens, in other words, they have a property that makes each Token be exactly the same (in type and value) as ...",
    "published": null
   },
   {
    "url": "https://eips.ethereum.org/EIPS/eip-20",
    "rank": 2,
    "title": "ERC-20: Token Standard - Ethereum Improvement Proposals",
    "engines": [
     "google cse",
     "duckduckgo"
    ],
    "snippet": "There are already plenty of ERC20-compliant tokens deployed on the Ethereum network. Different implementations have been written by various teams that have different trade-offs: from gas saving to improved security.",
    "published": null
   },
   {
    "url": "https://docs.openzeppelin.com/contracts/4.x/erc20",
    "rank": 3,
    "title": "ERC20 | OpenZeppelin Docs",
    "engines": [
     "google cse"
    ],
    "snippet": "An ERC20 token contract keeps track of fungible tokens: any one token is exactly equal to any other token; no tokens have special rights or behavior ...",
    "published": null
   }
  ],
  "took_ms": 1135,
  "degraded": true,
  "provider": "searxng",
  "searched_at": "2026-08-21T22:50:05.357Z",
  "unavailable_engines": [
   "brave",
   "startpage"
  ],
  "results_before_dedupe": 28
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/animica-web-search-b1bdd5cb/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)
