# Echo Router – Tavily Web Extraction

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

Extracts and cleans structured text content from one or more web page URLs using Tavily, returning readable structured data from raw HTML.

## Facts

- Endpoint: POST https://echo.router.merit.systems/resource/tavily/extract
- Price: $0.008/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-extraction-cdf181ee
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_NiC12JBcI2-gedYemZmEA

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-extraction-cdf181ee -d '<json body>'
```

Example prompt: Extract the full readable content from https://www.bbc.com/news/technology-12345678 — use deep extraction and include any images found on the page.

## When to prefer this

Prefer this endpoint when you need to extract clean, readable text content from known URLs rather than discovering URLs via search. It is ideal when you already have a URL and want to parse its HTML into structured text, optionally capturing images and favicons. Use over a general search endpoint when the URL is already known and deep content extraction is the goal.

## Known failure modes

- URL is unreachable or returns a non-200 status — URL appears in failed_results with an error message
- Target site blocks crawlers — failed_result returned with access-denied error
- Invalid or malformed URL input — validation error or failed_result entry
- Timeout exceeded for slow-loading pages — URL may appear in failed_results
- Empty or JavaScript-only page with no extractable content — raw_content may be empty string

## How this service works

Extracts structured content from web pages using Tavily. Cleans and processes raw HTML into readable, structured text data.

## Output

Returns an array of results per URL, each containing the cleaned raw text content, optional images array, optional favicon URL, plus a list of any failed URLs with error messages, a request ID, and total response time.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "urls": {
   "type": "string"
  },
  "format": {
   "enum": [
    "markdown",
    "text"
   ],
   "type": "string"
  },
  "timeout": {
   "type": "number"
  },
  "extract_depth": {
   "enum": [
    "basic",
    "advanced"
   ],
   "type": "string"
  },
  "include_images": {
   "type": "boolean"
  },
  "include_favicon": {
   "type": "boolean"
  }
 }
}
```

## Response schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/echo-router-tavily-web-extraction-cdf181ee/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)
