# URL to Markdown Web Distiller with BM25 Budget Control

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

Fetches a webpage by URL (or accepts raw HTML) and distills it into compact, token-efficient markdown, structured data, skeleton outline, or BM25-focused excerpt with configurable token budget ceiling.

## Facts

- Endpoint: GET https://cve-intel.agentdiet.dev/v1/url-to-markdown?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Provider: cve-intel.agentdiet.dev
- Website: https://cve-intel.agentdiet.dev
- Canonical page: https://www.zero.xyz/c/cve-intel-agentdiet-dev-url-to-markdown-web-distiller-with-bm25-aaadcb4d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_O4SBrOv3RCu_maoF6cdyJ

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 cve-intel-agentdiet-dev-url-to-markdown-web-distiller-with-bm25-aaadcb4d
```

Example prompt: Can you fetch https://stripe.com/docs/payments and distill it into compact markdown, keeping it under 2000 tokens and focusing on the query 'payment intents'?

## When to prefer this

Choose this endpoint when you need to reduce the token footprint of a webpage before passing it to an LLM, especially when working with large documentation pages, news articles, or any public URL where token cost is a concern. Prefer budget mode with a BM25 query when only a portion of the page is relevant to your task. Use structured mode when you need parseable tables or metadata rather than prose. This is especially useful for agents that routinely access web content and need predictable, budget-controlled context injection.

## Known failure modes

- Invalid or unreachable URL returns an error status
- Token budget too low (below 20) is rejected by schema validation
- Private/blocked URLs (firewalled or login-gated) may return empty or partial content
- Raw HTML input malformed may yield poor distillation quality
- Rate limiting or payment failure (x402) blocks the request
- Unsupported mode value returns a validation error

## How this service works

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

## Output

Returns a JSON object with 'data' containing the distilled content (markdown text, structured JSON, skeleton outline, or BM25-focused excerpt depending on mode), an 'roi_proof' object showing raw_tokens, distilled_tokens, tokens_saved, compression_ratio_pct, and llm_cost_saved_usd, a 'cache' object indicating HIT or MISS with latency, and a 'billing' object with the fee charged in USD.

## 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/cve-intel-agentdiet-dev-url-to-markdown-web-distiller-with-bm25-aaadcb4d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from cve-intel.agentdiet.dev](https://www.zero.xyz/host/cve-intel.agentdiet.dev/llms.txt)
