# HARS-Zero Signal URL Fetch & Content Extraction API

> HARS-Zero Signal URL Fetch & Content Extraction API is a paid API for AI agents from hars.cryptotavern.xyz, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-14).

Fetches a URL and returns clean markdown content plus structured metadata (title, canonical URL, OG tags, content type, confidence score, and optional next-best-action hint) for AI agent consumption.

## Facts

- Endpoint: GET https://hars.cryptotavern.xyz/paid/fetch
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hars-zero-signal-url-fetch-content-extraction-api-945db9c1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_q9imLk2Yf7sF2QL_uJZ4O

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 hars-zero-signal-url-fetch-content-extraction-api-945db9c1
```

Example prompt: Fetch the content of https://techcrunch.com/2025/01/15/openai-latest-news/ and give me the title, a clean markdown version of the article, and what the OG description says.

## When to prefer this

Choose this endpoint when an AI agent needs to fetch and read arbitrary live web content without managing API keys or subscriptions, especially in high-volume loops where sub-cent per-call pricing matters. It is ideal when you need both clean readable markdown AND structured metadata (OG tags, canonical URL, confidence score) in a single call. Prefer it over generic HTTP fetch when you want the content pre-processed into markdown with structured fields your agent can act on directly. The built-in next_best_action hint makes it useful in multi-step agent pipelines that need guidance on follow-up calls.

## Known failure modes

- Target URL is unreachable or returns a non-200 status — status field will reflect the HTTP error code
- Page content is too large and gets truncated — truncated field set to true with partial markdown
- URL is malformed or not a valid URI — request validation error
- Target site blocks crawlers — may return empty or low-confidence markdown
- Confidence score near 0 indicating extraction was unreliable
- Payment via x402 fails or is rejected — 402 response before content is returned

## How this service works

Utility API for AI agents — fetch URLs, extract structured HTML,
summarize text, get live FX rates, and geocode addresses. Pay per call
in USDC on Base or Solana via x402. No API keys, no subscriptions.
Sub-cent pricing optimized for high-volume agent loops.

## Output

Returns a JSON object containing: the resolved URL, page title, clean markdown of the page body, OG image URL, OG description, canonical URL, content-type, HTTP status code, page size in bytes, RFC3339 as_of timestamp, a boolean truncated flag, a confidence score (0.0–1.0), optional arrays of risk strings and evidence URLs, optional Polymarket market_ids, and an optional next_best_action object suggesting a follow-up endpoint with reasoning and price.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "as_of",
  "url",
  "title",
  "markdown"
 ],
 "properties": {
  "url": {
   "type": "string",
   "format": "uri"
  },
  "size": {
   "type": "integer"
  },
  "as_of": {
   "type": "string",
   "format": "date-time",
   "description": "RFC3339 timestamp"
  },
  "risks": {
   "type": "array",
   "items": {
    "type": "string"
   }
  },
  "title": {
   "type": "string"
  },
  "status": {
   "type": "integer"
  },
  "product": {
   "type": "string"
  },
  "evidence": {
   "type": "array",
   "items": {
    "type": "string",
    "format": "uri"
   },
   "description": "Polymarket order book / event / reference URLs"
  },
  "markdown": {
   "type": "string"
  },
  "og_image": {
   "type": "string"
  },
  "canonical": {
   "type": "string"
  },
  "final_url": {
   "type": "string",
   "format": "uri"
  },
  "truncated": {
   "type": "boolean"
  },
  "confidence": {
   "type": "number",
   "maximum": 1,
   "minimum": 0,
   "description": "Model confidence 0.0-1.0"
  },
  "market_ids": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Polymarket slugs or ids referenced in this response"
  },
  "content_type": {
   "type": "string"
  },
  "og_description": {
   "type": "string"
  },
  "next_best_action": {
   "type": "object",
   "properties": {
    "why": {
     "type": "string"
    },
    "endpoint": {
     "type": "string"
    },
    "price_usd": {
     "type": "number"
    },
    "product_id": {
     "type": "string"
    }
   }
  }
 },
 "description": "URL -> clean markdown + metadata."
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "as_of",
  "url",
  "title",
  "markdown"
 ],
 "properties": {
  "url": {
   "type": "string",
   "format": "uri"
  },
  "size": {
   "type": "integer"
  },
  "as_of": {
   "type": "string",
   "format": "date-time",
   "description": "RFC3339 timestamp"
  },
  "risks": {
   "type": "array",
   "items": {
    "type": "string"
   }
  },
  "title": {
   "type": "string"
  },
  "status": {
   "type": "integer"
  },
  "product": {
   "type": "string"
  },
  "evidence": {
   "type": "array",
   "items": {
    "type": "string",
    "format": "uri"
   },
   "description": "Polymarket order book / event / reference URLs"
  },
  "markdown": {
   "type": "string"
  },
  "og_image": {
   "type": "string"
  },
  "canonical": {
   "type": "string"
  },
  "final_url": {
   "type": "string",
   "format": "uri"
  },
  "truncated": {
   "type": "boolean"
  },
  "confidence": {
   "type": "number",
   "maximum": 1,
   "minimum": 0,
   "description": "Model confidence 0.0-1.0"
  },
  "market_ids": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Polymarket slugs or ids referenced in this response"
  },
  "content_type": {
   "type": "string"
  },
  "og_description": {
   "type": "string"
  },
  "next_best_action": {
   "type": "object",
   "properties": {
    "why": {
     "type": "string"
    },
    "endpoint": {
     "type": "string"
    },
    "price_usd": {
     "type": "number"
    },
    "product_id": {
     "type": "string"
    }
   }
  }
 },
 "description": "URL -> clean markdown + metadata."
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hars-zero-signal-url-fetch-content-extraction-api-945db9c1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hars.cryptotavern.xyz](https://www.zero.xyz/host/hars.cryptotavern.xyz/llms.txt)
