# Earn Tools Web Extractor

> Earn Tools Web Extractor is a paid API for AI agents from earn-tools-backend.onrender.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Fetches a public static webpage and returns clean markdown, metadata, word count, and links for agent research and RAG pipelines.

## Facts

- Endpoint: POST https://earn-tools-backend.onrender.com/web-extract
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/earn-tools-web-extractor-b6dea840
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Ca8_D3z2nFAXhulCvB849

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 earn-tools-web-extractor-b6dea840 -d '<json body>'
```

Example prompt: Fetch the content of https://en.wikipedia.org/wiki/Large_language_model and convert it to clean markdown with links included, keeping it under 60000 characters.

## When to prefer this

Choose this endpoint when you need cheap, fast extraction of a single public static webpage into markdown for RAG ingestion, agent research, or summarization — particularly in pay-per-call autonomous agent pipelines using x402 micropayments. Prefer it over browser-automation tools when JavaScript rendering is not required and cost matters. At $0.003 per call it is suited for high-volume document ingestion workflows.

## Known failure modes

- Non-public or paywalled URLs return an error or empty content
- Dynamic JavaScript-rendered pages may return incomplete content since only static HTML is fetched
- URLs exceeding the max_chars limit will be truncated at the specified character ceiling
- Invalid or malformed URLs return a validation error
- Pages that block scrapers via robots.txt or IP filtering may fail silently or return partial content
- Network timeouts on slow or unreachable hosts

## How this service works

Low-cost x402 pay-per-call tools for autonomous buyers. Web extraction returns static public pages as clean markdown; every payable operation declares x-payment-info and a 402 response. Free betas: Agent Purchase Guard adds retry-safe purchase intent controls; Outcome Router accepts a desired result plus max budget and autonomously discovers fulfillment, tries zero-dollar proof-of-work first, and supports buyer-signed x402 paid execution where available.

Buyer-signed paid HYDRA execution
- Outcome request: POST https://earn-tools-backend.onrender.com/outcome-router
- Paid execution: POST https://earn-tools-backend.onrender.com/outcome-router/execute/{requestId}
- First execution call returns the relayed Agent402 Smart Order Router x402 PAYMENT-REQUIRED challenge.
- An x402-capable buyer wallet signs locally and retries with PAYMENT-SIGNATURE.
- HYDRA forwards the proof and returns the routed result.
- HYDRA never receives the buyer private key or uses owner working capital.
- Current beta platform fee: $0. Higher paid tiers are not auto-escalated.

## Output

Returns a JSON object with ok status, page title, final resolved URL, full markdown body, word count, extraction mode (static_html), and an untrustedContent flag warning that the page content is attacker-controllable.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri"
  },
  "max_chars": {
   "type": "integer",
   "default": 60000,
   "maximum": 150000,
   "minimum": 1000
  },
  "include_links": {
   "type": "boolean",
   "default": true
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "result": {
   "title": "Example Domain",
   "finalUrl": "https://example.com/",
   "markdown": "# Example Domain\n\n...",
   "wordCount": 20,
   "extractionMode": "static_html",
   "untrustedContent": true
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/earn-tools-web-extractor-b6dea840/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from earn-tools-backend.onrender.com](https://www.zero.xyz/host/earn-tools-backend.onrender.com/llms.txt)
