# Web URL Context Distiller (BM25 Budget Control)

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

Fetches and compresses a webpage URL or raw HTML into compact, agent-ready tokens using markdown, structured, skeleton, or BM25-budget distillation modes.

## Facts

- Endpoint: GET https://github-audit.agentdiet.dev/v1/context-trimmer?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-21
- Activations on Zero: 0
- Provider: github-audit.agentdiet.dev
- Website: https://github-audit.agentdiet.dev
- Canonical page: https://www.zero.xyz/c/github-audit-agentdiet-dev-web-url-context-distiller-bm25-budget-0d4d027a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_nKXtVXa069GvqnQYai3wc

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 github-audit-agentdiet-dev-web-url-context-distiller-bm25-budget-0d4d027a
```

Example prompt: Fetch and distill https://stripe.com/docs/payments/quickstart into compact markdown, keeping it under 2000 tokens — use budget mode with the query 'payment integration'.

## When to prefer this

Use this endpoint when you need to feed web page content to an LLM but want to minimize token usage and cost — especially when the target page is long or contains boilerplate. Prefer it over raw web scraping when you need LLM-ready output (markdown, structured tables, or outline) rather than raw HTML. The BM25 budget mode is uniquely useful when you have a specific query focus and a strict token ceiling, allowing you to extract only the most relevant content from a page.

## Known failure modes

- URL is unreachable or returns a non-200 HTTP status — endpoint may return an error status
- HTML payload is too large or malformed, causing incomplete distillation
- max_tokens ceiling too low to produce meaningful output (minimum 20)
- BM25 query yields no matching content from the page
- Rate limiting or payment failure via x402 returns 402 status
- Paywalled or JavaScript-rendered pages may return incomplete content

## How this service works

Distill a URL or raw HTML payload with BM25 budget control (Live x402 v2, IETF MPP & MCP endpoint at https://github-audit.agentdiet.dev/v1/context-trimmer)

## Output

Returns a distilled version of the webpage in the requested mode (markdown, structured JSON, skeleton outline, or BM25 budget excerpt), along with ROI proof metrics including raw vs distilled token counts, compression ratio percentage, tokens saved, estimated LLM cost saved, and caching metadata.

## 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/github-audit-agentdiet-dev-web-url-context-distiller-bm25-budget-0d4d027a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from github-audit.agentdiet.dev](https://www.zero.xyz/host/github-audit.agentdiet.dev/llms.txt)
