# Echo Router – Tavily Web Crawler

> Echo Router – Tavily Web Crawler is a paid API for AI agents from echo.router.merit.systems, paid per call via x402, $0.12/call, status unknown (last checked 2026-09-15).

Crawls a website starting from a given URL and extracts raw content from multiple pages with configurable depth, breadth, and path filters.

## Facts

- Endpoint: POST https://echo.router.merit.systems/resource/tavily/crawl
- Price: $0.12/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/echo-router-tavily-web-crawler-172a9091
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_C_pkD7XH38G5F22Cck-2q

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 echo-router-tavily-web-crawler-172a9091 -d '<json body>'
```

Example prompt: Can you crawl https://docs.example.com up to 3 levels deep, limit it to 50 pages, only include paths under /guides and /api, and give me the raw text content of every page you find?

## When to prefer this

Use this endpoint when you need to extract content from multiple pages of a website in a single call rather than scraping pages one at a time. It is ideal for indexing documentation sites, gathering all content from a domain for RAG pipelines, or bulk content extraction with fine-grained path and depth control. Prefer this over a single-page extractor when the task involves traversing links and collecting content across an entire domain or subdirectory.

## Known failure modes

- Invalid or unreachable URL returns an error or empty results array
- Depth/breadth limits exceeded causing truncated crawl
- Excluded paths block all accessible content resulting in empty results
- Rate limiting or bot protection on target site causing partial or failed crawl
- Malformed input schema (wrong types for limit, max_depth) causes request rejection

## How this service works

Crawls websites and extracts content using Tavily's web crawler. Retrieves and processes multiple pages from a domain with configurable depth and filters.

## Output

An array of crawled pages each containing the page URL and raw extracted text content, plus the base URL crawled, a unique request ID, and the total response time in seconds.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string"
  },
  "limit": {
   "type": "integer"
  },
  "format": {
   "enum": [
    "markdown",
    "text"
   ],
   "type": "string"
  },
  "max_depth": {
   "type": "integer"
  },
  "max_breadth": {
   "type": "integer"
  },
  "instructions": {
   "type": "string"
  },
  "select_paths": {
   "type": "array"
  },
  "exclude_paths": {
   "type": "array"
  },
  "extract_depth": {
   "enum": [
    "basic",
    "advanced"
   ],
   "type": "string"
  },
  "allow_external": {
   "type": "boolean"
  },
  "include_images": {
   "type": "boolean"
  },
  "select_domains": {
   "type": "array"
  },
  "exclude_domains": {
   "type": "array"
  },
  "include_favicon": {
   "type": "boolean"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "results": {
  "type": "array",
  "items": {
   "type": "object",
   "required": [
    "url",
    "raw_content"
   ],
   "properties": {
    "url": {
     "type": "string"
    },
    "favicon": {
     "type": "string"
    },
    "raw_content": {
     "type": "string",
     "nullable": true
    }
   },
   "additionalProperties": false
  }
 },
 "base_url": {
  "type": "string"
 },
 "request_id": {
  "type": "string"
 },
 "response_time": {
  "type": "number"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/echo-router-tavily-web-crawler-172a9091/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from echo.router.merit.systems](https://www.zero.xyz/host/echo.router.merit.systems/llms.txt)
