# HTML/URL Distiller with BM25 Budget Control

> HTML/URL Distiller with BM25 Budget Control is a paid API for AI agents from sec-intel.agentdiet.dev, paid per call via MPP, $0.001/call, status unknown (last checked 2026-10-23).

Fetches and distills a URL or raw HTML payload into token-efficient markdown, structured JSON, skeleton outline, or BM25-focused excerpt with ROI proof

## Facts

- Endpoint: POST https://sec-intel.agentdiet.dev/v1/clean-html?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Provider: sec-intel.agentdiet.dev
- Website: https://sec-intel.agentdiet.dev
- Canonical page: https://www.zero.xyz/c/sec-intel-agentdiet-dev-html-url-distiller-with-bm25-budget-control-f663916d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_iiGG5O_1saSdqWZhRX6oK

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 sec-intel-agentdiet-dev-html-url-distiller-with-bm25-budget-control-f663916d -d '<json body>'
```

Example prompt: Fetch https://stripe.com/docs/payments and distill it into clean markdown using budget mode, focused on 'payment intents', and cap the output at 500 tokens so I can pass only the relevant content to my LLM.

## When to prefer this

Choose this endpoint when an AI agent needs to consume web page content but must stay within token budgets, reduce LLM inference costs, or extract only query-relevant sections via BM25 ranking. It is especially valuable when passing live web content into an LLM context window, since the built-in ROI proof quantifies savings. Prefer it over raw fetch-and-pass approaches whenever token efficiency matters, or when you need structured JSON tables extracted from HTML rather than raw text.

## Known failure modes

- URL is unreachable or returns non-200 HTTP status — distillation fails with an error status
- HTML payload is empty or malformed beyond repair — returns empty or minimal distilled output
- max_tokens set too low (below 20) — rejected by schema validation
- BM25 query provided without mode=budget — query may be ignored or endpoint returns error
- Payment not attached or insufficient — HTTP 402 returned blocking execution
- Rate limiting or timeout fetching the target URL — error status returned

## How this service works

Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://sec-intel.agentdiet.dev/v1/clean-html)

## Output

Returns a JSON object containing the distilled content (markdown text, structured JSON tables/metadata, skeleton outline, or BM25-focused excerpt depending on mode), an ROI proof object showing raw token count, distilled token count, tokens saved, compression ratio percentage, and estimated LLM cost saved in USD, plus optional cache hit/miss status and billing details.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "url"
 ],
 "properties": {
  "url": {
   "type": "string",
   "minLength": 1,
   "description": "Target webpage URL to fetch and distill (or builtin://stripe-docs)"
  },
  "html": {
   "type": "string",
   "description": "Optional raw HTML string to distill directly without fetching"
  },
  "mode": {
   "enum": [
    "markdown",
    "structured",
    "skeleton",
    "budget"
   ],
   "type": "string",
   "default": "markdown",
   "description": "Distillation mode"
  },
  "query": {
   "type": "string",
   "description": "BM25 focus query when mode=budget"
  },
  "max_tokens": {
   "type": "integer",
   "minimum": 20,
   "description": "Strict token budget ceiling when mode=budget"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "status",
  "roi_proof",
  "data"
 ],
 "properties": {
  "data": {
   "type": "object",
   "description": "Distilled Markdown, structured JSON tables/metadata, skeleton outline, or BM25 budget excerpt."
  },
  "cache": {
   "type": "object",
   "properties": {
    "status": {
     "enum": [
      "HIT",
      "MISS"
     ],
     "type": "string"
    },
    "cache_key": {
     "type": "string"
    },
    "latency_ms": {
     "type": "number"
    }
   }
  },
  "status": {
   "type": "string",
   "description": "Execution status ('ok')"
  },
  "billing": {
   "type": "object",
   "properties": {
    "agent_id": {
     "type": "string"
    },
    "payment_method": {
     "type": "string"
    },
    "fee_charged_usd": {
     "type": "number"
    }
   }
  },
  "roi_proof": {
   "type": "object",
   "properties": {
    "raw_tokens": {
     "type": "integer"
    },
    "tokens_saved": {
     "type": "integer"
    },
    "roi_multiplier": {
     "type": "number"
    },
    "distilled_tokens": {
     "type": "integer"
    },
    "llm_cost_saved_usd": {
     "type": "number"
    },
    "compression_ratio_pct": {
     "type": "number"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sec-intel-agentdiet-dev-html-url-distiller-with-bm25-budget-control-f663916d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from sec-intel.agentdiet.dev](https://www.zero.xyz/host/sec-intel.agentdiet.dev/llms.txt)
